Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么HttpServletRequest会截断#字符上的url输入?_Java_Spring_Servlets_Spring Web - Fatal编程技术网

Java 为什么HttpServletRequest会截断#字符上的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

下面的servlet读取url路径参数。 问题:如果输入包含特殊字符,例如我发现
#
,则字符串被截断

@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,因此显然没有机会使用哈希号从服务器端读取参数。但是如果这对您很重要,为什么不将信息作为参数传递?因此显然没有机会完全从服务器端读取具有哈希号的参数。但是如果这对您很重要,为什么不将信息作为参数传递呢?