案例說明
一個項目中所有的資源被訪問都要對訪問量進(jìn)行累加
案例思路:
1.當(dāng)項目被第一次訪問時烦感,創(chuàng)建一個變量巡社,設(shè)置其值為1,保存在ServletContext中
2.當(dāng)以后訪問的時候手趣,就可以從ServletContext中獲取這個變量晌该,然后在其基礎(chǔ)上加1
代碼思路
1.獲取ServletContext對象
2.查看是否存在名為count的屬性,如果存在绿渣,說明不是第一次訪問朝群;如果不存在,就說明是第一次訪問中符。
3.第一次訪問:調(diào)用ServletContext的setAttribute()方法傳遞一個屬性姜胖,名為count,值為1
4.第2~n次訪問:調(diào)用ServletContext的getAttribute()方法獲取原來的訪問量淀散,給訪問量+1右莱,再調(diào)用ServletContext的setAttribute()方法存值蚜锨。
代碼:
CountServlet.java
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* 統(tǒng)計訪問量
*/
public class CountServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
ServletContext servletContext = this.getServletContext();
Integer count = (Integer)servletContext.getAttribute("count");
if (count == null){
servletContext.setAttribute("count",1);
}else {
servletContext.setAttribute("count",count+1);
}
PrintWriter printWriter = response.getWriter();
printWriter.print("<h1>" + count + "</h1>");
}
}
這個簡單的小栗子我放到github上,有興趣可以試一下慢蜓。就是ServletContext的方法的是用亚再,更助于了解ServletContext。
https://github.com/leleqin/visitCount