java

导航

JSP入门之用户会话-java课程免费学习,高薪触手可得

来源 :中华考试网 2020-11-30

  在实际的开发中,一个网页经常是要基于另一个网页的,这就要求这两个网 页中有信息交流的。但是,HTTP是无状态协议,无法为我们保存信息。比如我们在登录页面中登录了,在以后的使用中必须让服务器知道我们已经登录了,比如 在后面操作中要要根据用户名来查询用户的相关信息,这是就必须想办法记住这个用户的用户名。在这节中我们将重点讲解如何解决这个问题。

  让客户端记住数据并返回给web服务器主要有4种技术:

  隐藏域

  HTML窗体支持HIDDEN类型的输入元素,隐藏域域HTTP请求中的其他窗体参数一起被发送到Web服务器,但他们没有任何可视表示。隐藏域的语法如下:

  XML/HTML代码

  下面我们通过下面例子了解下隐藏域的用法,新建一个JSP页面命名为TestHidden:

  XML/HTML代码

  在建一个JSP页面命名为Result.jsp

  XML/HTML代码

  当我们调用TestHidden.jsp页面单击提交之后就会在页面显示出welcome to jcourse字样。

  填写下面表单即可预约申请免费试听java课程!害怕学不会?助教陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

  URL重写

  URL重写比较简单,只是在URL后面加上所要传递的信息即可,如上面的例子我们就可以在所要提交到的页面的URL后面加上

  ?message=“welcom to jcourse”即可。

  cookie

  我们先来看下面这个例子,看看是如何使用cookie的。

  XML/HTML代码

  然后再修改刚才编写的Result.jsp如下

  XML/HTML代码

  name:

  value:

  此时我们会在页面中看到下面信息:

  name:message

  value:welcome to jcourse

  name:JSESSIONID

  value:5ADDE51EEDB7A42D98E769967BAD0D94

  可能有的人会对这个结果感到惊讶,不用着急我们接下来分析下这个代码。cookie.setMaxAge(60*60*24);这段代码是设置 cookie的有效时间,我们将其设为一天。response.sendRedirect("Result.jsp");这个语句的作用是直接跳转语句到 Result.jsp页面中。那么输出结果中名字为JSESSIONID是什么呢?原来我们在创建一个JSP页面时,隐含对象Session也被添加到了 cookie中了,如果我们在page伪指令中设置session为false,这个值就会消失了,读者可以自行尝试。

  会话API

  前面我们已经介绍几种会话跟踪的方法,接下来我们来介绍一种更高层的方法:Javax.servlet.http.HttpSession API.

  HttpSession像和Map差不多的接口,能够根据名字存储和检索对象。可通过 HttpServletRequest.getSession()创建一个会话,并保留它直至超时或参与一个会话的Servlet关闭。我们先通过下面这 个例子对session有个初步的了解:

  XML/HTML代码

  Result.jsp:

  XML/HTML代码

  同样我们还会在页面中看到welcome to jCourse字样。

分享到

您可能感兴趣的文章