web统计访问次数(servlet listener

来源:互联网 发布:淘宝店铺代理运营 编辑:程序博客网 时间:2024/05/09 08:40
这里用servlet的listener来统计网站访问次数
1、配置web.xml:
    <listener>
        <listener-class>web_all.listener</listener-class>
    </listener>
    <listener>
        <listener-class>web_all.listener_c</listener-class>
    </listener>
2、listener统计网页
package web_all;




import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;


public class listener_c implements ServletRequestListener {
    private static int count=0;
    @Override
    public void requestDestroyed(ServletRequestEvent sre) {
    }


    @Override
    public void requestInitialized(ServletRequestEvent sre) {
        count++;
    }


    public static int getCount() {
        return count;
    }
}
3、servlet 取得count值
public class servlet extends HttpServlet {




    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {


            out.println("<!DOCTYPE html>");
            out.println("<html>");
            out.println("<head>");
            out.println("<title>Servlet servlet</title>");            
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet servlet at " + request.getContextPath() + "</h1>");


            out.print("request counts :"+web_all.listener_c.getCount());
   //
            out.println("</body>");
            out.println("</html>");
        }
    }


    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }


}
0 0
原创粉丝点击