系统间接口联调总是报500 for URL 和 乱码

两个系统做数据传输时,懒省事,直接访问 action 方式。结果总是报500,或者fileNotFount。

究其原因是因为两边的数据格式没对应上。post请求返回的格式是String,数据提供方返回的数据格式Map啊JSON啊都不怎么对。只得返回了json.toString.。记录一下,欢迎拍砖指导。

net.sf.json.JSONObject obj = net.sf.json.JSONObject.fromObject(resultMap);
        
        try {
            response.setCharacterEncoding("UTF-8");
            response.setContentType("text/plain, utf-8");
            PrintWriter out = response.getWriter();
            out.print(obj.toString());
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
//        return obj.toString();
return obj.toString();  直接返回这个接受方会出现乱码。
关于乱码这个问题,网上也有其他解决方案:比如 mapping中增加produces

@Controller
@RequestMapping(value = "/query", produces = "text/html;charset=UTF-8")
public class QueryController {

 

@RequestMapping(value = "***",produces={"application/json;","text/html;charset=UTF-8;"})  

可参见

http://blog.csdn.net/u010979495/article/details/50610856

 

转载于:https://www.cnblogs.com/yeyuchangfeng/p/6774793.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值