这将向您介绍一个在Java中称为Session的主题,并在过程中向您简要介绍会话管理在Java中的工作原理。本文将介绍以下指针,HttpSessionInterfaceindex
这将向您介绍一个在Java中称为Session的主题,并在过程中向您简要介绍会话管理在Java中的工作原理。本文将介绍以下指针,
HttpSessionInterfaceindex.html索引Servlet1.java Servlet2.javaweb.xml文件优点缺点
,让我们开始吧,然后,Java
中的
会话两个系统(即客户机和服务器)相互通信的时间间隔可以称为会话。简单地说,会话是由客户端和服务器之间的多个请求和响应组成的状态。
众所周知,HTTP和Web服务器都是无状态的。因此,维护用户状态的唯一方法是使用实现会话跟踪的技术。servlet中的会话跟踪可以通过多种方法实现,cookies就是其中之一。但是,它们有多个缺点:
只有文本信息可以由它们保存。如果用户禁用了cookie,则web应用程序将无法使用它们。单个cookie最多只能包含4kb的数据。实现会话跟踪的另一种方法是为JavaServlet中的每个用户创建具有唯一会话ID的会话。”
“继续本文讨论Java中的会话”
“Http会话接口”
“Java中的Servlets提供了一个称为‘Http Session Interface’的接口。它们由各种方法组成,其中一些方法在下面讨论:
public HttpSession getSession(boolean create):此方法获取与请求关联的会话。如果它不可用或不存在,将基于指定的布尔参数创建新会话。public String getId():此方法返回唯一的会话id。public long getCreationTime():此方法返回创建会话的时间。它以毫秒为单位。public long getLastAccessedTime():此方法返回上次访问会话的时间。它以毫秒为单位。public void invalidate():使用此方法可以使会话无效。“
“示例:在下面给出的示例中,我们使用了HttpSession接口的getAttribute()和setAttribute()方法。
将继续使用Java文章
中此会话的第一个示例index.html索引用户名:进口java.io语言.*;进口javax.servlet.http.*;公共类Servlet1扩展了HttpServlet{public void doGet(HttpServletRequest请求,HttpServletResponse响应){响应.setContentType(“文本/html”);打印机写入程序=响应.getWriter();字符串名称=请求.getParameter(“用户名”);打印程序(“欢迎” 姓名);HttpSession会话=请求.getSession();会话.setAttribute(“uspass”,密码);压水反应堆关闭();}catch(异常exp){}}
继续第三个示例
Servlet2.java进口javax.servlet.*;进口javax.servlet.http.*;public void doGet(HttpServletRequest请求,HttpServletResponse响应){试试看{打印机写入程序=响应.getWriter();String myName=(字符串)会话.getAttribute(“usname”);打印程序(“Name:” myName “Pass:” myPass);}catch(异常exp){}}Servlet1MyServlet1/loginformMyServlet2MyServlet2/欢迎使用