Java 为什么HttpServletRequest会截断#字符上的url输入?
下面的servlet读取url路径参数。 问题:如果输入包含特殊字符,例如我发现Java 为什么HttpServletRequest会截断#字符上的url输入?,java,spring,servlets,spring-web,Java,Spring,Servlets,Spring Web,下面的servlet读取url路径参数。 问题:如果输入包含特殊字符,例如我发现#,则字符串被截断 @RestController public class MyServlet { @GetMapping("/hash") @ApiIgnore public String hash(HttpServletRequest req) { String pw = req.getPathInfo(); //asdfgh } } `localhos
#
,则字符串被截断
@RestController
public class MyServlet {
@GetMapping("/hash")
@ApiIgnore
public String hash(HttpServletRequest req) {
String pw = req.getPathInfo(); //asdfgh
}
}
`localhost:8080/hash/asdfgh#jkl`
问题:如何以本机方式传递输入参数?从
#
开始的部分不会发送到servlet或由servlet接收。这是一种仅从客户端(浏览器)使用的信息,不会产生任何影响 URI的一部分 各国确实: 当URI引用用于在上执行检索操作时 标识的资源,可选的片段标识符,与 URI由交叉线(“#”)字符组成,由附加的 用户代理在 检索操作已成功完成。事实并非如此 URI的一部分,但通常与URI结合使用
从
#
开始的部分不会发送到servlet或由servlet接收。这是一种仅从客户端(浏览器)使用的信息,不会产生任何影响 URI的一部分 各国确实: 当URI引用用于在上执行检索操作时 标识的资源,可选的片段标识符,与 URI由交叉线(“#”)字符组成,由附加的 用户代理在 检索操作已成功完成。事实并非如此 URI的一部分,但通常与URI结合使用
尝试在控制器路径中使用regex尝试在控制器路径中使用regex,因此显然没有机会使用哈希号从服务器端读取参数。但是如果这对您很重要,为什么不将信息作为参数传递?因此显然没有机会完全从服务器端读取具有哈希号的参数。但是如果这对您很重要,为什么不将信息作为参数传递呢?