Spring restful web service编码乱码问题

来源:互联网 发布:cf总出现网络异常 编辑:程序博客网 时间:2024/05/16 19:39

转自:http://blog.csdn.net/cm_0914/article/details/8003335


Spring MVC从3.0开始支持REST

Spring MVC从3.0开始支持REST,主要是通过@PathVariable来处理请求参数和路径的映射.假设在Controller中定义了如下的请求映射
@RequestMapping(value = "/account/{key}")
如果请求路径里有中文(如/account/全聚德),可能会有乱码问题,通过设置服务器的编码可以解决,对于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:.*}")




java:

@Controller@RequestMapping(value = "/labelAction")public class TabLabelController {@RequestMapping(value = "/findLabels/{groupid}/{searchKeyWord}", method = RequestMethod.GET)public Service findById(@PathVariable("groupid") String groupid,@PathVariable("searchKeyWord") String searchKeyWord) {}}
调用:htt://sdfsfsf/labelAction/findInGroup/112.xml

原创粉丝点击