【问题标题】:tomcat or apache automatically encodes redirect urltomcat 或 apache 自动编码重定向 url
【发布时间】:2012-02-07 19:33:51
【问题描述】:

我的 Spring 控制器中有一个简单的重定向,如下所示:

if (url != null) {
    String username = request.getParameter("j_username");
    if(username != null) {
         username = URLEncoder.encode(username, "UTF-8");
    }
    url = url + (url.contains("?")? "&":"?") + "j_username=" + username;
    getRedirectStrategy().sendRedirect(request, response, url);
}

用户名应预先填写在下一个表单中。这在我的本地码头和开发(Tomcat)环境中运行良好(用户名正确显示为“abc@mysite.com”)。但是当它到达 apache/tomcat 上的 QA 时,用户名被双重编码,它在浏览器地址栏上显示“j_username=abc%2540mysite.com”,并在表单上显示为“abc%40mysite.com”。以前从未见过这个问题。任何指针?谢谢。

【问题讨论】:

    标签: apache tomcat urlencode


    【解决方案1】:

    尝试使用org.springframework.web.util.UriUtils.encodeQueryParam(String, String) 编码查询参数,URLEncoder 太笼统,不知道您所处的上下文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-30
      • 2018-10-12
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 2016-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多