1.json处理
- //pom.xml
- "1.0" encoding="UTF-8"?>
-
"http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
4.0.0 -
-
org.example -
zljzyssm -
1.0-SNAPSHOT -
war -
-
zljzyssm Maven Webapp -
-
http://www.example.com -
-
UTF-8 -
1.8 -
1.8 -
3.7.0 -
-
-
5.0.2.RELEASE -
-
3.4.5 -
-
5.1.44 -
-
5.1.2 -
-
1.3.1 -
-
2.1.1 -
2.4.3 -
-
2.9.1 -
3.2.0 -
1.7.13 -
-
4.12 -
4.0.0 -
1.18.2 -
1.1.0 -
2.10.0 -
2.9.0 -
1.7.1.RELEASE -
2.9.3 -
1.2 -
1.1.2 -
8.0.47 -
1.3.3 -
5.0.2.Final -
1.3.2 -
-
-
-
-
org.springframework -
spring-core -
${spring.version} -
-
-
org.springframework -
spring-beans -
${spring.version} -
-
-
org.springframework -
spring-context -
${spring.version} -
-
-
org.springframework -
spring-orm -
${spring.version} -
-
-
org.springframework -
spring-tx -
${spring.version} -
-
-
org.springframework -
spring-aspects -
${spring.version} -
-
-
org.springframework -
spring-web -
${spring.version} -
-
-
org.springframework -
spring-test -
${spring.version} -
-
-
-
org.mybatis -
mybatis -
${mybatis.version} -
-
-
-
mysql -
mysql-connector-java -
${mysql.version} -
-
-
-
com.github.pagehelper -
pagehelper -
${pagehelper.version} -
-
-
-
org.mybatis -
mybatis-spring -
${mybatis.spring.version} -
-
-
org.springframework -
spring-context-support -
${spring.version} -
-
-
-
org.mybatis.caches -
mybatis-ehcache -
${mybatis.ehcache.version} -
-
-
-
net.sf.ehcache -
ehcache -
${ehcache.version} -
-
-
redis.clients -
jedis -
${redis.version} -
-
-
org.springframework.data -
spring-data-redis -
${redis.spring.version} -
-
-
com.fasterxml.jackson.core -
jackson-databind -
${jackson.version} -
-
-
com.fasterxml.jackson.core -
jackson-core -
${jackson.version} -
-
-
com.fasterxml.jackson.core -
jackson-annotations -
${jackson.version} -
-
-
-
org.apache.commons -
commons-dbcp2 -
${commons.dbcp2.version} -
-
-
commons-pool2 -
org.apache.commons -
-
-
-
-
org.apache.commons -
commons-pool2 -
${commons.pool2.version} -
-
-
-
org.springframework -
spring-webmvc -
${spring.version} -
-
-
-
-
-
-
org.slf4j -
slf4j-api -
${slf4j.version} -
-
-
org.slf4j -
jcl-over-slf4j -
${slf4j.version} -
runtime -
-
-
-
org.apache.logging.log4j -
log4j-api -
${log4j2.version} -
-
-
org.apache.logging.log4j -
log4j-core -
${log4j2.version} -
-
-
-
org.apache.logging.log4j -
log4j-slf4j-impl -
${log4j2.version} -
-
-
-
org.apache.logging.log4j -
log4j-web -
${log4j2.version} -
runtime -
-
-
-
com.lmax -
disruptor -
${log4j2.disruptor.version} -
-
-
-
junit -
junit -
${junit.version} -
-
-
-
javax.servlet -
javax.servlet-api -
${servlet.version} -
provided -
-
-
org.projectlombok -
lombok -
${lombok.version} -
provided -
-
-
jstl -
jstl -
${jstl.version} -
-
-
taglibs -
standard -
${standard.version} -
-
-
org.apache.tomcat -
tomcat-jsp-api -
${tomcat-jsp-api.version} -
-
-
commons-fileupload -
commons-fileupload -
${commons-fileupload.version} -
-
-
org.hibernate -
hibernate-validator -
${hibernate-validator.version} -
-
-
-
org.apache.shiro -
shiro-core -
${shiro.version} -
-
-
org.apache.shiro -
shiro-web -
${shiro.version} -
-
-
org.apache.shiro -
shiro-spring -
${shiro.version} -
-
-
-
zljzyssm -
-
-
-
src/main/java -
-
**/*.xml -
-
-
-
-
src/main/resources -
-
jdbc.properties -
*.xml -
-
-
-
-
-
org.apache.maven.plugins -
maven-compiler-plugin -
${maven.compiler.plugin.version} -
-
-
${maven.compiler.target} -
${project.build.sourceEncoding} -
-
-
-
org.mybatis.generator -
mybatis-generator-maven-plugin -
1.3.2 -
-
-
-
mysql -
mysql-connector-java -
${mysql.version} -
-
-
-
true -
-
-
-
- package com.zlj.model;
-
- import com.fasterxml.jackson.annotation.JsonIgnore;
- import lombok.ToString;
- import org.hibernate.validator.constraints.NotBlank;
-
- import javax.validation.constraints.NotNull;
-
- @ToString
- public class Stu {
- @NotNull(message = "学生编号不能为空")
- // @Size(max = 100,min = 10,message = "大小必须在10至100之间")
- protected Integer sid;
-
- @NotBlank(message = "学生名不能为空")
- protected String same;
-
- @NotBlank(message = "学生年龄不能为空")
- protected Integer sage;
- @JsonIgnore
- private String spic="暂无图片";
-
- public Stu(Integer sid, String same, Integer sage, String spic) {
- this.sid = sid;
- this.same = same;
- this.sage = sage;
- this.spic = spic;
- }
-
- public Integer getSid() {
- return sid;
- }
-
- public void setSid(Integer sid) {
- this.sid = sid;
- }
-
- public String getSame() {
- return same;
- }
-
- public void setSame(String same) {
- this.same = same;
- }
-
- public Integer getSage() {
- return sage;
- }
-
- public void setSage(Integer sage) {
- this.sage = sage;
- }
-
- public String getSpic() {
- return spic;
- }
-
- public void setSpic(String spic) {
- this.spic = spic;
- }
-
- public Stu() {
- }
- }
stu类里@JsonIgnore:隐藏信息
- //StuMapper.xml
- "1.0" encoding="UTF-8" ?>
- "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
"com.zlj.mapper.StuMapper" > -
"BaseResultMap" type="com.zlj.model.Stu" > -
-
"sid" jdbcType="INTEGER" javaType="java.lang.Integer" /> -
"same" jdbcType="VARCHAR" javaType="java.lang.String" /> -
"sage" jdbcType="INTEGER" javaType="java.lang.Integer" /> -
"spic" jdbcType="VARCHAR" javaType="java.lang.String" /> -
-
-
"Base_Column_List" > - sid, same, sage, spic
-
-
-
- select
-
"Base_Column_List" /> - from student
-
- <if test="same != null">
- and same like concat('%',#{same},'%')
- if>
-
-
-
- select
-
"Base_Column_List" /> - from student
-
- <if test="same != null">
- and same like concat('%',#{same},'%')
- if>
-
-
-
-
- select
-
"Base_Column_List" /> - from student
- where sid = #{sid,jdbcType=INTEGER}
-
-
-
"deleteByPrimaryKey" parameterType="java.lang.Integer" > - delete from student
- where sid = #{sid,jdbcType=INTEGER}
-
-
"insert" parameterType="com.zlj.model.Stu" > - insert into student (sid, same, sage,
- spic)
- values (#{sid,jdbcType=INTEGER}, #{same,jdbcType=VARCHAR}, #{sage,jdbcType=INTEGER},
- #{spic,jdbcType=VARCHAR})
-
-
"insertSelective" parameterType="com.zlj.model.Stu" > - insert into student
-
"(" suffix=")" suffixOverrides="," > - <if test="sid != null" >
- sid,
- if>
- <if test="same != null" >
- same,
- if>
- <if test="sage != null" >
- sage,
- if>
- <if test="spic != null" >
- spic,
- if>
-
-
"values (" suffix=")" suffixOverrides="," > - <if test="sid != null" >
- #{sid,jdbcType=INTEGER},
- if>
- <if test="same != null" >
- #{same,jdbcType=VARCHAR},
- if>
- <if test="sage != null" >
- #{sage,jdbcType=INTEGER},
- if>
- <if test="spic != null" >
- #{spic,jdbcType=VARCHAR},
- if>
-
-
-
"updateByPrimaryKeySelective" parameterType="com.zlj.model.Stu" > - update student
-
- <if test="same != null" >
- same = #{same,jdbcType=VARCHAR},
- if>
- <if test="sage != null" >
- sage = #{sage,jdbcType=INTEGER},
- if>
- <if test="spic != null" >
- spic = #{spic,jdbcType=VARCHAR},
- if>
-
- where sid = #{sid,jdbcType=INTEGER}
-
-
"updateByPrimaryKey" parameterType="com.zlj.model.Stu" > - update student
- set same = #{same,jdbcType=VARCHAR},
- sage = #{sage,jdbcType=INTEGER},
- spic = #{spic,jdbcType=VARCHAR}
- where sid = #{sid,jdbcType=INTEGER}
-
- package com.zlj.mapper;
-
- import com.zlj.model.Stu;
- import org.springframework.stereotype.Repository;
-
- import java.util.List;
- import java.util.Map;
-
- @Repository
- public interface StuMapper {
- int deleteByPrimaryKey(Integer sid);
-
- int insert(Stu record);
-
- int insertSelective(Stu record);
-
- Stu selectByPrimaryKey(Integer sid);
-
- int updateByPrimaryKeySelective(Stu record);
-
- int updateByPrimaryKey(Stu record);
-
- List
selectByCon(Stu stu); -
- List
-
- }
- package com.zlj.biz;
-
- import com.zlj.model.Stu;
- import com.zlj.util.PageBean;
-
- import java.util.List;
- import java.util.Map;
-
- /**
- * @author zlj
- * @create 2023-09-07 17:09
- */
- public interface StuBiz {
-
- int deleteByPrimaryKey(Integer sid);
-
- int insert(Stu record);
-
- int insertSelective(Stu record);
-
- Stu selectByPrimaryKey(Integer sid);
-
- int updateByPrimaryKeySelective(Stu record);
-
- int updateByPrimaryKey(Stu record);
-
- List
ListPager(Stu stu, PageBean PageBean); -
- List
- }
- package com.zlj.biz.Impl;
-
- import com.zlj.biz.StuBiz;
- import com.zlj.mapper.StuMapper;
- import com.zlj.model.Stu;
- import com.zlj.util.PageBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
-
- import java.util.List;
- import java.util.Map;
-
- /**
- * @author zlj
- * @create 2023-09-08 14:52
- */
- @Service
- public class StuBizImpl implements StuBiz {
- @Autowired
- private StuMapper stuMapper;
- @Override
- public int deleteByPrimaryKey(Integer sid) {
- return stuMapper.deleteByPrimaryKey(sid);
- }
-
- @Override
- public int insert(Stu record) {
- return stuMapper.insert(record);
- }
-
- @Override
- public int insertSelective(Stu record) {
- return stuMapper.insertSelective(record);
- }
-
- @Override
- public Stu selectByPrimaryKey(Integer sid) {
- return stuMapper.selectByPrimaryKey(sid);
- }
-
- @Override
- public int updateByPrimaryKeySelective(Stu record) {
- return stuMapper.updateByPrimaryKeySelective(record);
- }
-
- @Override
- public int updateByPrimaryKey(Stu record) {
- return stuMapper.updateByPrimaryKey(record);
- }
-
- @Override
- public List
ListPager(Stu stu, PageBean pageBean) { - return stuMapper.selectByCon(stu);
- }
-
- @Override
- public List
- return stuMapper.mapListPager(stu,o);
- }
-
-
- }
- package com.zlj.web;
-
- import com.zlj.biz.StuBiz;
- import com.zlj.model.Stu;
- import com.zlj.util.PageBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- import javax.servlet.http.HttpServletRequest;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- //@ResponseBody
- //@Controller
- @RestController //@RestController=@ResponseBody+@Controller
- @RequestMapping("/stu/json")
- public class JsonController {
- @Autowired
- private StuBiz stuBiz;
-
- /**
- * 返回List
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/list")
- public List
list(HttpServletRequest req, Stu stu){ - PageBean pageBean = new PageBean();
- pageBean.setRequest(req);
- List
lst = this.stuBiz.ListPager(stu, pageBean); - return lst;
- }
-
- /**
- * 返回T
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/load")
- public Stu load(HttpServletRequest req, Stu stu){
- if(stu.getSid() != null){
- List
lst = this.stuBiz.ListPager(stu, null); - return lst.get(0);
- }
- return null;
- }
-
-
- /**
- * 返回List
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/mapList")
- public List
- PageBean pageBean = new PageBean();
- pageBean.setRequest(req);
- List
- return lst;
- }
-
- /**
- * 返回Map
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/mapLoad")
- public Map mapLoad(HttpServletRequest req, Stu stu){
- if(stu.getSid() != null){
- List
- return lst.get(0);
- }
- return null;
- }
-
-
- // @ResponseBody
- @RequestMapping("/all")
- public Map all(HttpServletRequest req, Stu stu){
- PageBean pageBean = new PageBean();
- pageBean.setRequest(req);
- List
lst = this.stuBiz.ListPager(stu, pageBean); - Map map = new HashMap();
- map.put("lst",lst);
- map.put("pageBean",pageBean);
- return map;
- }
-
- // @ResponseBody //返回单个字符串,而不是页面
- @RequestMapping("/jsonStr")
- public String jsonStr(HttpServletRequest req, Stu stu){
- System.out.println("333.....");
- return "stuEdit";
- }
-
-
- }
@RestController=@ResponseBody+@Controller
2.统一异常处理
为什么要全局异常处理
我们知道,系统中异常包括:编译时异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中,不管是dao层、service层还是controller层,都有可能抛出异常,在springmvc中,能将所有类型的异常处理从各处理过程解耦出来,既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护。
异常处理思路
系统的dao、service、controller出现异常都通过throws Exception向上抛出,最后由springmvc前端控制器交由异常处理器进行异常处理。springmvc提供全局异常处理器(一个系统只有一个异常处理器)进行统一异常处理。
处理异常方式一演示(StuBizImpl的mapList方法加 stu=null; System.out.println(stu.getSame();--------jsonCotrollor的list方法加)System.out.println(1 / 0);),spring-mvc.xml配置,建一个error.jsp页面,分别报两个错
- package com.zlj.biz.Impl;
-
- import com.zlj.biz.StuBiz;
- import com.zlj.mapper.StuMapper;
- import com.zlj.model.Stu;
- import com.zlj.util.PageBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
-
- import java.util.List;
- import java.util.Map;
-
- /**
- * @author zlj
- * @create 2023-09-08 14:52
- */
- @Service
- public class StuBizImpl implements StuBiz {
- @Autowired
- private StuMapper stuMapper;
- @Override
- public int deleteByPrimaryKey(Integer sid) {
- return stuMapper.deleteByPrimaryKey(sid);
- }
-
- @Override
- public int insert(Stu record) {
- return stuMapper.insert(record);
- }
-
- @Override
- public int insertSelective(Stu record) {
- return stuMapper.insertSelective(record);
- }
-
- @Override
- public Stu selectByPrimaryKey(Integer sid) {
- return stuMapper.selectByPrimaryKey(sid);
- }
-
- @Override
- public int updateByPrimaryKeySelective(Stu record) {
- return stuMapper.updateByPrimaryKeySelective(record);
- }
-
- @Override
- public int updateByPrimaryKey(Stu record) {
- return stuMapper.updateByPrimaryKey(record);
- }
-
- @Override
- public List
ListPager(Stu stu, PageBean pageBean) { - return stuMapper.selectByCon(stu);
- }
-
- @Override
- public List
- stu=null;
- System.out.println(stu.getSame());
- return stuMapper.mapListPager(stu,o);
- }
-
-
- }
- package com.zlj.web;
-
- import com.zlj.biz.StuBiz;
- import com.zlj.model.Stu;
- import com.zlj.util.PageBean;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- import javax.servlet.http.HttpServletRequest;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- //@ResponseBody
- //@Controller
- @RestController //@RestController=@ResponseBody+@Controller
- @RequestMapping("/stu/json")
- public class JsonController {
- @Autowired
- private StuBiz stuBiz;
-
- /**
- * 返回List
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/list")
- public List
list(HttpServletRequest req, Stu stu){ - PageBean pageBean = new PageBean();
- pageBean.setRequest(req);
- List
lst = this.stuBiz.ListPager(stu, pageBean); - System.out.println(1 / 0);
- return lst;
- }
-
- /**
- * 返回T
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/load")
- public Stu load(HttpServletRequest req, Stu stu){
- if(stu.getSid() != null){
- List
lst = this.stuBiz.ListPager(stu, null); - return lst.get(0);
- }
- return null;
- }
-
-
- /**
- * 返回List
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/mapList")
- public List
- PageBean pageBean = new PageBean();
- pageBean.setRequest(req);
- List
- return lst;
- }
-
- /**
- * 返回Map
- * @param req
- * @param stu
- * @return
- */
- // @ResponseBody
- @RequestMapping("/mapLoad")
- public Map mapLoad(HttpServletRequest req, Stu stu){
- if(stu.getSid() != null){
- List
- return lst.get(0);
- }
- return null;
- }
-
-
- // @ResponseBody
- @RequestMapping("/all")
- public Map all(HttpServletRequest req, Stu stu){
- PageBean pageBean = new PageBean();
- pageBean.setRequest(req);
- List
lst = this.stuBiz.ListPager(stu, pageBean); - Map map = new HashMap();
- map.put("lst",lst);
- map.put("pageBean",pageBean);
- return map;
- }
-
- // @ResponseBody //返回单个字符串,而不是页面
- @RequestMapping("/jsonStr")
- public String jsonStr(HttpServletRequest req, Stu stu){
- System.out.println("333.....");
- return "stuEdit";
- }
-
-
- }
- //spring-mvc.xml
- "1.0" encoding="UTF-8"?>
"http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:context="http://www.springframework.org/schema/context"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
- http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
-
package="com.zlj"/> -
-
-
-
-
-
"org.springframework.web.servlet.view.InternalResourceViewResolver"> -
-
"viewClass" - value="org.springframework.web.servlet.view.JstlView">
-
"prefix" value="/WEB-INF/jsp/"/> -
"suffix" value=".jsp"/> -
-
-
-
"/static/" mapping="/static/**"/> -
-
-
"multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> -
-
"defaultEncoding" value="UTF-8"> -
-
"maxUploadSize" value="52428800"> -
-
"resolveLazily" value="true"/> -
-
-
-
"com.zlj.interceptor.LoginInterceptor"> -
-
-
-
-
"org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> -
"messageConverters"> -
-
-
-
-
"mappingJackson2HttpMessageConverter" - class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
-
-
"supportedMediaTypes"> -
-
text/html;charset=UTF-8 -
text/json;charset=UTF-8 -
application/json;charset=UTF-8 -
-
-
-
-
-
-
-
"org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> -
-
"defaultErrorView" value="error"/> -
-
"exceptionAttribute" value="ex"/> -
-
"exceptionMappings"> -
-
"java.lang.RuntimeException">error -
-
-
-
-
-
-
- package com.zlj.exception;
-
- public class GlobalException extends RuntimeException {
- public GlobalException() {
- }
-
- public GlobalException(String message) {
- super(message);
- }
-
- public GlobalException(String message, Throwable cause) {
- super(message, cause);
- }
-
- public GlobalException(Throwable cause) {
- super(cause);
- }
-
- public GlobalException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
- super(message, cause, enableSuppression, writableStackTrace);
- }
- }
处理方式二,GobalHandler
- package com.zlj.component;
-
- import com.zlj.exception.GlobalException;
- import org.springframework.stereotype.Component;
- import org.springframework.web.servlet.HandlerExceptionResolver;
- import org.springframework.web.servlet.ModelAndView;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- @Component
- public class GlobalExceptionHandler implements HandlerExceptionResolver {
- @Override
- public ModelAndView resolveException(HttpServletRequest httpServletRequest,
- HttpServletResponse httpServletResponse,
- Object o, Exception e) {
- ModelAndView mv = new ModelAndView();
- mv.setViewName("error");//WEB-INF/jsp/error.jsp
- if (e instanceof GlobalException){
- GlobalException globalException = (GlobalException) e;
- mv.addObject("ex",globalException.getMessage());
- mv.addObject("msg","全局异常....");
- }else if (e instanceof RuntimeException){
- RuntimeException runtimeException = (RuntimeException) e;
- mv.addObject("ex",runtimeException.getMessage());
- mv.addObject("msg","运行时异常....");
- }else{
- mv.addObject("ex",e.getMessage());
- mv.addObject("msg","其他异常....");
- }
- return mv;
- }
- }
注:@Component注释后会没有效果
- <%--
- Created by IntelliJ IDEA.
- User: 朱
- Date: 2023/9/13
- Time: 15:31
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
-
Title - 错误信息界面。。。
- ${ex}
- ${msg}
方式三
- package com.zlj.component;
-
- import com.zlj.exception.GlobalException;
- import org.springframework.web.bind.annotation.ControllerAdvice;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.bind.annotation.ResponseBody;
-
- import java.util.HashMap;
- import java.util.Map;
-
- @ControllerAdvice
- public class GlobalExceptionResolver {
-
- // 跳转错误页面
- // @ExceptionHandler
- // public ModelAndView handler(Exception e){
- // ModelAndView mv = new ModelAndView();
- // mv.setViewName("error");
- // if (e instanceof GlobalException){
- // GlobalException globalException = (GlobalException) e;
- // mv.addObject("ex",globalException.getMessage());
- // mv.addObject("msg","全局异常....");
- // }else if (e instanceof RuntimeException){
- // RuntimeException runtimeException = (RuntimeException) e;
- // mv.addObject("ex",runtimeException.getMessage());
- // mv.addObject("msg","运行时异常....");
- // }
- // return mv;
- // }
-
- // 返回错误json数据
- @ResponseBody
- @ExceptionHandler
- public Map handler(Exception e){
- Map map = new HashMap();
- if (e instanceof GlobalException){
- GlobalException globalException = (GlobalException) e;
- map.put("ex",globalException.getMessage());
- map.put("msg","全局异常....");
- }else if (e instanceof RuntimeException){
- RuntimeException runtimeException = (RuntimeException) e;
- map.put("ex",runtimeException.getMessage());
- map.put("msg","运行时异常....");
- }else {
- map.put("ex",e.getMessage());
- map.put("msg","其它异常....");
- }
- return map;
- }
- }
- package com.zlj.component;
-
- import com.zlj.exception.GlobalException;
- import org.springframework.web.bind.annotation.ControllerAdvice;
- import org.springframework.web.bind.annotation.ExceptionHandler;
- import org.springframework.web.servlet.ModelAndView;
-
- @ControllerAdvice
- public class GlobalExceptionResolver {
-
- // 跳转错误页面
- @ExceptionHandler
- public ModelAndView handler(Exception e){
- ModelAndView mv = new ModelAndView();
- mv.setViewName("error");
- if (e instanceof GlobalException){
- GlobalException globalException = (GlobalException) e;
- mv.addObject("ex",globalException.getMessage());
- mv.addObject("msg","全局异常....");
- }else if (e instanceof RuntimeException){
- RuntimeException runtimeException = (RuntimeException) e;
- mv.addObject("ex",runtimeException.getMessage());
- mv.addObject("msg","运行时异常....");
- }
- return mv;
- }
-
- // 返回错误json数据
- // @ResponseBody
- // @ExceptionHandler
- // public Map handler(Exception e){
- // Map map = new HashMap();
- // if (e instanceof GlobalException){
- // GlobalException globalException = (GlobalException) e;
- // map.put("ex",globalException.getMessage());
- // map.put("msg","全局异常....");
- // }else if (e instanceof RuntimeException){
- // RuntimeException runtimeException = (RuntimeException) e;
- // map.put("ex",runtimeException.getMessage());
- // map.put("msg","运行时异常....");
- // }else {
- // map.put("ex",e.getMessage());
- // map.put("msg","其它异常....");
- // }
- // return map;
- // }
- }