接:Myeclipse开发struts+hibernate+spring新手入门---环境配置
如果您按照上篇文章配置成功,可以进行开发简单的J2EE项目。
开发前准备:
    1、新建项目包:如下图:
         project1.JPG
Dao:数据层;service:逻辑层;web:web展现层。
2、建立好三层架构,部署好包名。建立一个jsp文件,取名为:login.jsp
代码如下:

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%> 
<HTML>
<HEAD>
<TITLE>test<TITLE>
<HEAD>
<BODY>
<html:form action="/login" method="post">
 用户名:
<html:text property="username" size="15"/> <br>
 密  码:
<html:password property="password" size="15"/><br>
 
<html:submit property="submit1" style="FONT-WEIGHT:bold;COLOR:red">
          登  录
<html:submit>
 
<html:form>
 
<BODY>
 
<HTML>

3、配置struts-config.xml文件;建立action、formbean;
改配置可以自动生成,使用eclipse进行自动生成,在建立时,如下图,可直接生成对应的action类和formbean类。struts-config.JPG
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
 3 
 4 <struts-config>
 5     <data-sources />
 6     <form-beans>
 7         <form-bean name="LoginForm" type="com.test.web.form.LoginForm" />
 8 
 9     </form-beans>
10 
11     <global-exceptions />
12     <global-forwards />
13     <action-mappings>
14         <action attribute="LoginForm" input="/login.jsp" name="LoginForm" path="LoginAction" scope="request" type="com.test.web.action.LoginAction" validate="true">
15             <forward name="faile" path="faile.jsp" />
16             <forward name="success" path="success.jsp" />
17         </action>
18 
19     </action-mappings>
20 
21     <message-resources parameter="ApplicationResources" />
22 </struts-config>

对应生成的formbean如下代码所示:
 1 import javax.servlet.http.HttpServletRequest;
 2 import org.apache.struts.action.ActionErrors;
 3 import org.apache.struts.action.ActionForm;
 4 import org.apache.struts.action.ActionMapping;
 5 
 6  /** 
 7   * MyEclipse Struts
 8   * Creation date: 11-10-2005
 9   * 
10   * XDoclet definition:
11   * @struts.form name="LoginForm"
12   */
13  public class LoginForm extends ActionForm {
14  
15      /** password property */
16      private String password;
17  
18      /** username property */
19      private String username;
20  
21  
22      /** 
23       * Method validate
24       * @param mapping
25       * @param request
26       * @return ActionErrors
27       */
28      public ActionErrors validate(
29          ActionMapping mapping,
30          HttpServletRequest request) {
31          
32          /**对页面提交的元素进行验证,根据需要进行验证:在struts-config.xml中的 action-mapping配置设置validate="true"
33                * 以下验证才会在页面加载时生效.
34                 */
35                ActionErrors errors = new ActionErrors();
36               if(username==null||username.equals(""))
37               {
38                errors.add("username",new ActionMessage("username.errors"));
39                           return errors;
40                }
41                if(password==null||password.equals(""))
42               {
43                 errors.add("password",new ActionMessage("password.errors"));
44                            return errors;
45               }
46                 return errors;
47      }
48  
49      /** 
50       * Method reset
51       * @param mapping
52       * @param request
53       */
54      public void reset(ActionMapping mapping, HttpServletRequest request) {
55  
56  
57      }
58  
59      /** 
60       * Returns the password.
61       * @return String
62       */
63      public String getPassword() {
64          return password;
65      }
66  
67      /** 
68       * Set the password.
69       * @param password The password to set
70       */
71      public void setPassword(String password) {
72          this.password = password;
73      }
74  
75      /** 
76       * Returns the username.
77       * @return String
78       */
79      public String getUsername() {
80          return username;
81      }
82  
83      /** 
84       * Set the username.
85       * @param username The username to set
86       */
87      public void setUsername(String username) {
88          this.username = username;
89      }
90  
91 }
FormBean中验证后的提示需要在ApplicationResources_zh_CN.properties中配置提示错误信息.
1 username.null.error=/u5462/u79f0/u4e0d/u80fd/u4e3a/u7a7a
2 password.null.error=/u5bc6/u7801/u4e0d/u80fd/u4e3a/u7a7a
下面我们需要对WEB展现中对Action进行配置;我们在这里主要是针对登录进行开发.因此在action中需要完成以下步骤:
1、登录验证;验证用户名是否存在。验证该用户的密码是否正确。
2、增加cookie
3、提示登录成功。
在进行Action类的编写过程中,首先我们需要考虑到对数据的操作有如下步骤。
1、验证用户名是否存在,我们在service层需要提供一个接口:
1 Public boolean isExist(String user);
来判断用户名是否存在,同时要考虑该用户名对应的密码是否正确,需要提供接口:
1 Public UserBasicInfo findByUser(String user);
通过用户名来查找相关数据。