HttpServlet动态生成网站访问次数的图像
首先,需要写一个类,作为记录网站访问次数的工具(ImgCounter.java)。
public class ImgCounter
{
private int counter;
public ImgCounter()
{
}
public ImgCounter(int counter)
{
this.counter = counter;
}
public int getCounter()
{
return counter;
}
public void setCounter(int counter)
{
this.counter = counter;
}
public void addCount(int step)
{
this.counter += step;
}
}
之后是ImgCounterServlet:
ServletContext context = getServletContext();
//通过ServletContext获得域属性
ImgCounter counter = (ImgCounter) context.getAttribute("Imgcounter");
if (counter == null)
{
counter = new ImgCounter(1);
context.setAttribute("Imgcounter", counter);
}
counter.addCount(1);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<html><head><title>ImgCounterServlet</title></head>");
out.println("<body>");
//通过img显示访问次数的图片
String imgString = "<img src='/TestPro/servlet/ImageServlet?count=" + counter.getCounter() + "'/>";
out.println("您是第" + imgString + "访问者。");
out.println("</body></html>");
out.close();
【注意】
<img>中使用了一个动态生成图像的HttpServlet,ImageServlet具体实现代码见《HttpServlet动态生成图像》。