springmvc,controller层在接收浏览器url传来的参数带中文乱码问题。

  1. 请求地址:http://localhost:8080/saveFlashSale?fsRemark=哈哈哈哈哈

  2. 接收方法:@RequestMapping("/saveFlashSale")
    public Msg saveFlashSale(FlashSale sale)
  3. 实体FlashSale接收到的fsRemark是乱码。
  • 分析:在接收了的时候就是乱码了,那就用排除法。

  1. eclipse:widow->Perference->General->Workspace:是utf-8,说明不是这里的问题。
  2. 右击项目,选择Properties->Resource:也是utf-8,说明不是这里的问题。
  3. 右击类,选择Properties->Resource:也是utf-8,说明不是这里的问题。
  4. src->webapp下我web.xml:

    <init-param>
    <param-name>encoding</param-name>
    <param-value>utf8</param-value>
    </init-param>

            这也正常,说明也不是这里的问题。

  • 分析了一遍,发现项目的编码都是utf-8,是没问题,说明问题出在了tomcat本身。

  1. 打开server.xml,第65行(一般来说都是这里),发现<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />是没有指定编码的。
  2. 解决:在<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"  URIEncoding="UTF-8"/>加上URIEncoding="UTF-8。
  3. 重启项目,重新请求方法,好了,期待已久的中文出现啦。此刻才发现,中文是多么的亲切。

 

原文地址:https://www.cnblogs.com/hsz-csy/p/9098665.html

时间: 2024-10-10 11:35:08

springmvc,controller层在接收浏览器url传来的参数带中文乱码问题。的相关文章

解决浏览器向服务器传递参数时中文乱码问题

解决Get方式的中文参数的乱码问题: 方式1: 前提是Tomcat是默认的配置: key = new String(key.getBytes("iso8859-1"), "utf-8"); 方式2: 在Tomcat的server.xml中设置: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPo

Ajax的底层实现--使用Ajax实现无刷新登录实例--解决ajax中URl参数带中文的乱码问题

  1.jsp代码 第一部分(html代码):前端页面 <div id="login"> 用户名: <input type="text" id="userName"/> <!--用户名--> 密码: <input type="password" id="psw"/> <!--密码--> <input type="submit&quo

解决backbone url请求中参数有中文,存入数据库是乱码

最近项目用到了backbone 做前后端的分离方案,遇见了中文乱码问题,解决方案总结如下: 假设需要存一条课程记录到后台 model定义如下: var AddCourse= Backbone.Model.extend({ url:path+"/course/add", parse : function(response){ return response.data; } }); encodeURIComponent 函数 将中文的内容进行编码 $('#addCourseBtn' ).c

纯JS设置首页,增加收藏,获取URL參数,解决中文乱码

雪影工作室版权全部,转载请注明[http://blog.csdn.net/lina791211] 1.前言 纯Javascript 设置首页,增加收藏. 2.设置首页 // 设置为主页 function SetHome(obj, vrl) { try { obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vrl); } catch (e) { if (window.netscape) { try { netscape.s

配置Tomcat解决URL传参引出的中文乱码问题

今天在写一个JSP页面时候,发现下面报错: <span style="font-size:18px;"> <a href="request.jsp?username=小七七">测试URL传参</a></span> 通常情况下,通过使用contentType和下面的就可以解决传参过程中的中文乱码问题,但是貌似URL传参还要设备别的东西. <% request.setCharacterEncoding("u

SSH环境 jsp url跳转,带中文参数乱码问题

URL中编码格式为ISO-8859-1,处理中文只需将编码格式转换ISO-8859-1 方法一: http://xxx.do?ptname='我是中国人' String strPtname = request.getParameter("ptname"); strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8"); 方法二(推荐使用): <%@ page conten

SpringMVC Controller层的单元测试

Getting Ready 测试相关Maven dependency如下: <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.0.3.RELEASE</version> <scope>test</scope> </dependency> &

Mock测试SpringMvc Controller 层的例子.

spring version : 4.1.6.RELEASE Junit version : 2.4.5 package com.shiji.soc.es.controller; import static org.junit.Assert.*; import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; imp

控制器中的Action方法,接收浏览器传过来的参数,总共有几种?

1.根据配置文件中的URL规则 public ActionResult Delete(int id) //id参数就是根据路由里面的参数id来传过来的,这个action方法中的参数一定要和路由中的id参数一样,大小写无所谓 { } 2.Mdel(模型绑定)(一般是通过Post方式,来接收参数) <td><input type="text" name="s_Name" value="@Model.s_Name" /><