response.encodeRedirectURL作用

来源:互联网 发布:帝国cms二次开发手册 编辑:程序博客网 时间:2024/05/22 07:00

作用时:

session对象能和客户建立意义对应的关系依赖于客户的浏览器是否支持cookie,如果客户的浏览器不支持的话,那么客户再不同网页之间的session对象可能时互不相同的,因为服务器无法将ID存放到客户端,就不能建立session对象和客户的一一对应关系。可以通过URL重写来实现session对象的唯一性。所谓URL重写就是当客户从一个页面重新连接到一个页面时,通过向这个新的URL添加参数,把session对象的id传过去,这样能够保证session对象是完全相同的。可以使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。

eg:

String str=response.encodeRedirectURL("hope.jsp");

连接目标写成:<%=str%>即可。

encodeURL()是本应用级别的,encodeRedirectURL()是跨应用的。  

 

以下时网上搜索到的解析:

第一种解释:

作用:

Encodes the specified URL for use with redirect( ) by adding an necessary session ID.

Example

Response.redirect( Response( ).encodeRedirectURL( url ) )

第二种解释:

1.response.encodeRedirectURL(url)是一个进行URL重写的方法, 使用这个方法的作用是为了在原来的url后面追加上Jsessionid 。 目的是保证即使在客户端浏览器禁止了cookie的情况下,服务器端仍然能够对其进行事务跟踪.
2.response.sendRedirect(url)
 是一个url重定向的方法, 服务器端的通过该方法,告诉客户端的浏览器去访问url所指向的资源

第三种解释:

对于要进行跳转时把url   encode  
  如:   response.sendRedirect(response.encodeRedirectURL("dfddf.jsp?na=上海"));  
  不encode时getParameter("na")是乱码

原文:http://blog.sina.com.cn/s/blog_49f485700100cg84.html