encodeURL() vs encodeRedirectURL()

简介: 当用URL重写方式来管理Session的时候,通过以上两个方法把session ID写到URL中。不同点是:两个方法确定是否需要包含session ID的逻辑不同。在调用HttpServletResponse.sendRedirect前,应该先调用encodeRedirectURL()方法,否则可能会丢失Sesssion信息。

        当用URL重写方式来管理Session的时候,通过以上两个方法把session ID写到URL中。不同点是:两个方法确定是否需要包含session ID的逻辑不同。在调用HttpServletResponse.sendRedirect前,应该先调用encodeRedirectURL()方法,否则可能会丢失Sesssion信息。

        下面来自于参看J2EE帮助文档。

  • java.lang.String encodeRedirectURL(java.lang.String url),对sendRedirect方法使用的指定URL进行编码。如果不需要编码,就直接返回这个URL。 之所以提供这个附加的编码方法,是因为在redirect的情况下,决定是否对URL进行编码 的规则和一般情况有所不同。所给的URL必须是一个绝对URL。相对URL不能被接收,会抛 出一个IllegalArgumentException。所有提供给sendRedirect方法的URL都应通过 这个方法运行,这样才能确保会话跟踪能够在所有浏览器中正常运行。
  • java.lang.String encodeURL(java.lang.String url),对包含session ID的URL进行编码。如果不需要编码,就直接返回这个URL。Servlet引 擎必须提供URL编码方法,因为在有些情况下,我们将不得不重写URL,例如,在响应对应的 请求中包含一个有效的session,但是这个session不能被非URL的(例如cookie)的手 段来维持。所有提供给Servlet的URL都应通过这个方法运行,这样才能确保会话跟踪能够 在所有浏览器中正常运行。

        实际上看完之后还是不怎么理解,等等学完会话控制再探讨。。。。

目录
相关文章
|
5月前
|
缓存 Java 索引
idea 使用神坑之索引篇(自定义不创建索引文件夹)
idea 使用神坑之索引篇(自定义不创建索引文件夹)
111 0
|
5月前
|
网络协议 Unix Linux
posix_api与网络协议栈
posix_api与网络协议栈
46 1
|
8月前
|
机器学习/深度学习 安全 算法
「机密计算-隐私计算」科普
「机密计算-隐私计算」科普
345 0
|
8月前
|
存储 IDE Java
[Java]Maven学习笔记(尚硅谷2022)(一)
[Java]Maven学习笔记(尚硅谷2022)(一)
|
7月前
|
关系型数据库 MySQL
|
7月前
|
SQL 关系型数据库 MySQL
基于 Flink CDC 高效构建入湖通道
阿里云 Flink 数据通道负责人、Flink CDC 开源社区负责人, Apache Flink PMC Member & Committer 徐榜江(雪尽),在 Streaming Lakehouse Meetup 的分享。
518 0
基于 Flink CDC 高效构建入湖通道
|
Java Maven
Maven: settings.xml、pom.xml完整配置
Maven: settings.xml、pom.xml完整配置
1659 0
|
Java 应用服务中间件 程序员
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
1136 0
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
|
设计模式 JavaScript Java
JSP的简化:一文吃透EL表达式(上)
文章目录 1 走进EL表达式 2 关于EL表达式与Bean对象 2.1 什么是Java Bean? 2.2 使用EL表达式输出复杂Bean对象 3 EL表达式的运算 3.1 关系运算 3.2 逻辑运算 3.3 算术运算 3.4 empty运算 3.5 三元运算 3.6 点运算和中括号运算 4 EL表达式的11个隐含对象 4.1 概述 4.2 获取四个特定域中的属性 4.3 pageContext对象的使用 4.4 param、paramValues对象的使用 4.5 header、headerValues对象的使用 4.6 cookie对象的使用 4.7 initParam对象的使用
JSP的简化:一文吃透EL表达式(上)
|
Web App开发 缓存 前端开发
【Github】玩转Github系列之三——史上最全Github加速手段
【Github】玩转Github系列之三——史上最全Github加速手段
2719 0
【Github】玩转Github系列之三——史上最全Github加速手段