在struts前面加自定义的过滤器,先走自己的filter再走struts的,现在struts的filter貌似不走了?

风栖 南昌大学 软件开发  2015-07-13 10:37:18
请问我加了一个filter用来过滤*.action,原本还有struts的filter也是过滤*.action,我希望先走我写的filter再走struts的,然而现在struts的filter不起作用了,set方法都不走了,这是什么原因呢?现在进到action中后set过来的参数无法获取了。
web.xml中
<filter>
<filter-name>uploadFilter</filter-name>
<filter-class>com.taiji.jdxt.filter.UploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>uploadFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>


<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>*.action</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

这里是我自己加的filter
public class UploadFilter  extends HttpServlet implements Filter {
/**
*
*/
private static final long serialVersionUID = 1L;

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
chain.doFilter(new StrutsRequestWrapper((HttpServletRequest) request), response);
}

@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub

}

}

...全文
115 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Hzht? 2015-07-14
把Struts2的filter 放在前面试下
回复
jollroy 2015-07-14
引用 2 楼 shreion 的回复:
有人吗?连个人都没有呀
chain.doFilter(new StrutsRequestWrapper((HttpServletRequest) request), response); 你把这句改这样试试 chain.doFilter(request, response); Struts的filter一开始也是应该也是接受原始的request 包装的话 应该是由interceptor的框架来包装的
回复
风栖 2015-07-14
引用 3 楼 qq_19524363 的回复:
把Struts2的filter 放在前面试下
放在前面,过滤就不起作用了,前面的过滤就是为了在经过struts的filter时,request不会被解析成MultipartRequestWrapper
回复
风栖 2015-07-13
求助,有人知道吗?
回复
风栖 2015-07-13
有人吗?连个人都没有呀
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-07-13 10:37
社区公告
暂无公告