Spring MVC3.0乱码问题

本文详细介绍了SpringMVC从3.0版本开始支持REST,并通过@PathVariable注解处理请求参数和路径映射。针对请求路径包含中文或特殊字符导致的乱码问题,提供了通过修改服务器编码解决的方法,以及如何处理路径中出现的点符号导致的解析错误,并给出了相应的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring MVC从3.0开始支持REST,主要是通过@PathVariable来处理请求参数和路径的映射.假设在Controller中定义了如下的请求映射

 

@RequestMapping(value = "/save/{sjid}/{cdlb}/{sjcdmc}", method = RequestMethod.GET)

 

如果请求路径里有中文(如/menu/save/0/0/无上级菜单),可能会有乱码问题,通过设置服务器的编码可以解决,对于Tomcat,只需要修改conf/server.xml文件,添加URIEncoding="UTF-8"即可,如:

 

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

如果路径中有点"."(如/account/abc.def.ghi),Spring会当作文件扩展名的点来处理,这时Controller中就只能取到最后一个点之前的数据,即abc.def,解决办法是修改请求映射的定义为以下形式:

 

@RequestMapping(value = "/account/{keyword:.*}")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值