在一个系统中通常有多个权限的用户。不同权限用户的可以浏览不同的页面。使用Filter进行判断不仅省下了代码量,而且如果要更改的话只需要在Filter文件里动下就可以。以下是Filter文件代码: package cn.itkui.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; public class RightFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest sreq, ServletResponse sres, FilterChain arg2) throws IOException, ServletException { // 获取uri地址 HttpServletRequest request=(HttpServletRequest)sreq; String uri = request.getRequestURI(); String ctx=request.getContextPath(); uri = uri.substring(ctx.length()); //判断admin级别网页的浏览权限 if(uri.startsWith("/admin")) { if(request.getSession().getAttribute("admin")==null) { request.setAttribute("message","您没有这个权限"); request.getRequestDispatcher("/login.jsp").forward(sreq,sres); return; } } //判断manage级别网页的浏览权限 if(uri.startsWith("/manage")) { //这里省去 } } //下面还可以添加其他的用户权限,省去。 } public void init(FilterConfig arg0) throws ServletException { } } 以下是在web.xml需要加入的代码 <!-- 判断页面的访问权限 --> < filter > < filter-name > RightFilter </ filter-name > < filter-class > cn.itkui.filter.RightFilter </ filter-class > </ filter > < filter-mapping > < filter-name > RightFilter </ filter-name > < url-pattern > /admin/* </ url-pattern > </ filter-mapping > < filter-mapping > < filter-name > RightFilter </ filter-name > < url-pattern > /manage/* </ url-pattern > </ filter-mapping >