springmvc 接收参数中文乱码的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Bo_wen_/article/details/50218095

今天写了一个controller


@RequestMapping("/addAUsertype")
	public @ResponseBody Map<String,Object> addAUsertype(@RequestParam String typeId,@RequestParam String typeName,
			@RequestParam Integer maxBorrowNum) 
	{
		Map<String,Object> map = new HashMap<String,Object>();
		Map<String,Object> paramMap = new HashMap<String,Object>();
		try{
			
			paramMap.put("typeId", typeId);
			paramMap.put("typeName", typeName);
			paramMap.put("maxBorrowNum", maxBorrowNum);
			int flag = usertypeservice.addAUsertype(paramMap);
			if(flag == 1)
			{
				map.put(Constants.STATUS, Constants.SUCCESS);
				map.put(Constants.MESSAGE, "添加用户类型成功");	
			}
			else
			{
				map.put(Constants.STATUS, Constants.FAILURE);
				map.put(Constants.MESSAGE, "添加用户类型失败");	
			}
		}
		catch(Exception e)
		{
			e.getStackTrace();
			map.put(Constants.STATUS, Constants.FAILURE);
			map.put(Constants.MESSAGE, "添加用户类型失败");				
		}
		
		return map;
	}
然而在测试的时候http://localhost:8080/pandastore/usertype/addAUsertype.do?typeId=00005&typeName= 教师&maxBorrowNum=100


2015-12-08 13:10:18 [com.panda.mapper.UsertypeMapper.addAUsertype]-[DEBUG] ==>  Preparing: insert into usertype(type_id,type_name,max_borrow_num,is_delete) values(?,?,?, 0) 
2015-12-08 13:10:18 [com.panda.mapper.UsertypeMapper.addAUsertype]-[DEBUG] ==> Parameters: 00020(String), é???????????(String), 100(Integer)
2015-12-08 13:10:18 [com.panda.mapper.UsertypeMapper.addAUsertype]-[DEBUG] <==    Updates: 1

 接收到的中文参数变为了乱码


解决方法:get方法:在tomcat的server.xml的

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

添加URIEncoding="utf-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>


post:

web.xml配置一个字符过滤器

    <!-- Spring字符集过滤器 -->
    <filter>
        <filter-name>SpringEncodingFilter</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>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>SpringEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>


猜你喜欢

转载自blog.csdn.net/Bo_wen_/article/details/50218095
今日推荐