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

镇江市机关效能与作风建设网站开发一款游戏能赚多少钱

镇江市机关效能与作风建设网站,开发一款游戏能赚多少钱,上海做个网站多少钱,赚钱做任务的网站有哪些目录 一.SpringMVC的JSON数据返回 1.导入Maven依赖 2.配置spring-mvc.xml 3.ResponseBody注解的使用 3.1案例演示 1.List集合转JSON 2.Map集合转JSON 3.返回指定格式String 4. ResponseBody用法 5.Jackson 5.1介绍 5.2常用注解 二.异常处理机制 1.为什么要全局异常处…目录 一.SpringMVC的JSON数据返回 1.导入Maven依赖 2.配置spring-mvc.xml 3.ResponseBody注解的使用 3.1案例演示 1.List集合转JSON 2.Map集合转JSON 3.返回指定格式String 4. ResponseBody用法 5.Jackson 5.1介绍 5.2常用注解 二.异常处理机制  1.为什么要全局异常处理 2.异常处理思路 3.SpringMVC异常分类 4.案例演示 4.1 异常处理方式一配置springmvc提供的简单异常处理器 4.2 异常处理方式二全局异常处理,通过实现HandlerExceptionResolver异常处理解析器完成异常处理 1首先在异常包中定义一个全局异常类 (2) 定义一个全局异常处理的类 4.3 异常处理方式三通过注解的方式将异常信息直接以JSON的格式回显到前端 一.SpringMVC的JSON数据返回 1.导入Maven依赖 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 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 /bean 3.ResponseBody注解的使用 ResponseBody注解的作用 用于标记控制器方法的返回值应该作为 HTTP 响应的主体部分返回而不是通过视图解析器进行渲染。 当使用 Spring MVC 框架时控制器方法通常会返回某种类型的数据例如对象、集合、字符串等然后由视图解析器将该数据绑定到视图模板并生成最终的 HTML 或其他格式的响应。然而有时候我们希望直接返回数据而不经过视图解析器的处理将Controller的方法返回的对象通过适当的转换器转换为指定的格式之后写入到response对象的body区通常用来返回JSON数据或者是XML数据。 在这种情况下我们可以使用 ResponseBody 注解来标记控制器方法。当该注解应用于方法时Spring MVC 框架会将方法的返回值封装为适当的格式例如 JSON并将其作为 HTTP 响应的主体部分返回给客户端。这样可以方便地实现 RESTful API 服务将数据直接以特定格式响应给调用端。 注意在使用此注解之后不会再走视图解析器而是直接将数据写入到输入流中他的效果等同于通过response对象输出指定格式的数据。 3.1案例演示 1.List集合转JSON 这里我们定义一个返回List集合的方法最终到Controller层中标注ResponseBody注解将集合数据转换成JSON数据 /*** 返回ListT* param req* param hBook* return*/ResponseBodyRequestMapping(/list)public ListHBook list(HttpServletRequest req, HBook hBook){PageBean pageBean new PageBean();pageBean.setRequest(req);ListHBook lst this.hBookbiz.listPager(hBook, pageBean);return lst;} 测试结果  2.Map集合转JSON 我们定义一个返回Map集合的方法通过Controller中注解ResponseBody返回JSON格式数据 /*** 返回ListMap* param req* param hBook* return*/ResponseBodyRequestMapping(/mapList)public ListMap mapList(HttpServletRequest req, HBook hBook){PageBean pageBean new PageBean();pageBean.setRequest(req);ListMap lst this.hBookbiz.mapListPager(hBook, pageBean);return lst;} 测试结果 3.返回指定格式String ResponseBodyRequestMapping(/jsonStr)public String jsonStr(HttpServletRequest req, HBook hBook){return bookEdit;} 测试结果  4. ResponseBody用法 在整个Controller类中可将注解定义在类对象上面这样整个类中的方法都使用了注解ResponseBody 小结由上面的案例得知我们将对象、集合、字符串等类型数据通过Controller的方法返回的对象通过适当的转换器转换为指定的格式之后写入到response对象的body区通常用来返回JSON数据或者是XML数据。 5.Jackson 5.1介绍 Jackson是一个简单基于Java应用库Jackson可以轻松的将Java对象转换成json对象和xml文档同样也可以将json、xml转换成Java对象。Jackson所依赖的jar包较少简单易用并且性能也要相对高些并且Jackson社区相对比较活跃更新速度也比较快。 特点 容易使用提供了高层次外观简化常用的用例。 无需创建映射API提供了默认的映射大部分对象序列化。 性能高快速低内存占用 创建干净的json 不依赖其他库 代码开源 5.2常用注解 注解说明JsonIgnore作用在字段或方法上用来完全忽略被注解的字段和方法对应的属性JsonProperty作用在字段或方法上用来对属性的序列化/反序列化可以用来避免遗漏属性同时提供对属性名称重命名JsonIgnoreProperties作用在类上用来说明有些属性在序列化/反序列化时需要忽略掉JsonUnwrapped作用在属性字段或方法上用来将子JSON对象的属性添加到封闭的JSON对象JsonFormat指定序列化日期/时间值时的格式 二.异常处理机制  1.为什么要全局异常处理 我们知道系统中异常包括编译时异常和运行时异常RuntimeException前者通过捕获异常从而获取异常信息后者主要通过规范代码开发、测试通过手段减少运行时异常的发生。在开发中不管是dao层、service层还是controller层都有可能抛出异常在springmvc中能将所有类型的异常处理从各处理过程解耦出来既保证了相关处理过程的功能较单一也实现了异常信息的统一处理和维护。 2.异常处理思路 系统的dao、service、controller出现异常都通过throws Exception向上抛出最后由springmvc前端控制器交由异常处理器进行异常处理。springmvc提供全局异常处理器一个系统只有一个异常处理器进行统一异常处理。 3.SpringMVC异常分类 使用Spring MVC提供的简单异常处理器SimpleMappingExceptionResolver 实现Spring的异常处理接口HandlerExceptionResolver自定义自己的异常处理器 使用ControllerAdvice ExceptionHandler 4.案例演示 4.1 异常处理方式一配置springmvc提供的简单异常处理器 !-- springmvc提供的简单异常处理器 --bean classorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver!-- 定义默认的异常处理页面 --property namedefaultErrorView valueerror/!-- 定义异常处理页面用来获取异常信息的变量名也可不定义默认名为exception --property nameexceptionAttribute valueex/!-- 定义需要特殊处理的异常这是重要点 --property nameexceptionMappingspropsprop keyjava.lang.RuntimeExceptionerror/prop/props!-- 还可以定义其他的自定义异常 --/property/bean error 获取定义的异常处理的页面 ex存储异常处理的异常信息  我们在controller层造出一个异常在前端页面打印异常信息并显示前端页面 ResponseBodyRequestMapping(/mapList)public ListMap mapList(HttpServletRequest req, HBook hBook){PageBean pageBean new PageBean();pageBean.setRequest(req);ListMap lst this.hBookbiz.mapListPager(hBook, pageBean);System.out.println(1/0);return lst;} % page contentTypetext/html;charsetUTF-8 languagejava % html headtitleTitle/title /head body 错误信息页面 hr ${ex} hr ${msg} /body /html 测试结果 4.2 异常处理方式二全局异常处理,通过实现HandlerExceptionResolver异常处理解析器完成异常处理 1首先在异常包中定义一个全局异常类 package com.YU.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);} } (2) 定义一个全局异常处理的类 它通过实现了HandlerExceptionResolver接口同时使用了Component注解以被Spring框架管理和注册为一个组件。 这个异常处理器的主要作用是在Spring MVC应用程序中捕获并处理全局异常。当一个Controller方法抛出异常时Spring MVC会将异常传递给注册的异常处理器来处理该异常,并跳转异常页面通过判断异常类型然后携带不同的异常信息传递到前端页面展示 package com.YU.component;import com.YU.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 {Overridepublic ModelAndView resolveException(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse,Object o, 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,运行时异常....);}else{mv.addObject(ex,e.getMessage());mv.addObject(msg,其他异常....);}return mv;} } 通过这种方式你可以统一处理全局的异常情况并在异常发生时返回指定的错误视图并且还可以根据不同的异常类型提供不同的错误信息以便更好地提供错误处理和用户体验 测试结果 注意前面两种异常处理不可同时使用不然第二种会被覆盖并不产生效果  4.3 异常处理方式三通过注解的方式将异常信息直接以JSON的格式回显到前端 与前面两种不同的是方式三使用注解ResponseBody 和ExceptionHandler通过判断异常类型将异常信息传递到map集合进行保存并将其转换成JSON格式的数据传输到前端展示 ControllerAdvice public class GlobalExceptionHandler{ResponseBodyExceptionHandlerpublic 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;} } 测试结果 总结 在SpringMVC中三种方法的使用的优先级依次降低但是在实际开发过程中第三种应用范围最广也就是我们最常用的类型当然JSON只是传递在后端进行判断所用前端最后展现给客户页面需要我们自己根据逻辑判断异常信息最终展示不同的前端页面 今天的学习到这里就结束了感谢各位大大的观看各位大大的三连是博主更新的动力感谢谢谢谢谢谢谢谢谢各位的支持
http://www.ho-use.cn/article/10819673.html

相关文章:

  • 制作网站的图片素材鞍山网站建设工作室
  • 西宁市建设局官方网站wordpress 当前页码
  • 网站建设深圳市新房备案价查询官网
  • 国外著名网站建设公司wordpress社交帐号登录
  • 低价网站开发福安市代理做网站
  • 药企做网站通过高新区网站建设
  • 毕业设计网站模板下载郑州模板网站
  • 网站建设 音频插件addthis wordpress
  • 荆州网站推广怎么做wordpress顶部栏如何修改
  • 建设一个网站要多张雪峰数字媒体技术
  • 阿里百川 网站开发wordpress中文免费企业主题下载
  • 做网站应该学什么语言番禺网站建设三杰科技
  • 网站设计常州网站费用构成
  • 源代码网站和模板做的区别南京市的网站是由那几家公司做的
  • 免费建网站模板找公司做网站多少钱成都
  • 深圳市公司网站建设整形网站建设方案策划书
  • 软件外包平台的服务商seo外包优化
  • 前端转网站建设做餐饮网站的目的与意义
  • 建设产品网站有创意的logo设计图片
  • 做网站用宋体有版权问题吗机加工外协网站
  • seo网站推广是什么安庆网站关键词优化
  • 网校网站开发什么网站可以做设计赚钱的吗
  • 专门教做衣服的网站免费速建网站
  • 网站icp查询电商网站需求分析
  • 创建个人网站有什么好处如何创建一个网站的步骤
  • 个人网站做导航网站公司做网站需要给百度交钱吗
  • 做网站找那个公司网页制作个人简历代码
  • 网站的倒计时怎么做临沂做网站推广的公司哪家好
  • 免费源码交易网站源码深圳团购网站设计价格
  • 锦州网站推广企业网站特色建设