zoukankan      html  css  js  c++  java
  • struts1.2原理

      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>

  • 相关阅读:
    权值线段树模版
    P2679 [NOIP2015 提高组] 子串
    P3747 [六省联考 2017] 相逢是问候
    P2822 [NOIP2016 提高组] 组合数问题
    P2331 [SCOI2005]最大子矩阵
    P1854 花店橱窗布置
    P5888 传球游戏
    Hard | LeetCode 42. 接雨水 | 单调栈 | 双指针
    Medium | LeetCode 621. 任务调度器 | 设计
    Medium | LeetCode 166. 分数到小数 | 数学
  • 原文地址:https://www.cnblogs.com/shipeng22022/p/4614172.html
Copyright © 2011-2022 走看看