<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    all gone

    all gone

    #

    Eclipse下Struts開發(fā)入門

     

    1.開發(fā)環(huán)境
       開發(fā)之前首先應(yīng)該準(zhǔn)備好開發(fā)環(huán)境,Eclipse 3.X是一個不錯的Java IDE,有很多插件可以供我們選擇,服務(wù)器用Tomcat就行了。安裝好Eclipse和Tomcat之后,還需要兩個插件:tomcat 插件和Struts插件,以下是相關(guān)下載地址:
         Eclipse SDK:
            http://www.eclipse.org/downloads/index.php
        Struts:
         https://sourceforge.jp/projects/amateras/files/         StrutsIDE+htmlEditor,htmlEditer也是必要的
        Tomcat :
             http://www.sysdeo.com/eclipse/tomcatplugin
        Plugin Search:
             http://eclipse-plugins.2y.net/eclipse/search.jsp
       插件的安裝和配置有問題請直接Google。
    2.開始
        入門嘛,我們就找一個最簡單的Login就可以了

        新建Tomcat project,如下圖

        加入struts支持
        新建一個FormBean:LoginForm


    /**
     *
     */
    package com.test;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;

    /**
     * @author lzy
     *
     */
    public class LoginForm extends ActionForm {

     private String name=null;
     private String password=null;
     /* (non-Javadoc)
      * @see org.apache.struts.action.ActionForm#reset(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest)
      */
     @Override
     public void reset(ActionMapping arg0, HttpServletRequest arg1) {
      // TODO Auto-generated method stub
      name=null;
      password=null;
     }
     /* (non-Javadoc)
      * @see org.apache.struts.action.ActionForm#validate(org.apache.struts.action.ActionMapping, javax.servlet.http.HttpServletRequest)
      */
     @Override
     public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
      // TODO Auto-generated method stub
    ActionErrors errors=new ActionErrors();
      
      if(name==null||name.length()<1){
       errors.add("username",new ActionMessage("errors.login.name.empty"));
       
      }
      if(password==null||password.length()<1){
       errors.add("password",new ActionMessage("errors.login.password.empty"));
       
      }
      
      return errors;
     }
     /**
      * @return Returns the name.
      */
     public String getName() {
      return name;
     }
     /**
      * @param name The name to set.
      */
     public void setName(String name) {
      this.name = name;
     }
     /**
      * @return Returns the password.
      */
     public String getPassword() {
      return password;
     }
     /**
      * @param password The password to set.
      */
     public void setPassword(String password) {
      this.password = password;
     }
    }

     

     

         新建一個Action:LoginAction

    /**
     *
     */
    package com.test;


    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import org.apache.struts.*;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;

    /**
     * @author lzy
     *
     */
    public class LoginAction extends Action {
     public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception {
      // TODO Auto-generated method stub
      LoginForm loginForm=(LoginForm)actionForm;
      String name=loginForm.getName();
      String password=loginForm.getPassword();


     if(name.equals("name")&&password.equals("password")){
       HttpSession session=request.getSession(true);
       session.setAttribute("LOGGED_USER",name);

       
       return mapping.findForward("success");
       
      }
      else{
       ActionMessages errors=new ActionMessages();
       errors.add("login.failure",new ActionMessage("errors.login.failure")); 
       this.saveErrors(request,errors);
       
       return mapping.findForward("failure"); 
       
      }
      
     }

    }

         新建兩個JSP頁面,login.jsp,index.jsp

    login.jsp
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-tiles" prefix="tiles" %>

    <html:html>
     <head>
      <html:base />
              </head>
     <body>
     <center>
     <html:errors />
      <html:form action="/login.do" method="POST">
      <table border="1">
       <tr>
        <td colspan="2"><bean:message key="login.jsp.form.title"/></td>
       </tr>
       <tr>
        <td align="right"><bean:message key="login.jsp.name"/></td>
        <td><html:text property="name" size="20"></html:text></td>
       </tr>
       <tr>
        <td align="right"><bean:message key="login.jsp.password"/></td>
        <td><html:password property="password" size="20"></html:password></td>
       </tr>
       <tr>
        <td colspan="2">
         <html:submit><bean:message key="form.submit"/></html:submit>
         <html:reset><bean:message key="form.reset"/></html:reset>
        </td>
       </tr>
     
      </table>
     
      </html:form>
      
     </center>
     </body>
    </html:html>


    index.jsp


    <%@ page contentType="text/html; charset=GBK" %>
    <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
    <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
    <%@ taglib uri="/tags/struts-html" prefix="html" %>
    <%@ taglib uri="/tags/struts-nested" prefix="nested" %>

    <html:html>
     <head>
      <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
      <title></title>
     </head>
     <body>
     hello
      <logic:present name="LOGGED_USER">,<bean:write name="LOGGED_USER"/>
      </logic:present>
     </body>
    </html:html>


         編輯WEB-INF/lib下的struts-config.xml

    struts-config.xml

    <?xml version="1.0"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "<struts-config>
      <data-sources>
      </data-sources>
      <form-beans>
        <form-bean name="loginForm" type="com.lzy.LoginForm"/>
      </form-beans>
      <global-exceptions>
      </global-exceptions>
      <global-forwards>
      </global-forwards>
      <action-mappings>
          <action path="/login" name="loginForm" type="com.lzy.LoginAction" scope="session" validate="true" input="/login.jsp">
          <forward name="failure" path="/login.jsp"/>
          <forward name="success" path="/index.jsp"/>
        </action>
      </action-mappings>
      <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
      <message-resources parameter="MessageResources"/>

    </struts-config>


           最后是資源文件

    # -- standard errors --
    errors.header=<UL><font color="red"><h2>Errors:</h2>
    errors.prefix=<LI>
    errors.suffix=</LI>
    errors.footer=</font></UL><hr>


    form.submit=Submit

    form.reset=Reset


    # -- login.jsp --
    login.jsp.title=Login
    login.jsp.form.title=Login
    login.jsp.name=Name:
    login.jsp.password=Password:

    # -- login errors --
    errors.login.name.empty=The name can not be empty!
    errors.login.password.empty=The password can not be empty!
    errors.login.failure=Login failed!<br> Please check your username and password!

     

    3.測試
    在test工程中選擇tomcat project->Update context definition
    然后運(yùn)行Tomcat
    http://127.0.0.1:8080/test/login.jsp


      

    posted @ 2005-12-10 11:10 all gone 閱讀(1216) | 評論 (0)編輯 收藏

    Java Web Service 之SOAP入門

          這幾天在圖書館看到了一本書《Java SOAP編程指南》,出于對正興起的web service的好奇,借了回來。看了一下SOAP的介紹,沒太明白,只知道是Simple Object Access Protocol,和XML結(jié)合可以提供跨平臺的服務(wù)。
           編程的人總有這么一個愛好,開始的時候總要拿一個HelloWorld似的例子試試,我也不例外。 要試當(dāng)然要有SOAP的運(yùn)行環(huán)境。按照書上的指示,裝好了Tomcat,下載了相關(guān)的包,將soap.jar ,mail.jar,activatio.jar,xercesImpl.jar 加入到了環(huán)境變量classpath中,將soap.war拷貝到了TOMCAT的webapps目錄下。
           運(yùn)行SOAP的測試目錄:HTTP://127.0.0.1:8080/soap/發(fā)現(xiàn)soap已經(jīng)正常工作。 接著便是部署新的SOAP服務(wù)了,按照書上的源碼,寫好了測試用的部署類和客戶端類,編譯通過。在部署新的SOAP的web頁面下按照書上的步驟添好表單并部署完成。將測試所在目錄添加到classpath中。 重啟tomcat。 運(yùn)行剛才編譯好的客戶端類,結(jié)果NoClassDefError。
           試了好幾遍,都是這樣,很是讓我郁悶啊。 看了另一本書《java web服務(wù)應(yīng)用開發(fā)詳解》終于找到了答案: 運(yùn)行客戶端測試程序時,***Client.class是在Package test中的 運(yùn)行時退回到test的上級目錄,java test.***Client 即可。 我想遇到類似問題,還是對java的包不熟悉。

    posted @ 2005-12-09 19:39 all gone 閱讀(620) | 評論 (0)編輯 收藏

    僅列出標(biāo)題
    共17頁: First 上一頁 7 8 9 10 11 12 13 14 15 下一頁 Last 
    主站蜘蛛池模板: 亚洲AV无码一区二区三区牲色| a级毛片毛片免费观看永久| 久久精品国产99国产精品亚洲| 亚洲国产成人手机在线观看| 国产在线观看免费视频软件| 成年女人免费v片| 亚洲精品少妇30p| 色婷婷六月亚洲综合香蕉| 99精品全国免费观看视频| 亚洲AV无码乱码国产麻豆 | 在线观看免费播放av片| 久久精品国产精品亚洲下载| 亚洲熟妇AV一区二区三区浪潮| 人妻免费一区二区三区最新| 亚洲成人中文字幕| www免费黄色网| 四只虎免费永久观看| 亚洲中文字幕一二三四区苍井空| 久久国产精品一区免费下载| 亚洲女同成人AⅤ人片在线观看| 一区二区亚洲精品精华液| 成人免费在线视频| 精品一区二区三区无码免费直播| 好男人视频在线观看免费看片| 亚洲国产高清在线精品一区| 嫩草成人永久免费观看| 亚洲美女视频免费| 一区二区三区四区免费视频| 国产亚洲色婷婷久久99精品| 久久精品人成免费| 亚洲久本草在线中文字幕| baoyu116.永久免费视频| 亚洲国产精久久久久久久| 动漫黄网站免费永久在线观看 | 亚洲特级aaaaaa毛片| 日本一区二区免费看| 亚洲伊人久久大香线蕉影院| h在线观看视频免费网站| 久久久国产精品亚洲一区| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲人成中文字幕在线观看|