在实际的开发中,一个网页经常是要基于另一个网页的,这就要求这两个网 页中有信息交流的。但是,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字样。
上一篇:Java反射机制API
下一篇: 没有了
一级建造师二级建造师消防工程师造价工程师土建职称房地产经纪人公路检测工程师建筑八大员注册建筑师二级造价师监理工程师咨询工程师房地产估价师 城乡规划师结构工程师岩土工程师安全工程师设备监理师环境影响评价土地登记代理公路造价师公路监理师化工工程师暖通工程师给排水工程师计量工程师
执业药师执业医师卫生资格考试卫生高级职称护士资格证初级护师主管护师住院医师临床执业医师临床助理医师中医执业医师中医助理医师中西医医师中西医助理口腔执业医师口腔助理医师公共卫生医师公卫助理医师实践技能内科主治医师外科主治医师中医内科主治儿科主治医师妇产科医师西药士/师中药士/师临床检验技师临床医学理论中医理论