一、前言
在我们学习session的时候,我们知道:当服务器创建session出来后,会把session的id号,以cookie的形式回写给客户端,这样,只要客户端的浏览器不关,再去访问服务器时,都会带着session的id号去,服务器发现客户端浏览器带session id过来了,就会检索这个id,然后找到服务器中与之对应的session为之服务。
但是,cookie可以被人为的禁止,则必须有其他机制以便在cookie被禁止时仍然能够把session id传递回服务器。
经常被使用的一种技术叫做URL重写,就是把session id直接附加在URL路径的后面。
二、URL重写
Servlet规范引入了一种补充的会话管理机制,它允许不支持Cookie的浏览器也可以与WEB服务器保持连续的会话。
有会话标识号以参数形式附加在超链接的URL地址后面的技术称为URL重写。
HttpServletResponse接口中定义了两个用于完成URL重写的方法:
①. response.encodeRedirectURL(java.lang.String url) :用于对sendRedirect方法后的url地址进行重写。
②. response.encodeURL(java.lang.String url):用于对表单action和超链接的url地址进行重写。
在跳转页面的超链接上修改为:
action