Struts过滤器

StrutsPrepareAndExecuteFilter过滤器其实是包含2部分的
StrutsPrepareFilter:做准备
StrutsExecuteFilter:进入Struts2的核心处理。如果是Struts2的请求就会进入该过滤器,处理完后,不放行(由结果类负责显示)。如果是非Struts2的请求,比如默认jsp的请求,直接放行。
如果用不到其他过滤器,配置StrutsPrepareAndExecuteFilter即可;
如果用到其他过滤器,还需要使用Struts2准备好的环境,使用StrutsPrepareFilter,StrutsExecuteFilter2个过滤器,其他过滤器放在两者之间。

Struts2的请求——>可能先经过其他filter——>再由StrutsPrepareAndExcecuteFilter生成结果——>不会放行给后面的其他filter,如果继续放行,则会导致向web容器要求a.action,造成404错误

非Struts2请求——>可能经过其他过filter——>StrutsPrepareAndExcecuteFilter继续放行——>放行给后面的其他filter向web容器要求a.html

Struts2中实现了一种可以访问jar包或类路径下的静态资源(css、js等)的方式。

时间: 2024-10-20 23:56:37

Struts过滤器的相关文章

struts过滤器的原理

struts就是充当拦截器(过滤器)的作用.在web.xml配置过滤器, 1 package cn.itcast.framework.core; 2 3 import java.io.IOException; 4 import java.lang.reflect.Method; 5 import java.util.HashMap; 6 import java.util.List; 7 import java.util.Map; 8 9 import javax.servlet.Filter;

Struts过滤器过滤某些字符

(1)天朝的规矩做项目的时候可能需要过滤某些特定的字符,在更多的用途是安全的考虑,下边就是一个过滤字符的简单案例: (2)过滤器代码如下: package com.lc.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletExc

重写struts过滤器

<filter> <filter-name>ExtendStrutsFilter</filter-name> <filter-class> com.lt.xiaoliao.util.ExtendStrutsFilter </filter-class> </filter> <filter-mapping> <filter-name>ExtendStrutsFilter</filter-name> &l

spring,hibernate,struts整合

SSH整合: Spring与Hibernate整合 Spring与Struts整合 整合步骤:---------------------------------------------->本人使用的是struts2.3.4.1   hibernate3.6.0  spring3.2.5 1.导入jar文件 1)struts jar文件-->如何找? -->去源码包中struts-2.3.4.1\apps\struts-blank.war -->使用压缩文件打开struts-blan

spring和struts整合

整合准备:导入jar包 如果只是访问action,没有做数据库方面的操作的话 只需要导入下面的jar 整合过程: 用到了struts所以需要在web.xml中配置过滤器 ,又因为使用到了spring的监听器来提高性能,所以也需要配置监听器 web.xml代码: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http:

关于struts

一个最简单的struts程序竟然搞了一整天.感觉书上写的不对啊.书上说的导入的那几个包不全,会报错. 信息: Deploying web application directory D:\apache-tomcat-7.0.52\webapps\struts2八月 17, 2015 9:37:45 下午 com.opensymphony.xwork2.util.logging.jdk.JdkLogger error严重: Dispatcher initialization failedjava.

ssm: struts+ spring + mybatis 整合

其中: mybatis作为持久层操作: struts 作MVC框架: spring 管理组件的一个框架,跟mybatis的一个整合,管理数据源.事务等. 开发步骤:-----------------------------------------后端后端: spring+mybatis, 持久到数据库中,单元测试1.创建web系统,导入jar包: spring的jar包: mybatis的jar包: 数据库的jar包: 数据连接池的jar包:(dbcp,pool): 日志jar包: junit单

使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)

前言 SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

cxf , struts+spring中web.xml过滤url问题解决方案

在项目中配置webservice,查找wsdl时总是提示"HTTP Status 404 - There is no Action mapped for namespace / and action name ...",原来是因为web.xml中struts过滤器StrutsPrepareAndExecuteFilter自动拦截了该url的问题. 解决方案: 在struts.xml中增加一行: <constant name="struts.action.excludeP