java web编程(一)

来源:互联网 发布:unity3d 手游联机原理 编辑:程序博客网 时间:2024/05/28 23:22

维护当前用户和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




原创粉丝点击