zoukankan      html  css  js  c++  java
  • struts执行过程

            通过jsp中的form表单中的action属性,在WEB-INF文件夹下的web.xml文件中找到对应的<servlet-mapping>中找到对应的<servlet-name>,再在<servlet>中通过该<servlet-name>找到<servlet-class>,确认为ActionServlet,即,struts框架,然后在WEB-INF文件夹下的struts-config.xml文件的<action-mappings>中的<action>中通过jsp中的form表单中的action(对应<action>中的path)属性找到对应的name和type,即ActionForm和Action,先通过生成实例执行ActionForm中的validate()方法,出错则调到<action>中的input属性页面,没有出错则通过生成实例执行Action中的execute()方法,再该方法中转向响应的jsp页面完成最终的客户内容显示。

      所以总体上,提交表单后,先到项目文件夹下的WEB-INF文件夹下的web.xml文件中确认为Struts框架,即表单接收方为org.apache.struts.action.ActionServlet,再到项目文件夹下的WEB-INF文件夹下的struts-config.xml文件中找到对应的ActionForm和Action开始执行。

        web.xml文件:

    <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>
    <init-param>
    <param-name>debug</param-name>
    <param-value>3</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>

        struts-config.xml文件:

    <struts-config>
    <form-beans>
    <form-bean name="helloForm"
    type="org.lxh.struts.form.HelloForm" />
    </form-beans>

    <global-exceptions />
    <global-forwards />
    <action-mappings>
    <action attribute="helloForm" input="/hello.jsp"
    name="helloForm" path="/hello" scope="request"
    type="org.lxh.struts.action.HelloAction">
    <forward name="show" path="/hello.jsp"></forward>
    </action>
    </action-mappings>

    <message-resources parameter="org.lxh.struts.ApplicationResources" />
    </struts-config> 

  • 相关阅读:
    《JavaScript DOM 编程艺术》读书笔记
    《精通CSS:高级Web标准解决方案》读书笔记
    计算机专业考研复试面试数据结构
    单元测试框架NUnit 之 Extensibility 例子
    单元测试框架NUnit 之 Extensibility可扩展性
    你应该知道的 asp.net webform之异步页面
    viewstate 应该注意的
    必须要知道的session
    javascript应该注意的小case数据类型
    单元测试框架NUnit 之 Attributes特性(二)
  • 原文地址:https://www.cnblogs.com/huhewei/p/13026852.html
Copyright © 2011-2022 走看看