JSP入门之用户会话

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

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

  隐藏域

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

  XML/HTML代码

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

  XML/HTML代码

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

  XML/HTML代码

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

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字样。

Java数据结构和算法_程序员必修课_面试必备icon-default.png?t=M276https://www.bilibili.com/video/BV1kL4y1u7nj/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值