当前位置: 首页 > 知识库问答 >
问题:

Spring MVC URIEncoding无法正确发送requestparam

庾和昶
2023-03-14

我需要将一些请求参数从浏览器发送到Spring MVC控制器,然后像方法参数一样处理它们。问题是tomcat我想没有为通过的URI数据正确编码。而不是'Имя'我有:МБДОУ д/с№9с. Елионка

我曾经读到过这种类型的问题,这是因为tomcat没有预装URI编码。

如果你介意我有身体编码在tomcat配置web.xml,所以是的我有:

<filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
        <init-param>
            <param-name>encoding</param-name>  
            <param-value>UTF-8</param-value>  
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>tru?</param-value>
        </init-param>       
    </filter>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

所以我很好奇我还需要设置容器配置吗?谢谢

共有2个答案

金健
2023-03-14

我发现在不更改Tomcat配置的情况下执行此操作的唯一方法是:

将参数置于表单中

<form onsubmit="encodeParameter(this.param)">
  <input type="text" name="param" />
  <input type="submit" />
</form>
葛勇锐
2023-03-14

您必须在服务器中为HTTP连接器设置URIEncoding属性。tomcat配置目录中的xml文件

<Connector port="8080" URIEncoding="UTF-8" ...  />
 类似资料:
  • 我正在开发一个应用程序,该应用程序具有获取OTP的功能,并且我使用了firebase OTP功能(使用手机号码在Android上与firebase进行身份验证),但不幸的是,有时我会面临这样的问题,比如我没有从firebase获得OTP,同时它也没有给出任何错误。我不知道我犯了什么错。需要帮助来解决这个问题,我也尝试了一些样本,它工作正常,但当我试图在我的项目中集成firebase是不是发送otp

  • 我有一个Spring Boot应用程序正在尝试使用Spring Cloud Gateway访问一些微服务。我使用的代码基于以下位置的说明: 基本上,我的应用程序复制了该站点上提供的代码,包括作者创建的两个测试微服务: 和 我的实际网关代码与作者的类似: package com . betterjavacode . API gateway demo . config; 不幸的是,当我运行此应用程序时

  • 我制作了一个简单的JavaScript页面,当按下“发送”按钮时,该页面应该显示时间表并通过HTTP发送数据。 数据应该发送到一个Arduino使用这个简单的方案: http://arduinoip/DATASTARTSHEREhh:mm;hh:mm;hh:mm;[...];DATAENDSHERE 我使用以下代码打印我在Arduino串行监视器中收到的所有数据: 我收到的数据如下: 新客户 CM

  • 问题内容: 好,这就是我得到的,基本上是单击一个按钮并执行以下代码: 除了传递给Monsterequest.php以外,其他所有东西似乎都按预期工作,该帖子没有传递到其自身上,并且页面在传递给主要父对象时基本上重新加载了它的自我…(我不确定是否是,但是monsterrequest.php本身似乎可以很好地工作,但是在加载时它根本无法按预期工作,我完全感到困惑。我基本上想发布数据而无需重新加载页面。

  • 问题内容: 由于某种原因,onPageFinished在WebView完成加载之前就触发了-我不知道为什么… 好的,看来这不是固定的。我认为加载页面时出现了竞争情况,但是无法获得可复制的行为。 我将网页的HTML内容存储在SQLite数据库中,以便离线查看。我使用以下命令将内容重新加载到WebView中: 似乎有时在加载WebView时,它会正确触发WebViewClient.onPageFini

  • 问题内容: 我正在使用Play编写一个部署在Tomcat中的webapp。因为该应用程序不会处理大量数据,所以我在Hibernate中使用默认的H2数据库。当我想部署新版本的应用程序时,我关闭了tomcat,擦除了旧的webapp和WAR,添加了新的WAR,然后开始备份。 直到几天前,当我添加数据库组件时,它一直有效。现在,我经常无法重新部署该应用程序。当我删除旧目录时,它将使用以下结构自动重新生