session会话
# session会话
会话跟踪技术
解决HTTP无状态不能识别用户的问题。
API
HttpSession session=request.getSession(); //服务器端获取会话,如果是首次发送请求获取不到,则会创建新的并相应给客户端;客户端第二次请求会把sessionId带给服务器,服务器根据sessionId判断会话。 session.isNew();//判断当前会话是否是新的 session.getId();//获取sessionId session.getMaxInactiveInterval();//session允许不操作的最大时长,默认30min, session.invalidate();//强制性让会话立即失效1
2
3
4
5
6向session保存作用域存储数据(账号密码)。同一个浏览器使用一个session,不同浏览器属于不同session。
HttpSession session=request.getSession(); session.setAttribute("uname","john"); Object res=session.getAttrbute("uname");//注意结果是Object类型1
2
3页面转发:表示在容器内部servlet把请求转发给另一个servlet进行处理响应,客户端总共只发送一个Http请求。
request.getRequestDispatcher("demo7").forward(request,response);1客户端重定向:servlet响应给客户端,并告诉他去请求另一个servlet。客户端总共发送两个Http请求,地址栏发生变化。
response.sendRedirect("demo7");1
保存作用域
request:保存的数据仅在一次请求响应有效。
response.sendRedirect无效,而request.getRequestDispatcher有效
session:保存的数据在一个会话作用域内有效。
不同客户端访问无效,因为它们的session是不同的。
application:保存的数据在整个应用程序开启内有效
只要Tomcat服务器开启期间,所有客户都能访问到相同数据。
ServletContext application=request.getServletContext(); application.setAttribute("name",uname);1
2通过html传过来的值用request.getParameter()获取
String fid=request.getParameter("fid");1
编辑 (opens new window)
上次更新: 2023/12/15, 15:49:57