编写一个Servlet,实现统计网站被访问次数的功能
1弄清楚如何储存你访问的记录的次数这题就很好解决了
(a)getAttribute(java.lang.String name)
返回具有给动名字的servlet container 的属性,或者当没有具有所给名字的属性时,返回一个空值。
(b)setAttribute(java.lang.String name, java.lang.Object object)
绑定一个对象到在 servlet context中给定的属性名称。
2用(b)存 用(a)取这样就可以保存访问次数
3init()只有只调用一次所以用init方法把参数设置为零
// package wp001;
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 count extends HttpServlet {
@Override
public void init() throws ServletException {
/* 初始化参数
* */
ServletContext context = getServletContext();
//2.保存参数
context.setAttribute("visitTimes", 0);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
//1.从servletContext中取得visitTimes
ServletContext context = getServletContext();
int times = (Integer) context.getAttribute("visitTimes");
//2.将visitTimes++
times++;
//3.更新
context.setAttribute("visitTimes", times);
out.print("你正在坊问我第"+times);
System.out.println("我被访问了!"+times);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}