strtus1.3的手动配置方法

来源:互联网 发布:linux find 绝对路径 编辑:程序博客网 时间:2024/05/18 16:54

手动配置流程(以登陆验证系统为例):

、首先在Eclipse下创建一个动态Web项目,将下载好的struts1.3.10的压缩包解压之后的lib目录下的jar文件全部拷贝到对应的Web项目的WEB-INF下的lb目录下,此时在本项目的Web App Libraries可以看到我们引进去的包。WEB-INF用于存放一些驱动包。


、在WEB-INF目录下编写简单的login.jsp页面,body标签中的主要代码如下。

Java代码  收藏代码
  1. <span style="font-size: small;"><form action="/StrutsLogin/login.do" method="post">  
  2.     用户名:<input type="text" name="username"/><br/>  
  3.     密码:<input type="password" name="password"/><br/>  
  4.     <input type="submit" value="登陆"/>  
  5. </form></span>  

、创建用户表单类UserForm。表单类主要用来存放数据。代码和详细注释如下。

Java代码  收藏代码
  1. <span style="font-size: small;">package cn.yzz.forms;  
  2.   
  3. import org.apache.struts.action.ActionForm;  
  4. /** 
  5.  * 用户表单类,用于填充数据 
  6.  */  
  7. public class UserForm extends ActionForm {  
  8.     //在这里为了规范:定义属性名时应该和JSP页面的控件名称一样  
  9.     //实际只需保证set和get方法和属性名有关联 set属性名  
  10.     private String username;  
  11.     private String password;  
  12.     public String getUsername() {  
  13.         return username;  
  14.     }  
  15.     public void setUsername(String username) {  
  16.         this.username = username;  
  17.     }  
  18.     public String getPassword() {  
  19.         return password;  
  20.     }  
  21.     public void setPassword(String password) {  
  22.         this.password = password;  
  23.     }  
  24. }</span>  

、编写LoginAction,继承自Action,对应于分控制器,用于处理Form提交的表单数据。

Java代码  收藏代码
  1. <span style="font-size: small;">package cn.yzz.actions;  
  2.   
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5.   
  6. import org.apache.struts.action.Action;  
  7. import org.apache.struts.action.ActionForm;  
  8. import org.apache.struts.action.ActionForward;  
  9. import org.apache.struts.action.ActionMapping;  
  10.   
  11. import cn.yzz.forms.UserForm;  
  12. /** 
  13.  * 登陆Action,用于处理登陆请求 
  14.  */  
  15. public class LoginAction extends Action{  
  16.     //execute自动调用,  
  17.     @Override  
  18.     public ActionForward execute(ActionMapping mapping, ActionForm form,  
  19.             HttpServletRequest request, HttpServletResponse response)  
  20.             throws Exception {  
  21.         //将Form强转为UserForm  
  22.         UserForm userForm = (UserForm)form;  
  23.         String username = userForm.getUsername();  
  24.         String password = userForm.getPassword();  
  25.         //将用户名存入request表单域中  
  26.         request.setAttribute("username", username);  
  27.         if("888888".equals(password))  
  28.             return mapping.findForward("welcome");  
  29.         else  
  30.             return mapping.findForward("error");  
  31.     }  
  32. }</span>  

、在WEB-INF下新建一个名为config的文件夹,在config文件夹里面创建名为struts-config.xml文件,这是struts的配置文件,在此文件中,详细配置struts。下面是struts的详细配置信息及其注释。

Xml代码  收藏代码
  1. <span style="font-size: small;"><?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts-config PUBLIC "-Apache Software Foundation//DTD struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">  
  3. <struts-config>  
  4.     <!-- 配置表单 -->  
  5.     <form-beans>  
  6.         <!-- name为表单名字,可以随意,建议取名:表单类名的小写 -->  
  7.         <!-- type用于指定表单类的全路径 -->  
  8.         <form-bean name="userForm" type="cn.yzz.forms.UserForm"></form-bean>  
  9.     </form-beans>  
  10.     <!-- 配置action -->  
  11.     <action-mappings>  
  12.         <!-- path:将来访问action的uri name必须和表单名相同,用于关联某个表单 type:指定action的全路径-->  
  13.         <!-- scope:指定该action对应的表单对象的生命周期为request级别 =request.setAttribute("userForm",userForm),默认为session-->  
  14.         <action path="/login" name="userForm" scope="request" type="cn.yzz.actions.LoginAction">  
  15.             <!-- 这里配置跳转关系 name:结果名称 path:转发页面-->  
  16.             <forward name="welcome" path="/WEB-INF/welcome.jsp"></forward>  
  17.             <forward name="error" path="/WEB-INF/error.jsp"></forward>  
  18.         </action>  
  19.     </action-mappings>  
  20. </struts-config></span>  

、配置WEB-INF目录下的web.xml文件,此文件主要存放服务器的配置信息。

Xml代码  收藏代码
  1. <span style="font-size: small;"><servlet>  
  2.     <servlet-name>action</servlet-name>  
  3.     <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
  4.     <init-param>  
  5.       <param-name>config</param-name>  
  6.       <param-value>/WEB-INF/config/struts-config.xml</param-value>  
  7.     </init-param>  
  8. </servlet>  
  9. <servlet-mapping>  
  10.     <servlet-name>action</servlet-name>  
  11.     <url-pattern>*.do</url-pattern>  
  12. </servlet-mapping></span>  

最后在WEB-INF目录下编写weicome.jsp和error.jsp页面,填入简单的信息即可。在welcome.jsp页面中主要代码如下。

Html代码  收藏代码
  1. <span style="font-size: small;"><body>  
  2. 恭喜<%=((UserForm)request.getAttribute("userForm")).getUsername()%>登陆成功!  
  3. <a href="/StrutsLogin/">返回重新登陆</a>  
  4. </body></span>  

 

这样,最简单的一个Struts应用就搞定了,手动配置有助于初学者了解Struts的原理。熟悉了原理之后,就可以用相对简单的MyEclipse来开发Struts了!

0 0
原创粉丝点击