java - 在 Servlet/Tomcat 中获取请求编码

标签 java http tomcat servlets character-encoding

我需要获取 HTTP 请求的实际字符编码。

我可以使用 HttpServletRequest.getCharacterEncoding(),但是当请求中未指定编码时,它会返回 null。我可以假设它是 ISO-8859-1 那么,according to the FAQ和 HTTP 规范。

我仍然宁愿调用一个简单地告诉我它是什么的方法,而不是基于规范来假设事情。有这种方法吗?

最佳答案

当有人发送请求时,他/她有责任为他们的请求设置正确的编码,如果他/她不这样做,那么它应该被安全地视为垃圾。推测服务器端的请求编码不是明智之举,因为这会在以后导致意想不到的问题。最好让请求失败,而不是自己承担事情。此外,尽可能早地使请求失败,因为不必要的处理会消耗资源,如果保护不当,可能会成为潜在的漏洞。

关于java - 在 Servlet/Tomcat 中获取请求编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072416/

相关文章:

java - 获取流的最后一个元素的最有效方法

当我使用 -cp 时,Java 无法找到或加载主类

ruby-on-rails - 让 rails url helpers 使用适当的协议(protocol)?

java - 我的 WAR 文件不包含最新的更改

tomcat - 配置 Tomcat 以使用 Windows Active Directory 进行身份验证

Java 编译器看不到我的类

java - 从字符串数组中选择一个随机元素?

http - Logstash,具有不同路径的多个http输入?

android - 什么是最强大的 Android HTTP 库?

java - java文件运行出错