JBOSS+SPRING 请求参数 URL 编码
JBOSS+SPRING RequestParam URL ENCODING
我有一个端点
@RequestMapping(value="/register")
public String register(@RequestParam("p") String p) {
}
传递给 p
参数的值实际上是一个编码的 URL。但是,当它到达我的端点时,它会自动转换为解码形式。我希望它保持编码形式。
有办法吗?也许一些配置?
我同意@JB Nizet。最方便的方法是:
@RequestMapping(value="/register")
public String register(@RequestParam("p") String p) {
p = URLEncoder.encode(value, "utf-8");
}
其中 utf-8
只是举例。实际编码取决于您的情况。
当然不是自动的,但不需要在部署的任何 servlet 服务器上重新配置 servlet 上下文。
要在 utf-8
中强制 JBoss 编码 url,您可以尝试添加到您的服务器配置:
<system-properties>
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>
我有一个端点
@RequestMapping(value="/register")
public String register(@RequestParam("p") String p) {
}
传递给 p
参数的值实际上是一个编码的 URL。但是,当它到达我的端点时,它会自动转换为解码形式。我希望它保持编码形式。
有办法吗?也许一些配置?
我同意@JB Nizet。最方便的方法是:
@RequestMapping(value="/register")
public String register(@RequestParam("p") String p) {
p = URLEncoder.encode(value, "utf-8");
}
其中 utf-8
只是举例。实际编码取决于您的情况。
当然不是自动的,但不需要在部署的任何 servlet 服务器上重新配置 servlet 上下文。
要在 utf-8
中强制 JBoss 编码 url,您可以尝试添加到您的服务器配置:
<system-properties>
<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>