java web编程(一)

维护当前用户和Web应用的状态通过以下两种方式实现:

一种是通过Cookie方式实现,一种是通过Session方式实现。

Cookie通过在客户端保存用户的信息,每次服务器端回去读取客户端的Cookie中的信息。

Session通过两种方式实现:

一种是把一个名为JSESSIONID的十六进制数字的信息保存到Cookie中标识每一个访问的用户。

一种是通过URL重写的方式就是把每个用户的jsessionid的值附加到URL中,实现会话功能。

HttpSessionTest

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class HttpSessionTest extends HttpServlet 
{

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

		HttpSession session = request.getSession();
		Integer count = (Integer) session.getAttribute("counter");
		if (count == null)
		{
			count = 1;
		} 
		else
		{
			count++;
		}
		session.setAttribute("counter", new Integer(count));
		request.getRequestDispatcher("/count.jsp").forward(request, response);
	}

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


count.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK" session="true"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>访问量统计</title>
</head>
<body>
	<% 
		HttpSession httpSession = request.getSession();
		Integer count = (Integer)httpSession.getAttribute("counter");
		out.println("当前访问量为:"+count);	
	%>
</body>
</html>


每个用户对应一个session




原文地址:https://www.cnblogs.com/mengjianzhou/p/5986870.html