HttpSession会话管理
服务器为每个会话创建一个HttpSession对象
每个会话对象都有一个唯一的ID
把用户的数据相应的保存到HttpSession对象中
举例:
public class Servlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();//第一次发送请求时创建Session对象,如果不是第一次则返回第一次创建的session对象
String id = session.getId();
out.println(id);
//session.invalidate();
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
实验:
记录不同用户(浏览器)的访问次数。不停的刷新页面,页面上的数次在增加。
public class Servlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession();//获取HttpSession对象
Integer count = (Integer) session.getAttribute("count");//如果你是第一次访问那么这个值应该为null;
if(count==null) {
count = 1;
}else {
count++;//如果不为null 说明之前访问过 count++
}
session.setAttribute("count", count);
out.println("这是你第"+count+"次访问");
out.close();
}
session.getAttribute(" "):
session.getAttribute(“username”)的方法获得这个对象. 比如说,当用户已登录系统后你就在session中存储了一个用户信息对象,此后你可以随时从session中将这个对象取出来进行一些操作,比如进行身 份验证等等.