gpt4 book ai didi

java - Servlets response.sendRedirect(String url) 似乎没有发送编码,为什么?

转载 作者:行者123 更新时间:2023-11-30 09:55:20 25 4
gpt4 key购买 nike

我有一些明确使用字符编码并重定向到某个 servlet 的 Servlet

class Servlet1 extends HttpServle{
void doGet(..... ){
// ...
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8"):
//......
response.redirect(servlet2);
}
}

class Servlet2 extends HttpServle{
void doGet(..... ){
// ...
request.getCharacterEncoding(); // prints null ?? why???
//......

}
}

那么,为什么字符编码没有随请求一起发送?

最佳答案

HttpServletResponse#setCharacterEncoding() 设置当前响应的编码,而不是后续请求的编码。在后续请求中将其传回也不是客户的责任。如果没有客户端的交互,您想要实现的目标是根本不可能的,在这种情况下不需要这样做。为了得到你想要的,客户端必须设置 HTTP Content-Type带有 charset 属性的 header 本身。使用类似 Firebug 的 HTTP header 调试器工具进行检查你会发现请求中没有它。

关于java - Servlets response.sendRedirect(String url) 似乎没有发送编码,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2879123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com