zoukankan      html  css  js  c++  java
  • servlet-过滤器

    <filter>
            <filter-name>filter</filter-name>
            <filter-class>com.study.filter.FilterTest</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>filter</filter-name>
            <url-pattern>/*</url-pattern><!-- 对所有servlet进行拦截 -->
        </filter-mapping>
        
        <filter>
            <filter-name>filter2</filter-name>
            <filter-class>com.study.filter.FilterTest2</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>filter2</filter-name>
            <url-pattern>*.do</url-pattern><!-- 针对别名为*.do结尾的servlet进行拦截 -->
        </filter-mapping>
        
        <filter>
            <filter-name>filter3</filter-name>
            <filter-class>com.study.filter.FilterTest3</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>filter3</filter-name>
            <url-pattern>/servlet.do</url-pattern><!-- 针对别名为servlet.do的servlet进行拦截 -->
        </filter-mapping>

    注意:/*表示对所有servlet请求进行拦截;
       *.do表示对别名为.do的servlet请求进行拦截,不要加“/”,会报错
       /servlet.do表示针对单个别名为servlet.do的servlet.do请求进行拦截
    生命周期:服务器启动到关闭
    作用:
      1.统一编码管理;
      2.session管理
      3.图片水印,和谐词汇
      4.权限管理等

    public class FilterTest implements Filter{
    
        @Override
        public void destroy() {
            System.out.println("destroy!1");
        }
    
        @Override
        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
                throws IOException, ServletException {
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html;charset=utf-8");
            HttpSession session=((HttpServletRequest)request).getSession();
            //使用方法:设置编码格式,判断session是否失效
            if(session.getAttribute("uname")==null) {
                //如果session失效,则重新登陆
                ((HttpServletResponse)response).sendRedirect("/studyWeb/aJax.jsp");
            }else {
                //通过。执行用户请求的servlet
                chain.doFilter(request, response);//
            }
            //执行完用户请求的servlet后,回来继续执行以下代码 
            System.out.println("完成!!");
        }
        @Override
        public void init(FilterConfig arg0) throws ServletException {
            System.out.println("init");
        }
    }
  • 相关阅读:
    利用Spring MVC 上传图片文件
    HdU 4046 Panda 段树
    unity3D的FingerGestures小工具
    深入了解java同步、锁紧机构
    _00021 尼娜抹微笑伊拉克_谁的的最离奇的异常第二阶段 Jedis pool.returnResource(jedis)
    【从翻译mos文章】正在实施的获取job的 session id
    找呀志_通过开源框架引AsyncHttpClient上传文件
    [LeetCode]Count and Say
    使用Intent启动组件
    cpe移植framework后,。解决问题的现有数据库
  • 原文地址:https://www.cnblogs.com/lastingjava/p/9902604.html
Copyright © 2011-2022 走看看