本文共 1557 字,大约阅读时间需要 5 分钟。
使用servlet会话API中定义的类和接口来创建和管理用户会话,servlet会话API提供的用于创建和管理用户会话的各种接口有javax.servlet.http.HTTPsession javax.servlet.http.HTTPsessionListener javax.servlet.http.HTTPsessionBindingListener
方法 | 描述 |
---|---|
public void setAttribute(String name,Object value) | 将属性绑定到具有为一名称的会话对象上 |
public void getAttribute(String name,Object value) | 从会话对象中检索绑定到方法中指定的属性名称的对象 |
public void invalidate() | 使对话无效,杀死Session |
public String getId() | 获取会话id |
public boolean isNew() | 返回该Session是否是新创建的 |
实例:
创建一个servlet,给对象绑定一个属性,并且给定输出(代码使用doget方法,import部分的代码省略)package Session会话;@WebServlet("/Session")public class Session extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.创建一个session对象 HttpSession session =request.getSession(); //2给对象绑定一个属性 session.setAttribute("name", "yueyueniao"); //获取该属性 String name1 = (String)session.getAttribute("name"); System.out.println("name:"+name1); //获取该id String id= session.getId(); System.out.println("session id:"+id); }}
当运行了上述代码后,我们使用的Session会话机制,其绑定的值使用的是cookie保存在浏览器当中,我们再定义一个servlet,不给其绑定值,而直接获取值,看是否能够获取
package Session会话;@WebServlet("/othersession")public class othersession extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session =request.getSession(); String name1 = (String)session.getAttribute("name"); System.out.println("other.name:"+name1); String id= session.getId(); System.out.println("other id:"+id); }}
转载地址:http://kxmzi.baihongyu.com/