目录
1)使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver
2)实现Spring的异常处理接口HandlerExceptionResolver自定义自己的异常处理器
3)使用@ControllerAdvice + @ExceptionHandler
一、json解析
JSON的三种形式:
①、{}----->JSON对象
②、[]------>JSON数组
③、{
msg=" ",
code=" ",
data=[]
}------>对象数组
SpringMVC要如果产生上述的三种形式JSON?
步骤:
1、导入pom.xml依赖
2、配置Springmvc.xml适配器
3、使用注解@responseBody 能够将任何的数据转成json对象
①、pom.xml依赖
<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>
②、Springmvc.xml适配器
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="mappingJackson2HttpMessageConverter"/>
</list>
</property>
</bean>
<bean id="mappingJackson2HttpMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<!--处理中文乱码以及避免IE执行AJAX时,返回JSON出现下载文件-->
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
③、后端代码编写
先编写在ClazzMapper.xml中编写一个查询的方法
<select id="listMapPager" resultType="java.util.Map" parameterType="com.mgy.ssm.model.Clazz" >
select
<include refid="Base_Column_List" />
from t_struts_class
<where>
<if test="cname !=null and cname != ''">
and cname like concat('%',#{cname},'%')
</if>
<if test="cid !=null and cid != ''">
and cid=#{cid}
</if>
</where>
</select>
将listMapPager该方法在ClazzMapper、ClazzBiz和ClazzBizImpl中实现出来,重新创建一个新类
package com.mgy.ssm.controller;
import com.mgy.ssm.biz.ClazzBiz;
import com.mgy.ssm.model.Clazz;
import com.mgy.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 javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 云鹤衫
* @site www.yunheshan.com
* @company xxx公司
* @create 2022-08-22 18:51
*/
@Controller
@RequestMapping("/clz/json")
public class JsonController {
@Autowired
pr