1、实验五 会话管理
一、实验目的
1。 了解Web服务器对客户跟踪的各种方法;
2. 重点掌握使用HttpSession对象跟踪会话的方法;
3。 掌握使用Cookie技术跟踪会话的方法;
4。 了解URL重写和隐藏表单域的方法。
二、实验原理
HTTP协议是无状态的协议.在很多情况下,Web服务器必须能够跟踪客户的状态。比如,对于一个购物网站,在一个时刻可能有多个客户购物,Web服务器必须能够区分不同的客户.一般情况下,Web服务器为每个客户配置了虚拟的购物车(ShoppingCart)。当某个客户请求将一个商品放入购物车时,Web服务器必须根据发出请求的客户的身份,找到该客
2、户的购物车,然后把商品放入其中。
Web服务器跟踪客户的状态通常有4种方法:
(1)使用HttpSession对象管理会话;(2)使用持久的Cookie对象;(3)使用URL重写机制;(4)使用隐藏的表单域。
三、实验内容与步骤
(一) 使用HttpSession对象管理会话。
【步骤1】建立Servlet对象,代码如下:
package cn。edu.session.servlet;
import java。io。IOException;
import java。io。PrintWriter;
import javax。servlet.ServletException;
3、import javax。servlet.http.HttpServlet;
import javax。servlet。http。HttpServletRequest;
import javax。servlet。http。HttpServletResponse;
import javax.servlet。http。HttpSession;
public class LoginServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response
4、
throws ServletException, IOException {
request。setCharacterEncoding("utf—8");
response。setContentType("text/html;charset=utf-8”);
String username = request。getParameter(”username”);
if(username。equalsIgnoreCase(”zhangsan”)) {
response.getWriter()。print("用户名或密码错误!");
} else {
5、 HttpSession session = request.getSession();
session.setAttribute(”username”, username);
response.sendRedirect("/prac05_session/index1。jsp”);
}
}
}
【步骤2】修改web。xml文件,添加代码如下:
〈servlet〉
〈servlet—name〉LoginServlet〈/servlet-name〉
〈servlet—class>cn。edu。session.servlet。LoginServlet
6、〈/servlet—class〉
〈/head>
〈hr/>
7、