目录
1.json解析
导入pom依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.3</version>
</dependency>
配置spingmvcxml
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!– 定义默认的异常处理页面 –>
<property name="defaultErrorView" value="error"/>
<!– 定义异常处理页面用来获取异常信息的变量名,也可不定义,默认名为exception –>
<property name="exceptionAttribute" value="ex"/>
<!– 定义需要特殊处理的异常,这是重要点 –>
<property name="exceptionMappings">
<props>
<prop key="java.lang.RuntimeException">error</prop>
</props>
<!– 还可以定义其他的自定义异常 –>
</property>
</bean>
测试
package com.hz.ssm.web;
import com.hz.ssm.biz.ClazzBiz;
import com.hz.ssm.model.Clazz;
import com.hz.ssm.util.PageBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author黄仲
* @site www.Hz.com
* @company 公司
* @create 2022-08-22 16:28
*/
@RestController
@RequestMapping("/clz/json")
public class JsonWeb {
@Autowired
private ClazzBiz clazzBiz;
@RequestMapping("/clzEdit")
public String clzEdit(){
System.out.println("JsonWeb.clzEdit");
return "clzEdit";
}
// list《T》
@RequestMapping("/list")
public List<Clazz> list(HttpServletRequest request,Clazz clazz){
PageBean pageBean=new PageBean();
pageBean.setRequest(request);
if (true)
throw new RuntimeException("系统繁忙,错误出现在 JsonController.list...");
return this.clazzBiz.listPager(clazz,pageBean);
}
// list<map>
@RequestMapping("/listMap")
public List<Map> listMap(HttpServletRequest request, Clazz clazz){
PageBean pageBean=new PageBean();
pageBean.setRequest(request);
return this.clazzBiz.listMapPager(clazz,pageBean);
}
// map
@RequestMapping("/map")
public Map map(HttpServletRequest request, Clazz clazz){
PageBean pageBean=new PageBean();
pageBean.setRequest(request);
return this.clazzBiz.listMapPager(clazz,pageBean).get(0);
}
// T
@RequestMapping("/load")
public Clazz load(HttpServletRequest request, Clazz clazz){
PageBean pageBean=new PageBean();
pageBean.setRequest(request);
if(true)
throw new RuntimeException("系统繁忙,请参考E007");
return this.clazzBiz.listPager(clazz,pageBean).get(0);
}
// map {
// msg:""
// 混合对象
// }
@RequestMapping("/hunhe")
public Map hunhe(HttpServletRequest request, Clazz clazz){
PageBean pageBean=new PageBean();
pageBean.setRequest(request);
List<Clazz> lst = this.clazzBiz.listPager(clazz, pageBean);
Map map=new HashMap();
map.put("data",lst);
map.put("pagebean",pageBean);
return map;
}
}
2.全局异常处理的3种形式
package com.hz.ssm.exception;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
/**
* @author黄仲
* @site www.Hz.com
* @company 公司
* @create 2022-08-22 18:41
*/
//@ControllerAdvice
public class GlobalExceptionResolver {
@ExceptionHandler
public ModelAndView handler(Exception e){
ModelAndView mv=new ModelAndView();
mv.setViewName("error");
if (e instanceof GlobalException){
GlobalException exception= (GlobalException) e;
mv.addObject("ex",exception.getMessage());
mv.addObject("msg","全局异常,GlobalExceptionResolver错误码501");
}else if(e instanceof RuntimeException){
RuntimeException exception= (RuntimeException) e;
mv.addObject("ex",exception.getMessage());
mv.addObject("msg","远行是异常,GlobalExceptionResolver错误码601");
}
return mv;
}
}
JSON解析与全局异常处理
本文介绍了JSON的解析过程,包括引入相关依赖、SpringMVC配置及测试。同时,探讨了全局异常处理的三种实现方式。

被折叠的 条评论
为什么被折叠?



