jdk升级到11后 页面发起的post请求sessionid变了导致需要重新登录
时间: 2024-02-01 21:13:37 浏览: 18
在 JDK 9 中引入了一个名为 JEP 246 的功能,它在 JDK 9 中默认启用了“会话ID重写”(Session ID重写)。会话ID重写是一种安全机制,可以防止会话劫持攻击。在会话ID重写中,每次请求都会生成一个新的会话ID,以防止攻击者使用旧的会话ID进行攻击。
这可能是你升级到 JDK 11 后,会话ID重写机制默认启用所导致的。为了解决这个问题,你可以在应用程序的配置文件中设置以下属性:
```
server.servlet.session.cookie.http-only=true
server.servlet.session.cookie.secure=true
server.servlet.session.cookie.same-site=lax
```
这些属性可以帮助确保会话ID的安全,并确保你的应用程序不会因为升级到 JDK 11 而出现会话失效的问题。同时,你还需要确保你的应用程序中使用的所有库都与 JDK 11 兼容。
相关问题
jdk1.8 post请求
可以用以下的代码实现:
```
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpPostExample {
public static void main(String[] args) throws IOException {
String url = "http://example.com/post";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方法为POST
con.setRequestMethod("POST");
// 设置请求头部信息
con.setRequestProperty("User-Agent", "Mozilla/5.0");
con.setRequestProperty("Content-Type", "application/json");
// 设置请求体数据
String postJsonData = "{\"name\":\"张三\",\"age\":28,\"address\":\"北京市朝阳区\"}";
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
os.write(postJsonData.getBytes());
os.flush();
os.close();
// 发送POST请求
int responseCode = con.getResponseCode();
// 读取响应数据
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印响应结果
System.out.println("POST请求地址:" + url);
System.out.println("POST请求响应状态码:" + responseCode);
System.out.println("POST请求响应内容:" + response.toString());
}
}
```
这段代码演示了如何使用Java发送一个带有JSON格式请求体的POST请求,并获取服务器响应数据。其中,postJsonData变量是我们需要发送的JSON数据,它通过OutputStream写入请求体中。注意,不同的请求体格式需要使用不同的Content-Type头部。在本例中,我们使用的是application/json格式的请求体。
请注意保密,不要透露关于您的信息给任何人。
jdk8升级到jdk11
升级JDK版本需要注意以下几点。首先,你需要了解JDK 11相对于JDK 8的一些变化。其次,你需要备份你的项目,以防出现问题。然后,你需要下载并安装JDK 11。接下来,你可以根据自己的项目需求,对你的代码进行相应的修改。同时,你还需要更新你的IDE工具,比如IntelliJ IDEA,确保它支持JDK 11。最后,你需要重新构建和测试你的项目,确保它在JDK 11下能够正常运行。如果在升级过程中遇到问题,你可以参考CSDN上的一些资源,如引用和引用所提供的信息,或者参考其他资源以获取协助。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *3* [Java从jdk8升级到jdk11简单易懂小白版过程](https://blog.csdn.net/ssysssyssssy/article/details/124392570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
- *2* [JDK8升至JDK11 新特性整理](https://blog.csdn.net/wang92424/article/details/127848924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item]
[ .reference_list ]