• 使用过滤器实现网站访问计数器的功能


    创建过滤器类:

    public class CountFilter implements Filter {

        private int count;//访问数量

        //初始化

    @Override

        public void init (FilterConfig config) throws ServletException{

                      //获取初始化数量

                      String  param = filterConfig.getInitParameter(“count”);

                      count = Integer.valueOf(param);  

         }

    @Override

         public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException ,ServletException{

                        //访问数据自增

                        count++;

                        //将ServletRequest转换为HttpServletRequest

                        HttpServletRequest req = (HttpServletRequest)request;

                        //获取ServletContext   (Application)

                         ServletContext context=req.getSession().getServletContext();

                        //将来访数量值放入到ServletContext中

                        context.setAttribute(“count”,count);

                        //向下传递过滤器

                        chain.doFilter(request, response);

          }

    @Override

         public void destory(){

                

         }

    }

    在web.xml中配置过滤器

    <filter>

         <filter-name>countfilter</filter>

          <filter-class>com.filter.CountFilter</filter-class>

    <!--设置初始化参数      -->

           <init-param>

                 <param-name>count</param-name>

                 <param-value>5000</param-value>

           </init-param>

    <filter>

    <filter-mapping>

        <filter-name>countfilter</filter>

        <url-pattern>/index.jsp</url-pattern>

    <filter-mapping>

  • 相关阅读:
    2019/1/2
    2018/12/22
    2018/12/18
    2018/12/17
    2018/12/16
    编程总结汇总
    学习总结汇总
    第十三周学习总结--助教
    第十一周编程总结
    第10周编程总结
  • 原文地址:https://www.cnblogs.com/next-open/p/3536551.html
Copyright © 2020-2023  润新知