利用URL重写实现Session跟踪

  • Servlet规范中引入了一种补充的会话管理机制,它允许不支持Cookie的浏览器也可以与WEB服务器保持连续的会话。这种补充机制要求在响应消息的实体内容中必须包含下一次请求的超链接,并将会话标识号作为超链接的URL地址的一个特殊参数。
  • 将会话标识号以参数形式附加在超链接的URL地址后面的技术称为URL重写。如果在浏览器不支持Cookie或者关闭了Cookie功能的情况下,WEB服务器还要能够与浏览器实现有状态的会话,就必须对所有可能被客户端访问的请求路径(包括超链接、form表单的action属性设置和重定向的URL)进行URL重写。
  • HttpServletResponse接口中定义了两个用于完成URL重写方法:

encodeURL方法
encodeRedirectURL方法

<form action="<%=response.encodeURL("hello.jsp")%>" method="post">
    UserName:<input type="text" name="username" value="<%=username%>"/>
    <input type="submit" value="登录"/>
</form>

时间: 2024-10-10 06:53:50

利用URL重写实现Session跟踪的相关文章

Tips/Tricks#5:利用URL重写隐藏复杂的URL

注:此系列记录在我实际开发中遇到的问题和收藏一些技巧文章. 本篇技巧和诀窍记录的是:利用URL重写隐藏复杂的URL,非常简单的技巧,我相信大家都知道. 这个场景太常见了,当然有许多许多的方法,我来介绍一种非常简单的方法吧! 第一步:模拟映射页面 我们想在一个页面上点击guid.html链接,跳转到比较复杂URL的guid_{492f3e0b-848e-11da-9550-00e08161165f}.html页面.即定义一个映射,该映射隐藏实际的URL并将其映射到用户更容易记忆的URL. 第二步:

利用URL重写隐藏复杂的URL

第一步:模拟映射页面 我们想在一个页面上点击guid.html链接,跳转到比较复杂URL的guid_{492f3e0b-848e-11da-9550-00e08161165f}.html页面.即定义一个映射,该映射隐藏实际的URL并将其映射到用户更容易记忆的URL. 第二步:如何做到呢 来个非常简单的,在web.config文件的system.web节点设置urlMappings. <system.web> <urlMappings enabled="True">

Session,Cookie,jsessionid,Url重写

在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码: < % cookie[]cookies = request.getCookies(); if (cookies.lenght == 0 || cookies == null){ doStuffForNewbie(); //没有访问过 }else{ doStuffForReturnVisitor(); //已经访问过了 } % > 这是很浅显

Cookie / Session / URL重写

Cookie //创建一个Cookie对象 Cookie cookie = new Cookie("username","JACK"); //在客户端存储的时间(生命周期)单位是秒 7天 7*24*60*60 //如果这里设置为0 就表示客户端不保存该cookie 即临时cookie //如果设置为-1 就表示客户端关闭之后就删除该cookie 也可以称之为临时cookie cookie.setMaxAge(-1); //设置cookie在客户端存放的路径 如果不设

cookie session URL重写 与考试

状态管理.Cookie.Session.URL重写 HTTP协议:无状态的连接(每次连接都是新的请求)1.隐藏字段 <input type="hidden" name="session" value=""/> 在响应中进行操作2.Cookie 保存到客户端3.Session 保存到服务器4.用户禁用Cookie:使用URL重写 在URL后加上jsessionid=123; Cookie原理1.数据以"键-值"对的形

关于session的实现:cookie与url重写

本文讨论的语境是java EE servlet. 我们都知道session的实现主要两种方式:cookie与url重写,而cookie是首选(默认)的方式,因为各种现代浏览器都默认开通cookie功能,但是每种浏览器也都有允许cookie失效的设置. 由于浏览器默认启动cookie功能,而且普通客户一般都不会取消cookie功能.久而久之,我们写代码的时候,也就不会在意session的具体实现,其实这里面还是有很多值得注意的地方,尤其在用户取消cookie功能的情况下. 一 servlet se

session,url重写,防止表单重复提交

Session入门_session原理 1.Session概述 1.在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象), 注意:一个浏览器独占一个session对象(默认情况下). 2.Session 是一个域 1.作用范围:一个浏览器和服务器会话范围 2.生命周期: 创建 当程序第一次调用到request.getSession()方法时说明客户端明确的需要用到session此时创建出对应客户端的Session对象. request.getSession()=req

javaWeb学习总结(7)-关于session的实现:cookie与url重写

本文讨论的语境是java EE servlet.我们都知道session的实现主要两种方式:cookie与url重写,而cookie是首选(默认)的方式,因为各种现代浏览器都默认开通cookie功能,但是每种浏览器也都有允许cookie失效的设置.由于浏览器默认启动cookie功能,而且普通客户一般都不会取消cookie功能.久而久之,我们写代码的时候,也就不会在意session的具体实现,其实这里面还是有很多值得注意的地方,尤其在用户取消cookie功能的情况下.一 servlet sessi

应用程序状态管理①隐藏表单字段②cookie③session④URL重写

应用程序状态管理:服务器连接时无状态的,每次发送的请求对于服务器都是新的,而不知道两次是否是同一人发送的,为了解决应用程序状态,有4个常用方法:表单隐藏字段:动态生成的才有效cookie:记录在浏览器端,键值对,可见,不安全session:记录在服务器端,也是键值对,服务器维护需要大量资源,可以设定有效时限URL重写:在用户禁用cookie时,发送地址包含有会话ID Cookie是web服务器发送到客户端浏览器的简短文本信息,在第一次访问服务器后就由服务器向客户端浏览器发送,以后再访问同一个站点