对于struts2而言,一个请求是否被它处理,取决于struts2在web.xml中的配置
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
如上示例这个地方url-pattern就是指的要进行过滤的url,如果是上面那种
配置就是所有的请求都是要被拦截的,如果是/.action那么就是只有后缀为
.action的请求会被拦截,如果是其他的比如.do那么就只要.do会被拦截.
所以在看一个请求(包括url请求,post请求,ajax请求)是否会被拦截的时候需要看两个地方:
1.请求本身的格式
2.struts2的拦截的url-pattern
还有就是同样的一个struts.xml下面的一个Action下面的result如果不配置
它的name属性的话,那么就表示这是一个默认的结果,就是成功的结果.
而如果一个请求没有指定Action中所要调用的方法的话,那么这个请求将会
被Action的默认的execute方法进行处理,如果返回的是SUCCESS的话,那么.
action会返回结果中被定义了name="SUCCESS"的结果,如果没有这样的一个
结果的话,那么它将会返回默认的没有任何name定义的结果.
而如果一个请求在被Action处理返回之后的过程中中用到了ajax的请求,那么
这些请求会不会被拦截器所截获还是要看上面的那两点,而且后台不会重新的
再返回一个页面回来,因为这个时候的请求是ajax请求,它只会返回部分的数据
但是不会去刷新页面的.
普通的请求和ajax请求的区别在于ajax的请求的头部有
不论是普通http请求还是ajax请求,都可以通过拦截器来将请求捕获,而且区分这两种请求在于头部信息的不同:
普通http请求的header参数中没有x-requested-with:XMLHttpRequest头信息,而异步的有。
分享到:
相关推荐
struts2一个action处理多个请求
Struts2一个Action内包含多个请求处理方法的处理,method的使用方法,struts2中的路径问题,通配符映射
Struts2一个Action内包含多个请求处理方法的处理
Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP的一种实现.
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象
Struts请求处理流程图,详细的说明了Struts从数据提交到结束的过程
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
通过两个自定义结果集,解决struts2请求转发或重定向时,一个结果码无法对应多个视图的问题。以前的做法,是在配置Action时使用通配符解决,但这样需要JSP页面名称和Action的方法名称一致,如果命名不一致或不规范,...
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
《Struts2技术内幕:深入解析Struts2架构设计与实现原理》由国内极为资深的...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,...
2 线程模式方面的对比:Struts 1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts 1 Action能做的事,并且要在开发时特别小心。Action资源必须是线程安全的...
内容简介 出版日期: 2012年1月10日 《Struts2技术内幕:深入解析Struts2架构...运行主线篇首先对Struts2的两大运行主线——初始化主线和HTTP请求处理主线进行了深入的剖析,然后对Struts2的扩展机制进行了解读和抽象。
struts2 拦截器 解决 请求乱码 和 输出乱码 java
解决Struts2上传时候使用UTF-8的冲突问题: * 重新包装了JakartaMultiPartRequest提供Chartset的设置方法。 * 可以通过配置方式对MultiPartRequest中的内容进行编码设定,请在Struts.xml中配置添加struts.multipart...