在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

}

}

...全文
173 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
有人吗?连个人都没有呀

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧