Servlet學習的兩個案例之網站訪問次數的統計


一、統計次數的Servlet源碼
package com.shanrengo;

import java.io.IOException;

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

/**
 * 用戶訪問countServlet,訪問次數+1
 * 1.在countServlet初始化的時候,向ServletContext中保存一個訪問次數0
 * @author Administrator
 *
 */
public class CountServlet extends HttpServlet {

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		//向ServletContext保存訪問次數0
		//ServletContext 中setAttribute方法
		//1.獲得servletContext對象
		ServletContext context = getServletContext();
		//2.保存數據
		context.setAttribute("visitTimes", 0);
		
	}
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//每次訪問都會執行doGet
		//1.從servletContext中獲得visitTimes
		ServletContext context = getServletContext();
		int times = (Integer) context.getAttribute("visitTimes");
		//2.將visitTimes++
		times++;
		//3.更新
		context.setAttribute("visitTimes", times);
		System.out.println("網站被訪問了一次!");
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

 

二、顯示統計次數的servlet源碼

package com.shanrengo;

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

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

public class CountShowServlet extends HttpServlet {


	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		ServletContext context = getServletContext();
		int times = (Integer) context.getAttribute("visitTimes");
		
		response.getWriter().println(times);
	}


	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

  

注:我是初學者,發表博客只是學習筆記,歡迎探討指教,希望可以結實良師益友。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM