2024年4月28日发(作者:)
实验五 会话管理
一、实验目的
1。 了解Web服务器对客户跟踪的各种方法;
2. 重点掌握使用HttpSession对象跟踪会话的方法;
3。 掌握使用Cookie技术跟踪会话的方法;
4。 了解URL重写和隐藏表单域的方法。
二、实验原理
HTTP协议是无状态的协议。在很多情况下,Web服务器必须能够跟踪客户的状态。比如,
对于一个购物网站,在一个时刻可能有多个客户购物,Web服务器必须能够区分不同的客户。
一般情况下,Web服务器为每个客户配置了虚拟的购物车(ShoppingCart)。当某个客户请求将
一个商品放入购物车时,Web服务器必须根据发出请求的客户的身份,找到该客户的购物车,
然后把商品放入其中。
Web服务器跟踪客户的状态通常有4种方法:
(1)使用HttpSession对象管理会话;(2)使用持久的Cookie对象;(3)使用URL重写机制;
(4)使用隐藏的表单域。
三、实验内容与步骤
(一) 使用HttpSession对象管理会话。
【步骤1】建立Servlet对象,代码如下:
package n。servlet;
import java。ption;
import java。riter;
import javax。servlet。ServletException;
import javax。。HttpServlet;
import rvletRequest;
import t。http。HttpServletResponse;
import t。ssion;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
racterEncoding(”utf-8”);
response。setContentType(”text/html;charset=utf—8”);
String username = ameter(”username");
if(username。equalsIgnoreCase("zhangsan”)) {
response。getWriter().print(”用户名或密码错误!");
} else {
HttpSession session = request。getSession();
ribute(”username", username);
response。sendRedirect("/prac05_session/index1。jsp”);
}
}
}
【步骤2】修改web。xml文件,添加代码如下:
〈servlet〉
〈servlet—name>LoginServlet〈/servlet-name〉
〈servlet-class〉n。ervlet〈/servlet—class〉
〈/servlet〉
【步骤3】新建页面,代码如下:
<%@ page language="java” import=”java
。
util
。*
” pageEncoding=”UTF-8"%>
<!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN">
〈head〉
〈body>
〈h1>login。jsp
〈form action="/prac05_session/sessionLoginServlet" method="post">
用户名:
〈/form>
〈/body〉
