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");
        }
    }
  • 相关阅读:
    SQL Server:创建索引视图
    Asp.Net常用函数
    SQL Server联机丛书:删除存储过程
    音乐知识全接触
    深入透析样式表滤镜
    有一天,爸妈会变老
    今天终于买到票啦~~
    今天,回到上海啦~~(附工作生涯回顾)
    十八问:怎么才是喜欢编程
    把旧光驱改CD播放机的方法
  • 原文地址:https://www.cnblogs.com/lastingjava/p/9902604.html
Copyright © 2011-2022 走看看