struts1.2原理

来源:互联网 发布:海康网络视频监控方案 编辑:程序博客网 时间:2024/06/05 01:47

  struts1.2原理:基于mvc的web层 框架没有涉及到数据库。就是一个大型的servlet容器,处理一类请求如请求的结尾都是 “.do/.htm”

把用户请求的内容提交到web.xml中找到处理的ActionServlet处理,然后在Struts-config.xml中找到具体哪个action来处理这个请求。

 

web.xml中的处理

<!-- 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>

<!--这个参数就是用来解决配置文件过大,太大的问题,<param-value>可以用","来分隔多个struts-config.xml,struts-longin.xml,struts-read.xml文件

以及下面提到的通配符使用,也可以帮助解决配置文件过大的问题.总体思想是把大的分成小的,也就是分类存放-->


<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>

 

 

   Struts-config.xml中的处理,找到具体哪个action来执行处理

   这里可以使用*来通配某一类路径

用{}来对应*星号内容.

<!-- ==== Action Mapping Definitions ==== -->
<action-mappings>

<!-- Display any other page (Logon, MainMenu) - Wildcards must come first! -->
  <action
    path="/*"
    forward="/{1}.jsp">
  </action>

 

  <action
    path="/Edit*"
    extends="//BaseAction"
    parameter="Edit"
    validate="false"/>

  <action
    path="/Save*"
    extends="//BaseAction"
    parameter="Save"
    cancellable="true"
    validate="true">
    <forward
      name="Success"  
      path="/MainMenu.do"/>
  </action>