当前位置: 首页 > news >正文

网站地图 xml html网站没收录

网站地图 xml html,网站没收录,淘宝运营去哪里学,网站建设 医院文章目录 一、Jackson1.1 Jackson是什么1.2 常用注解1.3 实例1.3.1导入依赖1.3.2 配置spring-mvc.xml1.3.3 JsonController.java 二、Spring MVC异常处理机制2.1 使用原因2.2 SpringMVC异常处理2.2.1 异常处理机制流程图2.2.2 异常处理的三种方式 一、Jackson 1.1 Jackson是什… 文章目录 一、Jackson1.1 Jackson是什么1.2 常用注解1.3 实例1.3.1导入依赖1.3.2 配置spring-mvc.xml1.3.3 JsonController.java 二、Spring MVC异常处理机制2.1 使用原因2.2 SpringMVC异常处理2.2.1 异常处理机制流程图2.2.2 异常处理的三种方式 一、Jackson 1.1 Jackson是什么 在Java中Jackson是一个流行的开源库用于处理JSON数据。它提供了一组功能强大的API可以将Java对象序列化为JSON格式或将JSON数据反序列化为Java对象。Jackson库提供了灵活的方式来处理JSON数据包括读取、写入、转换和操作JSON对象。它是Java开发人员在处理JSON数据时的常用工具之一。 1.2 常用注解 Jackson库提供了一些常用的注解用于在Java对象和JSON数据之间进行序列化和反序列化的映射。以下是一些常用的Jackson注解 JsonProperty用于指定Java对象属性与JSON字段之间的映射关系JsonFormat用于指定日期、时间等特殊类型属性的格式化方式。JsonIgnore用于忽略某个属性不进行序列化和反序列化。 JsonInclude用于控制在序列化过程中是否包含某个属性。JsonAlias用于指定多个JSON字段名与Java对象属性之间的映射关系。JsonCreator用于指定一个静态工厂方法或构造函数用于反序列化JSON数据。JsonAnyGetter和JsonAnySetter用于处理动态属性允许将未映射到Java对象属性的JSON字段读取和写入。 1.3 实例 1.3.1导入依赖 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.3/version /dependency dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion2.9.3/version /dependency dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion2.9.3/version /dependency 1.3.2 配置spring-mvc.xml bean classorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapterproperty namemessageConverterslistref beanmappingJackson2HttpMessageConverter//list/property /bean bean idmappingJackson2HttpMessageConverter classorg.springframework.http.converter.json.MappingJackson2HttpMessageConverter!--处理中文乱码以及避免IE执行AJAX时返回JSON出现下载文件--property namesupportedMediaTypeslistvaluetext/html;charsetUTF-8/valuevaluetext/json;charsetUTF-8/valuevalueapplication/json;charsetUTF-8/value/list/property /bean1.3.3 JsonController.java RequestMapping(/queryListBooks)ResponseBodypublic ListBook queryListBooks(Book book,HttpServletRequest request){PageBean pageBeannew PageBean();pageBean.setRequest(request);ListBook books bookService.queryBookPager(book, pageBean);return books;}; RequestMapping(/querySingleBook)ResponseBodypublic Book querySingleBook(Integer bookId){Book book bookService.selectByPrimaryKey(bookId);book.setDate(new Date());return book;}RequestMapping(/querySingleMap)ResponseBodypublic MapString, Object querySingleMap(Integer bookId){return bookService.querySingleMap(bookId);} RequestMapping(/queryMapList)ResponseBodypublic ListMapString, Object queryMapList( ){return bookService.queryBookAll();} RequestMapping(/queryString)ResponseBodypublic String queryString(){return book/bookList;}二、Spring MVC异常处理机制 2.1 使用原因 我们知道系统中异常包括编译时异常和运行时异常RuntimeException前者通过捕获异常从而获取异常信息后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中不管是(dao/mapper)层、service层还是controller层都有可能抛出异常。 而在Spring MVC中提供了一个通用的异常处理机制它提供了一个成熟、简洁并且清晰的异常处理方案。当使用Spring MVC开发Web应用时利用这套现成的机制进行异常处理也更加自然并且高效。 2.2 SpringMVC异常处理 2.2.1 异常处理机制流程图 系统的Dao(mapper)、Service、Controller出现都通过throws Exception向上抛出最后SpringMVC前端控制器交由异常处理器进行异常处理如下图 2.2.2 异常处理的三种方式 1. 使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver SpringMVC中自带了一个异常处理器叫SimpleMappingExceptionResolver该处理器实现了HandlerExceptionResolver 接口全局异常处理器都需要实现该接口 1配置SpringMVC的简单的异常处理器 bean classorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver!-- 定义默认的异常处理页面 --property namedefaultErrorView valueerror/!-- 定义异常处理页面用来获取异常信息的变量名也可不定义默认名为exception -- property nameexceptionAttribute valueex/!-- 定义需要特殊处理的异常这是重要点 -- property nameexceptionMappingsprops !--异常类型 错误视图-- prop keyjava.lang.RuntimeExceptionerror/prop/props!-- 还可以定义其他的自定义异常 --/property/bean 2方法中抛出此异常 RequestMapping(/querySingleBook)ResponseBodypublic Book querySingleBook(Integer bookId){Book book bookService.selectByPrimaryKey(bookId);if(bookId100)throw new RuntimeException(书本编号大于100,异常抛出);book.setDate(new Date());return book;}2. 实现Spring的异常处理接口HandlerExceptionResolver自定义自己的异常处理器 (1) 实现HandlerExceptionResolver接口 package com.xqx.exception;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;/*** SpingMVC提供的第二种全局异常处理方式 ,实现HandlerExceptionResolver接口*/ Component public class GlobalException implements HandlerExceptionResolver {/**** param httpServletRequest* param httpServletResponse* param o 异常处理的目标* param e 异常处理的类型* return*/Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {ModelAndView mvnew ModelAndView();mv.setViewName(error);//判断异常的分类if(e instanceof RuntimeException){RuntimeException ex(RuntimeException)e;System.out.println(ex.getMessage());mv.addObject(msg,ex.getMessage());}return mv;} }2创建异常类 package com.xqx.exception;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;/*** SpingMVC提供的第二种全局异常处理方式 ,实现HandlerExceptionResolver接口*/ Component public class GlobalException implements HandlerExceptionResolver {/**** param httpServletRequest* param httpServletResponse* param o 异常处理的目标* param e 异常处理的类型* return*/Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {ModelAndView mvnew ModelAndView();mv.setViewName(error);//判断异常的分类if(e instanceof RuntimeException){RuntimeException ex(RuntimeException)e;System.out.println(ex.getMessage());mv.addObject(msg,ex.getMessage());}return mv;} }3方法中抛出此异常 RequestMapping(/querySingleBook)ResponseBodypublic Book querySingleBook(Integer bookId){Book book bookService.selectByPrimaryKey(bookId);if(bookId100)throw new BusinessException(书本编号大于100,异常抛出);book.setDate(new Date());return book;}3. 使用ControllerAdvice ExceptionHandler 1 package com.xqx.exception;import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.json.MappingJackson2JsonView;import java.util.HashMap; import java.util.Map;/*** SpingMVC提供的第三种种全局异常处理方式* 1ControllerAdvice ExceptionHandler* 2RestControllerAdvice ExceptionHandler* RestControllerAdvice Controller ResponseBody 返回JSON的数据格式绕开视图解析器*/ ControllerAdvice public class GlobalException2{ExceptionHandlerpublic ModelAndView exceptionHandler(Exception e){ModelAndView mvnew ModelAndView();//设置错误页面mv.setViewName(error);//判断异常类型if(e instanceof BusinessException){BusinessException ex(BusinessException)e;mv.addObject(msg,系统繁忙请稍后再试.......);}mv.setView(new MappingJackson2JsonView());return mv;}}(2) 返回JSON格式 package com.xqx.exception;import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.json.MappingJackson2JsonView;import java.util.HashMap; import java.util.Map;/*** SpingMVC提供的第三种种全局异常处理方式* 1ControllerAdvice ExceptionHandler* 2RestControllerAdvice ExceptionHandler* RestControllerAdvice Controller ResponseBody 返回JSON的数据格式绕开视图解析器*/ RestControllerAdvice public class GlobalException2{ExceptionHandlerpublic ModelAndView exceptionHandler(Exception e){ModelAndView mvnew ModelAndView();mv.setViewName(error);//判断异常类型if(e instanceof BusinessException){BusinessException ex(BusinessException)e;mv.addObject(msg,系统繁忙请稍后再试.......);}//强制更换视图解析器 不跳页面mv.setView(new MappingJackson2JsonView());return mv;}}(3) 返回异常信息和状态码 package com.xqx.exception;import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.json.MappingJackson2JsonView;import java.util.HashMap; import java.util.Map;/*** SpingMVC提供的第三种种全局异常处理方式* 1ControllerAdvice ExceptionHandler* 2RestControllerAdvice ExceptionHandler* RestControllerAdvice Controller ResponseBody 返回JSON的数据格式绕开视图解析器*/ RestControllerAdvice public class GlobalException2{ExceptionHandlerpublic MapString, Object exceptionHandler(Exception e){MapString, Object jsonnew HashMap();//判断异常类型if(e instanceof BusinessException){json.put(msg,系统繁忙请稍后再试.......);json.put(code,500);}return json;} }
http://www.w-s-a.com/news/219233/

相关文章:

  • 网站建设 域名业务 邮箱互联网装饰网站
  • 建设厅技工在哪个网站上查询有了网站模板 还要怎样做
  • 城市联盟网站怎么做百度云网站建设视频教程
  • 织梦cms 官方网站网页视频如何下载到电脑
  • 查询建设公司业绩网站国外外链平台
  • 搭建直播网站需要怎么做做石材网站步骤
  • 移动网站如何做权重wordpress 统计字数 插件
  • 编写网站的软件百度指数教程
  • 网站改版建议策划书做设计什么兼职网站
  • 北京做兼职网站文创产品设计流程
  • 南阳做玉器网站wordpress 图片被缩小
  • 自己做网站卖衣服cms做网站容易不
  • 安徽安搜做的网站怎么样手机网站商城建设答辩问题
  • 分析不同网站的优缺点房产网站定制
  • 深圳工业设计大展2021论坛与网站做优化哪个更好
  • 什么网站做招聘比较好网络营销渠道管理
  • 网站建设选择什么模式淘宝网站可以做轮播吗
  • 山西免费网站制作乌市高新区建设局网站
  • 公司网站建设费用会计处理手机app免费下载
  • 网站的做网站的公司网站有些什么内容
  • 网站新类型wordpress 随机文章
  • 电商网站建设会计分录朝阳市网站公司
  • 正邦网站建设 优帮云百姓网征婚
  • 企业网站有哪些举几个例子端午节网站建设目的
  • 南京免费发布信息网站网站建设与管理职责
  • 无锡市建设培训中心网站企业vi设计是啥
  • 宿松网站建设推荐秒搜科技国家官方网站
  • 网站的服务器选择wordpress文章底部加分享
  • 天津专业的网站建设公司阿里云服务器 wordpress
  • 家教辅导培训网站建设中东跨境电商平台有哪些