首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

struts散发请求的过程与相关配置

2012-11-23 
struts分发请求的过程与相关配置 /02_struts分发请求的过程与相关配置按照mvc模式设计出的web层框架,其实

struts分发请求的过程与相关配置

 struts散发请求的过程与相关配置

/02_struts分发请求的过程与相关配置
按照mvc模式设计出的web层框架,其实就是一个大大的servlet,
我们可以在web.xml文件中将符合某种特征所有请求交给这个Servlet处理,
这个servlet再参照一个配置文件(struts-config.xml)将各个请求分配给不同的action去处理
根据struts提供的例子http://localhost:8080/struts-mailreader-1.3.10/Logon.do

<form id="LogonForm" method="post" action="/struts-mailreader-1.3.10/SubmitLogon.do;jsessionid=FAD709E61ABC01E37FBF31FDF3D6CAAA" onsubmit="return validateLogonForm(this);">

查看源代码后知道提交后交给/SubmitLogon.do。
在web.xml文件中查找/SubmitLogon.do没有找到,有通配符*.do

<!-- Action Servlet Configuration -->    <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/struts-config.xml</param-value>        </init-param>         <load-on-startup>1</load-on-startup>    </servlet>    <!-- Action Servlet Mapping -->    <servlet-mapping>        <servlet-name>action</servlet-name>        <url-pattern>*.do</url-pattern>    </servlet-mapping>

action对应一个叫ActionServlet的类;
查询struts-config.xml中/SubmitLogon;不能加.do。后缀名可以改变

 <!-- Process a user logon -->        <action                path="/SubmitLogon"                type="org.apache.struts.apps.mailreader.actions.LogonAction"                name="LogonForm"                scope="request"                cancellable="true"                validate="true"                input="Logon">            <exception                    key="expired.password"                    type="org.apache.struts.apps.mailreader.dao.ExpiredPasswordException"                    path="/ChangePassword.do"/>            <forward                    name="Success"                    path="/MainMenu.do"/>        </action>

而注册页面的转到/SaveRegistration.do却找不到,有*号通配符防止膨胀
 <action path="//BaseAction"
                input="Input"
                type="org.apache.struts.apps.mailreader.actions.{1}Action"
                name="{1}Form"
                scope="request">
            <forward
                    name="Success"
                    path="/{1}.jsp"/>
            <forward
                    name="Input"
                    path="/{1}.jsp"/>
</action>

<action
                path="/Save*"
                extends="//BaseAction"
                parameter="Save"
                cancellable="true"
                validate="true">  //是否需要校验
            <forward
                    name="Success"
                    path="/MainMenu.do"/>
 </action>
 
03_struts封装请求参数的过程与相关配置
将参数封装成formbean对象(就是一个java类),这个类的每一个属性对应一个请求参数。Formbean有一个validata的方法

struts散发请求的过程与相关配置

热点排行