Servlet 編寫過濾器filter配置多個(gè)url-pattern的方法如下:
<filter> <filter-name>authority</filter-name> <filter-class>com.util.AuthorityFilter</filter-class> </filter> <filter-mapping> <filter-name>authority</filter-name> <url-pattern>/admin/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>authority</filter-name> <url-pattern>/manage/*</url-pattern> </filter-mapping>
如下登陸實(shí)例:
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
// 獲得在下面代碼中要用的request,response,session對(duì)象
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();
if(session.getAttribute("username") == null){
out.println("<script>alert('請(qǐng)登陸');location.href='/login'</script>");
return;
}
else{
chain.doFilter(req, resp);
}web.xml:
<filter> <filter-name>IsLogFilter</filter-name> <filter-class>zhuangzi.com.filter.IsLogFilter</filter-class> </filter> <filter-mapping> <filter-name>IsLogFilter</filter-name> <url-pattern>/admin/*</url-pattern> <!--<dispatcher>FORWARD</dispatcher>--> </filter-mapping>
