Session
Session
每一个连接到服务器的客户端都是session
servlet用此接口创建客户端服务器之间的会话
是存在服务端的
优点:安全性高
缺点:session 是保存在服务端的,每个用户都会产生一个session,并发访问多的话,每个用户都会生成session,消耗内存
@WebServlet("/ss1")
public class Session1 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取session 先判断是否存在 不存在则创建
HttpSession sess=req.getSession();
//获取session的会话标识符
String id=sess.getId();
System.out.println(id);
//获取创建时间
System.out.println(sess.getCreationTime());
//获取最后一次时间
System.out.println(sess.getLastAccessedTime());
//判断是否是新的session对象
System.out.println(sess.isNew());
//设置域对象
sess.setAttribute("sess","sexx");
sess.setAttribute("sess1","sexx");
//移除域对象
sess.removeAttribute("sess");
//请求转发
req.getRequestDispatcher("index.jsp").forward(req,resp);
//重定向
resp.sendRedirect("index.jsp");
/**
* session对象销毁
* 1.到期时间
* tomcat 默认30分钟失效 不操作页面的时间
* 自定义
* 2.立即销毁
* 3.关闭浏览器立即失效
*/
//最大不活动时间
sess.getMaxInactiveInterval();
//15秒
sess.setMaxInactiveInterval(15);
//立即销毁
sess.invalidate();
}
}
<html>
<head>
<title>$Title$</title>
</head>
<body>
<%
//获取Session对象
String sess0=(String) request.getSession().getAttribute("sess");
String sess1=(String) request.getSession().getAttribute("sess1");
System.out.println(sess0+" "+sess1);
//获取request参数
String uname=request.getParameter("uname");
String pwd=(String) request.getAttribute("pwd");
System.out.println(uname+" "+pwd);
%>
</body>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!