有关Struts2过滤器的配置

在做Struts2的项目时,需要在web.xml中配置Struts2的过滤器,通常可以采用两种方式进行配置,下面对此进行一下分析:


在StrutsPrepareAndExecuteFilter这个过滤器中,有这么一段代码:

ActionMapping mapping = prepare.findActionMapping(request, response, true);
if (mapping == null) {
	boolean handled = execute.executeStaticResourceRequest(request, response);
	if (!handled) {
		chain.doFilter(request, response);
	}
} else {
	execute.executeAction(request, response, mapping);
}
 

 

1.直接使用"/*"

倘若访问路径是.action,不管有没有这个action,mapping都不为null,即会执行execute.executeAction(request, response, mapping);

倘若访问路径是.jsp,不管有没有这个jsp, mapping都为null,即会执行if里面的代码。

倘若访问路径既不是.jsp,也不是.action,该过滤器也会对其进行过滤,mapping不为null,即会执行execute.executeAction(request, response, mapping);


2.配置两个filter-mapping,一个映射路径为"*.action",一个映射路径为"*.jsp"

倘若访问路径是.action,不管有没有这个action,mapping都不为null,即会执行execute.executeAction(request, response, mapping);

倘若访问路径是.jsp,则 mapping为null,即会执行if里面的代码。

倘若访问路径既不是.jsp,也不是.action,则该过滤器不会对其进行过滤。

 

注:这里说的访问路径是指的浏览器中显示的访问地址,而非表单中action中指定的,因为struts2会将action中的既不是.jsp,也不是.action的路径默认视为.action路径 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值