struts1.3总结

1.struts概述

struts是一种web层的框架,它封装了web层数据,使编写servlet容易了许多。

2.Struts原理

 

Struts将网页传过来的数据封装到from类中,使action之后获取数据直接从from中取得,并且也定义了简单的跳转关系。至于formaction的关系,需要在struts-config.xml中配置。至于web服务器怎么知道struts的存在,需要再web.xml中配置。

3.开发流程

 

4.例子:

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

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

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


 <span style="font-size: small;"><form action="/StrutsLogin/login.do" method="post">  

     用户名:<input type="text" name="username"/><br/>  

     密码:<input type="password" name="password"/><br/>  

     <input type="submit" value="登陆"/>  

 </form></span>  


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

Java代码  

 package cn.yzz.forms;  

   

import org.apache.struts.action.ActionForm;  
 /** 

 * 用户表单类,用于填充数据 

 */  

public class UserForm extends ActionForm {  

    //在这里为了规范:定义属性名时应该和JSP页面的控件名称一样  

    //实际只需保证set和get方法和属性名有关联 set属性名  

    private String username;  

    private String password;  

    public String getUsername() {  

        return username;  

    }  

     public void setUsername(String username) {  

        this.username = username;  

    }  
     public String getPassword() {  

        return password;  

     }  

     public void setPassword(String password) {  

        this.password = password;  

    }  
 }


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

Java代码  

package cn.yzz.actions;  

  

 import javax.servlet.http.HttpServletRequest;  

 import javax.servlet.http.HttpServletResponse;  



 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 cn.yzz.forms.UserForm;  

 /** 

 * 登陆Action,用于处理登陆请求 

 */  

 public class LoginAction extends Action{  

    //execute自动调用,  

    @Override  

     public ActionForward execute(ActionMapping mapping, ActionForm form,  

            HttpServletRequest request, HttpServletResponse response)  

            throws Exception {  

        //将Form强转为UserForm  

         UserForm userForm = (UserForm)form;  

       String username = userForm.getUsername();  

        String password = userForm.getPassword();  

         //将用户名存入request表单域中  

         request.setAttribute("username", username);  

         if("888888".equals(password))  

            return mapping.findForward("welcome");  

         else  

           return mapping.findForward("error");  

    }  

 }</span>  


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

Xml代码  

 <span style="font-size: small;"><?xml version="1.0" encoding="UTF-8"?>  

 <!DOCTYPE struts-config PUBLIC "-Apache Software Foundation//DTD struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">  

 <struts-config>  

    <!-- 配置表单 -->  

     <form-beans>  

         <!-- name为表单名字,可以随意,建议取名:表单类名的小写 -->  

         <!-- type用于指定表单类的全路径 -->  

         <form-bean name="userForm" type="cn.yzz.forms.UserForm"></form-bean>  
     </form-beans>  

    <!-- 配置action -->  

     <action-mappings>  

        <!-- path:将来访问action的uri name必须和表单名相同,用于关联某个表单 type:指定action的全路径-->  

        <!-- scope:指定该action对应的表单对象的生命周期为request级别 =request.setAttribute("userForm",userForm),默认为session-->  

       <action path="/login" name="userForm" scope="request" type="cn.yzz.actions.LoginAction">  

             <!-- 这里配置跳转关系 name:结果名称 path:转发页面-->  

            <forward name="welcome" path="/WEB-INF/welcome.jsp"></forward>  

            <forward name="error" path="/WEB-INF/error.jsp"></forward>  

       </action>  

     </action-mappings>  

 </struts-config></span> 


 

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

Xml代码  

    <span style="font-size: small;"><servlet>  
        <servlet-name>action</servlet-name>  
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>  
        <init-param>  
          <param-name>config</param-name>  
          <param-value>/WEB-INF/config/struts-config.xml</param-value>  
        </init-param>  
    </servlet>  
    <servlet-mapping>  
        <servlet-name>action</servlet-name>  
        <url-pattern>*.do</url-pattern>  
    </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了!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值