all gone

          all gone

          Eclipse下Struts開發入門

           

          1.開發環境
             開發之前首先應該準備好開發環境,Eclipse 3.X是一個不錯的Java IDE,有很多插件可以供我們選擇,服務器用Tomcat就行了。安裝好Eclipse和Tomcat之后,還需要兩個插件:tomcat 插件和Struts插件,以下是相關下載地址:
               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
          然后運行Tomcat
          http://127.0.0.1:8080/test/login.jsp


            

          posted on 2005-12-10 11:10 all gone 閱讀(1216) 評論(0)  編輯  收藏 所屬分類: Java

          主站蜘蛛池模板: 桂东县| 遵义县| 北辰区| 苗栗市| 花莲市| 天柱县| 苏州市| 凌源市| 元朗区| 斗六市| 伊金霍洛旗| 博罗县| 南宁市| 武宁县| 吴川市| 福建省| 永定县| 淅川县| 安溪县| 博野县| 桂林市| 泊头市| 安丘市| 内江市| 巴彦淖尔市| 新竹市| 巴林右旗| 浦北县| 保德县| 南平市| 靖远县| 江都市| 双峰县| 巴青县| 牡丹江市| 镇坪县| 永靖县| 从化市| 扬州市| 含山县| 富裕县|