====================================================================================================
过滤器:
public class PermissionFilter implements Filter{
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest)request;
HttpServletResponse httpServletResponse=(HttpServletResponse)response;
//获取请求uri路径
String uri=httpServletRequest.getRequestURI();
//登录页面
int n1=uri.indexOf("login.jsp");
//处理登录的servlet
int n2=uri.indexOf("LoginServlet");
if(n1>0||n2>0){
//将请求继续传递(放行)
chain.doFilter(httpServletRequest,httpServletResponse);
}else{
HttpSession session = httpServletRequest.getSession();
//session中存在的用户信息,放行
if(session.getAttribute("user")!=null){
//讲请求继续传递
chain.doFilter(httpServletRequest,httpServletResponse);
}else{
//如果session不存在用户信息,则跳转至登录页面
httpServletResponse.sendRedirect("login.jsp");
}
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
====================================================================================================
监听器