过滤器的url-pattern能不能设成:过滤除某些个url外全部过滤?(30分)

  • 主题发起人 主题发起人 WorldCreater
  • 开始时间 开始时间
W

WorldCreater

Unregistered / Unconfirmed
GUEST, unregistred user!
过滤器的url-pattern能不能设成:过滤除某些个url外全部过滤?
假设我要过滤所有的*.do,除了login.do和logout.do外
 
不能够。
但是你可以过滤器的代码里来进行筛选,
也可以把这些不需要过滤的URL
放到 FilterConfig里。
同样可以实现你的目的。
示例如下:

public voiddo
Filter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
try {
request.setCharacterEncoding("GB2312");
((HttpServletResponse)response).setHeader("Pragma","No-cache");
((HttpServletResponse)response).setHeader("Cache-Control","no-cache");
((HttpServletResponse)response).setHeader("Expires","0");
if (((HttpServletRequest)request).getRequestURI().endsWith("login.do")
||((HttpServletRequest)request).getRequestURI().endsWith("logout.do")) {
filterChain.doFilter(request, response);
return;
}
//在这里进行过滤
//System.out.println("你的请求是"+((HttpServletRequest)request).getRequestURI());
filterChain.doFilter(request, response);
}
catch(ServletException sx) {
filterConfig.getServletContext().log(sx.getMessage());
}
catch(IOException iox) {
filterConfig.getServletContext().log(iox.getMessage());
}
}
 
也可以把这些不需要过滤的URL
放到 FilterConfig里。
》》》》》》》》》你给出的是“过滤器的代码里来进行筛选,”
那么,怎么“也可以把这些不需要过滤的URL放到 FilterConfig里。”,是web.xml中的元素吗?
 
而且。*.do这个后缀是可配置的,最好不在程序中固定。
其实我只是想实现用一个过滤器作身份验证
 
//是web.xml中的元素吗?
是的。
 
后退
顶部