Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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中过滤文件名_Java_Spring Mvc_Servlets_Httprequest - Fatal编程技术网

Java 如何避免在HttpServletRequest中过滤文件名

Java 如何避免在HttpServletRequest中过滤文件名,java,spring-mvc,servlets,httprequest,Java,Spring Mvc,Servlets,Httprequest,我的文件名是abc#123.pdf,它通过连接到url传递到服务器端 在服务器端,我使用此行获取文件名。但只获取“abc”,过滤#之后的字符串。我怎样才能避免这种情况 fileName=request.getParameter(文档名称) 发生这种情况是因为URL中#之后的任何内容都被视为URL的引用部分。在将查询参数发送到服务器端时,需要对其进行编码。如果您使用的是javascript,那么可以执行以下操作 var myUrl = "http://example.com?documentNam

我的文件名是abc#123.pdf,它通过连接到url传递到服务器端

在服务器端,我使用此行获取文件名。但只获取“abc”,过滤#之后的字符串。我怎样才能避免这种情况


fileName=request.getParameter(文档名称)

发生这种情况是因为URL中#之后的任何内容都被视为URL的引用部分。在将查询参数发送到服务器端时,需要对其进行编码。如果您使用的是javascript,那么可以执行以下操作

var myUrl = "http://example.com?documentName=" + encodeURIComponent("abc#123.pdf");
在java端,使用以下代码获取参数

encodeFileName = request.getParameter(DOCUMENT_NAME);
您可以使用URLDecker对值进行解码

String fileName = java.net.URLDecoder.decode(encodeFileName, "UTF-8");

请确保在javascript中使用encodeURI组件,如果使用encodeURI,它将不会对#进行编码。

客户端应编码此参数,然后服务器应使用URLDecoder.decode对其进行解码