编写一个servlet,实现统计网站被访问次数

package cn.itcast.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class VisitTimes
 */

//该注解的作用等价于 在web.xml中配置的该servlet的<servlet-mapping>元素中<url-pattern>的配置
@WebServlet("/VisitTimes")
public class VisitTimes extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public VisitTimes() {
    
    
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
		
		ServletContext context = getServletContext();
		
		/*
		 * 	Integer是java为int提供的封装类
			Integer的默认值为null
			即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况
		*/
		Integer times = (Integer)context.getAttribute("times");
		
		if(times == null) {
    
    
			times = new Integer(1);
		}else {
    
    
			times = new Integer(times.intValue() + 1);
		}
		//设置HTML
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.println("<html><head><title>");
		out.println("页面访问统计");
		out.println("</title></head><body>");
		out.println("当前网页被访问了");
		out.println("<font color=red size=20px>"+times+"</font>次");
		
		//设置ServletContext的域属性,在这里就是设置times
		context.setAttribute("times", times);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    
    
		// TODO Auto-generated method stub
		this.doGet(request, response);
	}

}

猜你喜欢

转载自blog.csdn.net/lmhnba/article/details/108833969