Java过滤器 |
您所在的位置:网站首页 › java过滤器怎么实现 › Java过滤器 |
过滤器: 如果想要使用过滤器,首先需要实现Filter类,并重写三个需要的方法: init方法: 容器在创建当前过滤器的时候自动调用; destroy方法: 容器在销毁当前过滤器的时候自动调用 doFilter方法: 过滤器的主要代码写在这个地方、 @WebFilter("/*") public class Filter01 implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { } @Override public void destroy() { } 过滤器一般用于登录权限验证、资源访问权限控制、敏感词汇过滤、字符编码转换等等操作,便于代码重用,不必每个servlet中还要进行相应的操作。 在web.xml中配置过滤器。这里要谨记一条原则:在web.xml中,监听器>过滤器>servlet。也就是说web.xml中监听器配置在过滤器之前,过滤器配置在servlet之前,否则会出错。 chain.doFilter(req, resp);这一行代表的是如果还有其他的过滤器就调用其它的过滤器,但是需要注意,这一行代码必须写在doFilter方法的最后面 guo'n public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest) arg0; HttpServletResponse response=(HttpServletResponse) arg1; HttpSession session=request.getSession(); String path=request.getRequestURI(); Integer uid=(Integer)session.getAttribute("userid"); if(path.indexOf("/login.jsp")>-1){//登录页面不过滤 arg2.doFilter(arg0, arg1);//递交给下一个过滤器 return; } if(path.indexOf("/register.jsp")>-1){//注册页面不过滤 arg2.doFilter(request, response); return; } if(uid!=null){//已经登录 arg2.doFilter(request, response);//放行,递交给下一个过滤器 }else{ response.sendRedirect("login.jsp"); } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |