hitcounterservlet.java

来自「servlet初学者最好的例子……希望能对大家有所帮助」· Java 代码 · 共 57 行

JAVA
57
字号
package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Date;
import java.text.DateFormat;

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

@SuppressWarnings("serial")
public class HitCounterServlet extends HttpServlet {
  
	static final String COUNTER_KEY="Counter";
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
 
		//获取会话对象
		HttpSession session=request.getSession(true);
		response.setContentType("text/html;charset=gb2312");
		PrintWriter out = response.getWriter();
		
		//从会话中获取属性
		int count=1;
		Integer i=(Integer)session.getAttribute(COUNTER_KEY);
		if(i!=null)
		{
			count=i.intValue()+1;
		}
		
		//将属性信息存入会话
		Date lastAccessed=new Date(session.getLastAccessedTime());
		Date sessionCreated=new Date(session.getCreationTime());
		DateFormat formatter=DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
		
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>会话计数器</TITLE></HEAD>");
		out.println("  <BODY>");
		out.println("你的会话ID:<b>"+session.getId()+"<br>");
		out.println("会话创建时间:"+formatter.format(sessionCreated)+"<br>");
		out.println("会话上次访问时间:"+formatter.format(lastAccessed)+"<br>");
		out.println("</b>会话期间页面发起<b>"+count+"</b>次请求");
		out.println("<form method=GET action=\""+request.getRequestURI()+"\">");
		out.println("<input type=submit"+" value=\"再次点击...\">");
		out.println("</form>");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		//out.close();
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?