博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts 2 的学习笔记(二) struts的配置流程和strut是2的工作原理
阅读量:6592 次
发布时间:2019-06-24

本文共 1998 字,大约阅读时间需要 6 分钟。

hot3.png

 配置及流程

1.       Web.xml中配置

<!-- struts2的核心过滤器  前端控制器

      作用:接管请求。将请求交给struts2来处理。

      配置时保证请求被struts2接管

      不同版本的核心过滤器不一样。2.1以前是org.apache.struts2.dispatcher.FilterDispatcher

      2.1以后org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

   -->

  <filter>

  <filter-name>struts2</filter-name>

  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

  </filter>

  <filter-mapping>

  <filter-name>struts2</filter-name>

  <url-pattern>/*</url-pattern>

  </filter-mapping>

2.       struts.xml配置文件,该配置文件位于src下,文件名不能被更改。

<struts>

<!--

      constant 常量配置

      struts.devMode 设置是否是开发模式

    -->

   <constant name="struts.devMode" value="true" />

   <!-- 设置编码 -->

   <constant name="struts.i18n.encoding" value="utf-8"/>

   <!-- 设置action的扩展名 -->

   <constant name="struts.action.extension" value="action,,do"/>

   <!--

      package表示一个包每个包下可以配置多个action  包的作用主要用来区分不同模块的配置

      不同模块配置在不同的包下

      name 是包名  在项目下唯一 通常使用模块名做为包名

      extends 表示继承 必须直接或者间接继承struts-default

      namespace 表示命名空间  命名空间和请求名直接相关 

      请求名=项目发布路径名+namespace名+action名

      namespace名称通常也和模块名相关

    -->

   <package name="default" extends="struts-default" namespace="/user">

      <!-- action 配置请求名 一个action表示对一个请求的处理

         name在同一个包下唯一 会作为请求名称 该名称会自动将请求的扩展名去掉,所以不用配置扩展名

         class 配置处理请求的类的完全限定名=包名+类名。如果不配置class默认由

         com.opensymphony.xwork2.ActionSupport来处理。

         method 配置处理方法的名称  默认由execute方法处理

         在struts2中处理方法  必须是 public的,返回值必须是String。

       -->

      <action name="hello" class="cn.sxt.action.HelloAction" method="hello">

         <!-- result配置的结果集处理  每个action中可以及配置多个result

            name表示结果集名称 和处理方法的返回值进行匹配 默认是success;

            type表示结果集类型

                dispatcher 转发-默认

                redirect 重定向

                redirectAction 重定向到另外一个action

                stream 流

                chain  表示action链

            result中填写要跳转的页面的路径

         -->

         <result name="success" type="dispatcher">/index.jsp</result>

      </action>

   </package>

   <!--

      include用于添加其他配置文件,在团队开发中使用

      不同模块一般使用不同的配置文件,在总的配置文件中加入即可

    -->

   <include file="user.xml"></include>

</struts>

3.       struts2的执行流程:

浏览器发起请求-------->服务器接收并处理请求-------->项目的web.xml中匹配过滤器-------->匹配是否有对应的action-------->生成对应的action的对象-------->调用action对象的处理方法-------->返回结果

4.       执行流程图:

5.       详细的流程图:

转载于:https://my.oschina.net/u/3053883/blog/862106

你可能感兴趣的文章
struts2 action 返回类型分析
查看>>
【原创】FPGA开发手记(三) PS/2键盘
查看>>
linux统计多个文件大小总和
查看>>
java基础-Eclipse开发工具介绍
查看>>
JS常见的字符串操作
查看>>
洛谷P1069 细胞分裂 数学
查看>>
JAVA中的编码分析
查看>>
查看源代码Source not found及在eclipse中配置jdk的src.zip源代码
查看>>
document.all用法
查看>>
uniGUI试用笔记(二)
查看>>
HOG特征-理解篇
查看>>
Microsoft.AlphaImageLoader滤镜解说
查看>>
extjs_02_grid(显示本地数据,显示跨域数据)
查看>>
超过响应缓冲区限制
查看>>
ubuntu 下安装 matplotlib
查看>>
webservice的几个简单概念
查看>>
underscore 1.7.0 api
查看>>
C# CheckedListBox控件的使用方法
查看>>
spring Transaction Management --官方
查看>>
iOS开发-清理缓存功能的实现
查看>>