request.getParameter()在正确编码的URL上失败

N43

当我request.getParameter( "filename" )在GWT中调用HttpServletRequest时遇到了一个问题这是我如何编码URL的代码:

String sFile = URL.encodeQueryString( "°^!§$%()=`´' glassfish +~#'@€-_²³.pdf" );
String sURL = GWT.getModuleBaseURL() + "filehttpservice" // name of the httpservlet
    + "?filename=" + sFile; // the name of the file to download
Window.open( sURL, "_blank", sFeatures ); // sFeatures are some window-settings

因此,我想下载名称中包含一些特殊字符的文件。URL编码的名称是:

%C2%B0%5E!%C2%A7%24%25()%3D%60%C2%B4'%20glassfish%20%2B~%23'%40%E2%82%AC-_%C2%B2%C2%B3.pdf

这是正确的,因为我可以使用该名称直接在浏览器中调用该文件。

因此,当请求到达HttpServlet的get-Method时,我想使用以下代码从其参数中提取文件名:

request.setCharacterEncoding( "UTF-8" );
String sFilename = request.getParameter( "filename" );

但是收到的文件名是:

°^!§$%()=`´' glassfish +~#'@â¬-_²³.pdf

这是完全错误的。

我已经搜索了很长时间,并尝试了服务器解决方案,但是它什么都没有改变。有人知道我如何接收正确的文件名吗?

阿努拉格·阿南德(Anurag Anand)

request.setCharacterEncoding( "UTF-8" );对没有影响doGet()doGet()queryString中,容器到达之前要对其进行解析doGet()

您应该使用doPostrequest.getInputStream()解析queryString自己。并且不要request.getParameter()在此之前使用request.getInputStream()否则将无法使用。

默认情况下,编辑JavaStringutf-16..编码因此您必须将其转换为utf-8

response.setHeader( "Content-Disposition", new String("attachment; filename=\"" + sUrlFilename + ".pdf" + "\"".getBytes("utf-8"),"ISO-8859-1") );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用request.getParameter上<A>

来自分类Dev

request.getParameter()在Java Servlet中无法正确显示字符编码

来自分类Dev

Servlet request.getParameter()始终返回“ null”

来自分类Dev

value =“ <%request.getParameter%>>不起作用

来自分类Dev

使用request.getParameter请求不同的参数

来自分类Dev

在JSP中request.getParameter返回null

来自分类Dev

Servlet request.getParameter返回null

来自分类Dev

单选按钮和request.getParameter

来自分类Dev

未检查 Java request.getParameter 条件

来自分类Dev

Request.getParameter() 仅将“+”替换为“”

来自分类Dev

request.getParameter 返回 null ,我为此浏览了很多,但没有得到正确的解决方案

来自分类Dev

Ajax调用后request.url不正确?

来自分类Dev

Java Servlet:以我不了解的方式连接了request.getParameter和request.setAttribute

来自分类Dev

request.getParameter预期没有空值

来自分类Dev

request.getParameter返回空值:JSP,Servlet

来自分类Dev

将request.getparameter()结果转换为日期

来自分类Dev

JSP request.getParameter(“ ..”)始终为选择标记返回null

来自分类Dev

带有列表的Http request.getParameter(fieldname)

来自分类Dev

从request.getParameter()获取Input type =“ image”值

来自分类Dev

无法使用`request.getParameter`将数据转换为大写

来自分类Dev

我的request.getParameter(abc)有什么问题?

来自分类Dev

jsp到servlet request.getParameter不起作用

来自分类Dev

request.getparameter在多个servlet上不起作用

来自分类Dev

无法将servlet中的request.getParameter()写入jsp

来自分类Dev

request.getParameter 获取 java.lang.NumberFormatException: null

来自分类Dev

解析编码的$ _SERVER ['request_uri']

来自分类Dev

request-unixsocket的配方构建失败

来自分类Dev

使Screenreader在get-request上阅读消息

来自分类Dev

g:部署问题-/ admin上的KeyError'request'

Related 相关文章

  1. 1

    用request.getParameter上<A>

  2. 2

    request.getParameter()在Java Servlet中无法正确显示字符编码

  3. 3

    Servlet request.getParameter()始终返回“ null”

  4. 4

    value =“ <%request.getParameter%>>不起作用

  5. 5

    使用request.getParameter请求不同的参数

  6. 6

    在JSP中request.getParameter返回null

  7. 7

    Servlet request.getParameter返回null

  8. 8

    单选按钮和request.getParameter

  9. 9

    未检查 Java request.getParameter 条件

  10. 10

    Request.getParameter() 仅将“+”替换为“”

  11. 11

    request.getParameter 返回 null ,我为此浏览了很多,但没有得到正确的解决方案

  12. 12

    Ajax调用后request.url不正确?

  13. 13

    Java Servlet:以我不了解的方式连接了request.getParameter和request.setAttribute

  14. 14

    request.getParameter预期没有空值

  15. 15

    request.getParameter返回空值:JSP,Servlet

  16. 16

    将request.getparameter()结果转换为日期

  17. 17

    JSP request.getParameter(“ ..”)始终为选择标记返回null

  18. 18

    带有列表的Http request.getParameter(fieldname)

  19. 19

    从request.getParameter()获取Input type =“ image”值

  20. 20

    无法使用`request.getParameter`将数据转换为大写

  21. 21

    我的request.getParameter(abc)有什么问题?

  22. 22

    jsp到servlet request.getParameter不起作用

  23. 23

    request.getparameter在多个servlet上不起作用

  24. 24

    无法将servlet中的request.getParameter()写入jsp

  25. 25

    request.getParameter 获取 java.lang.NumberFormatException: null

  26. 26

    解析编码的$ _SERVER ['request_uri']

  27. 27

    request-unixsocket的配方构建失败

  28. 28

    使Screenreader在get-request上阅读消息

  29. 29

    g:部署问题-/ admin上的KeyError'request'

热门标签

归档