是这样的
框架:ssm
有自定义全局异常处理器
在密码错误或手机号错误等情况时,抛出异常,并且在异常处理器里面respone返回了json,大约就是这样的
{
"errormessage": "手机号码格式不正确"
}但是手机端只能接到500错误,并没有接收到json,该怎么办呢?
可用确定的是抓包,是抓到了json的,而且同时也是500
框架:ssm
有自定义全局异常处理器
在密码错误或手机号错误等情况时,抛出异常,并且在异常处理器里面respone返回了json,大约就是这样的
{
"errormessage": "手机号码格式不正确"
}但是手机端只能接到500错误,并没有接收到json,该怎么办呢?
可用确定的是抓包,是抓到了json的,而且同时也是500
解决方案 »
- 交换两个int参数的值和两个integer的值有什么区别
- 500分求webservice soap帮助
- java 怎么动态输出输入的内容
- 论坛系统小问题,怎么让管理员的名字区别于普通用户?
- 关于mysql中表设置外键的问题
- 使用bat批处理运行java控制台程序导出的jar文件
- 请问我的weblogic.ejbc 为什么不能够用啊?
- 配好tomcat后,用localhost:8080可以访问默认页,但是用本机的ip却无法访问,请帮忙
- 各位达人,虚心JNI调用的问题?
- 各位大侠,新年好!请问哪里有Jbuilder电子书籍下载?
- 关于protected void Button1_Click(object sender, EventArgs e) 的问题
- hibernate的Transformers使用问题
1.定义全局异常处理器,
2.业务代码中通过异常捕获方式,返回相应错误信息。
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
// TODO Auto-generated method stub
ZhouxiaoqiException exception= null;
if(ex instanceof ZhouxiaoqiException){
//如果抛出的是zhouxiaoqiexception
exception=(ZhouxiaoqiException) ex;
}else{
//如果抛出的不是
exception = new ZhouxiaoqiException("系统错误,请与系统管理 员联系!");
}
//如果是手机端
if(request.getRequestURI().indexOf("/app/")>=0||request.getRequestURI().indexOf("SMS")>=0){
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setExcludes(new String[]{"cause","localizedMessage","stackTrace","message"});
JSONObject jsonObject = JSONObject.fromObject(exception,jsonConfig);
String string = jsonObject.toString();
// 将json数据通过输出流写到客户端
response.setContentType("text/json;charset=utf-8");
try {
response.getWriter().write(string);
} catch (IOException e) {
System.out.println(1);
e.printStackTrace();
}
return null;
}else{
//如果是后台客户端
ModelAndView mv = new ModelAndView();
mv.addObject("message", exception.getErrormessage());
mv.setViewName("error");
return mv;
}
}
不用设置异常什么的,正常调用,你给response错误码和信息即可.这样也不是json返回.对了,500呢有可能是服务器端出问题了,你最好自己用浏览器模拟请求,看看是不是真的接口没问题