一.应用
1.保存用户浏览器记录数据
2.保存用户登录信息数据
3.验证码
二.session和cookie的区别
cookie | session | |
会话数据保存位置 | 客户端 | 服务端 |
数据安全性 | 不安全 | 安全 |
存储是否有限制 | 有 | 无 |
三.常用方法
1.HttpSession getSession() :获取session对象
2.void setAttribute(String name, Object value) :在session中保存数据
3.Object getAttribute(String name) :从session中获取数据
4.void removeAttribute(String name) :从session中移除数据
四.运行结果
package org.example;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/session")
public class SessionServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取session对象
final HttpSession session = req.getSession();
//添加数据
session.setAttribute("name","hutu");
//获取数据
final Object name = (String)session.getAttribute("name");
System.out.println(name);
//移除数据
session.removeAttribute("name");
//再次获取
final Object name1 = (String)session.getAttribute("name");
System.out.println(name1);
}
}