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

大学生创业服务网站建设方案中专网站建设与管理就业前景

大学生创业服务网站建设方案,中专网站建设与管理就业前景,个人静态网站首页怎么做,网站运营这么做目录 JSON处理 导入依赖 配置Spring-mvc.xml ResponseBody注解使用 测试 目录 JSON处理 导入依赖 配置Spring-mvc.xml ResponseBody注解使用 测试 Jackson 定义 用法 常用注解 统一异常处理 为什么要全局异常处理#xff1f; 异常处理思路 SpringMVC异常分类 综…目录 JSON处理 导入依赖 配置Spring-mvc.xml ResponseBody注解使用 测试 目录 JSON处理 导入依赖 配置Spring-mvc.xml ResponseBody注解使用 测试 Jackson  定义 用法 常用注解 统一异常处理  为什么要全局异常处理 异常处理思路 SpringMVC异常分类  综合案例  异常处理方式一 异常处理方式二  异常处理方式三 Jackson  定义 用法 常用注解 统一异常处理  为什么要全局异常处理 异常处理思路 SpringMVC异常分类  综合案例  异常处理方式一 异常处理方式三 JSON处理 导入依赖 !-- JSON数据返回--dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion${jackson.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-core/artifactIdversion${jackson.version}/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-annotations/artifactIdversion${jackson.version}/version/dependency 配置Spring-mvc.xml bean classorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapterproperty namemessageConverterslistref beanmappingJackson2HttpMessageConverter//list/property/beanbean idmappingJackson2HttpMessageConverterclassorg.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 ResponseBody注解使用 ResponseBody是一个Spring MVC注解用于指示方法返回的值应该被序列化为HTTP响应的正文。它被添加到控制器方法中并告诉Spring MVC框架不要将方法的返回值解释为视图名称或模型数据。相反该注解告诉Spring MVC将返回值直接写入HTTP响应正文中这通常是JSON或XML格式。 创建一个JsonController类 package com.xiaoxu.web;import com.xiaoxu.biz.BookxxBiz; import com.xiaoxu.exception.GlobalException; import com.xiaoxu.model.Bookxx; import com.xiaoxu.utis.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;//ResponseBody //Controller RestController RequestMapping(/clz/json) public class JsonController {Autowiredprivate BookxxBiz bookxxBiz;/*** 返回ListT* param req* param bookxx* return*/ // ResponseBodyRequestMapping(/list)public ListBookxx list(HttpServletRequest req, Bookxx bookxx){PageBean pageBean new PageBean();pageBean.setRequest(req);ListBookxx lst this.bookxxBiz.selectPage(bookxx, pageBean);System.out.println(1 / 0);return lst;}/*** 返回T* param req* param bookxx* return*/ // ResponseBodyRequestMapping(/load)public Bookxx load(HttpServletRequest req, Bookxx bookxx){if(bookxx.getBook_id() ! null){ListBookxx lst this.bookxxBiz.selectPage(bookxx, null);return lst.get(0);}return null;}/*** 返回ListMap* param req* param bookxx* return*/ // ResponseBodyRequestMapping(/mapList)public ListMap mapList(HttpServletRequest req, Bookxx bookxx){PageBean pageBean new PageBean();pageBean.setRequest(req);ListMap lst this.bookxxBiz.mapListPager(bookxx, pageBean);return lst;}/*** 返回Map* param req* param bookxx* return*/ // ResponseBodyRequestMapping(/mapLoad)public Map mapLoad(HttpServletRequest req, Bookxx bookxx){if(bookxx.getBook_id() ! null){ListMap lst this.bookxxBiz.mapListPager(bookxx, null);return lst.get(0);}return null;}// ResponseBodyRequestMapping(/all)public Map all(HttpServletRequest req, Bookxx bookxx){PageBean pageBean new PageBean();pageBean.setRequest(req);ListBookxx lst this.bookxxBiz.selectPage(bookxx, pageBean);Map map new HashMap();map.put(lst,lst);map.put(pageBean,pageBean);return map;}// ResponseBodyRequestMapping(/jsonStr)public String jsonStr(HttpServletRequest req, Bookxx bookxx){System.out.println(-----------------------------);if(true)throw new GlobalException(沸羊羊你个臭傻逼);return clzEdit;}}然后在MusicBiz中添加以下代码 ListMap mapListPager(Bookxx bookxx, PageBean pageBean); 再在impl类中实现该接口 Overridepublic ListMap mapListPager(Bookxx bookxx,PageBean pageBean) {bookxx null;System.out.println(bookxx.getBook_name());return bookxxMapper.mapListPager(bookxx,pageBean);} 然后根据实现的方法在逆向生成的musicMapper中添加 ListMap mapListPager(Bookxx bookxx, PageBean pageBean); bookxxMapper.xml /selectselect idmapListPager resultTypejava.util.Map parameterTypecom.xiaoxu.model.Bookxx selectinclude refidBase_Column_List /from t_hibernate_bookwhereif testbook_name ! nulland book_name like concat(%,#{book_name},%)/if/where /select 测试 Jackson  定义 Jackson通常指代Jackson库它是一个用于处理JSON数据的流行Java库。Jackson库提供了一组API和工具用于将Java对象转换为JSON格式并提供了从JSON到Java对象的反向转换功能。 使用Jackson库你可以轻松地在Java应用程序中进行JSON的序列化和反序列化操作。它提供了各种功能和配置选项例如支持不同的数据绑定策略、处理复杂对象、处理日期和时间等等。Jackson广泛应用于Java Web应用、RESTful API开发和其他需要处理JSON数据的项目中。 总之Jackson是一个强大而灵活的Java库用于在Java应用程序中处理JSON数据。通过使用Jackson开发人员可以方便地进行JSON序列化和反序列化操作从而简化了与JSON数据的交互。 用法 使用Jackson需要在SpringMVC中添加Jackson依赖并配置JacksonMessageConverter。JacksonMessageConverter是SpringMVC中的一个消息转换器用于将Java对象转换为JSON数据和将JSON数据转换为Java对象。 Jackson还支持注解例如JsonProperty和JsonView可以帮助控制序列化和反序列化的行为。总的来说Jackson是一个强大的Java库可以使SpringMVC应用程序更方便地处理和传输数据。 常用注解 1. JsonFormat格式化输出日期类型的值 2. JsonInclude控制序列化过程中包含哪些属性 3. JsonIgnore忽略某些属性 4. JsonProperty指定属性的名称 5. JsonView根据视图序列化对象 6. JsonManagedReference和JsonBackReference解决对象循环引用的问题 7. JsonIdentityInfo为对象设置唯一标识 8. JsonTypeInfo序列化和反序列化时带上类型信息 9. JsonAutoDetect指定序列化和反序列化过程中哪些属性可见 10. JsonCreator定义一个构造函数用于反序列化 11. JsonAnyGetter和JsonAnySetter序列化和反序列化时动态处理属性 统一异常处理  为什么要全局异常处理 Java 中的全局异常处理是指在程序中统一处理所有的异常而不是在每个方法中单独处理异常。使用全局异常处理可以提高代码的可读性和可维护性减少代码冗余避免重复代码。此外全局异常处理可以将异常信息统一记录到日志中方便后续的问题排查和分析。如果不使用全局异常处理在出现异常时程序可能会直接终止用户体验也会受到影响。因此在 Java 中使用全局异常处理是一个好的编程实践。 异常处理思路 SpringMVC异常分类  1. 控制器方法异常当控制器方法抛出异常时SpringMVC会将异常信息包装成一个特殊的响应对象返回给客户端。 2. 数据转换异常当SpringMVC无法将请求参数转换成对应类型的数据时会抛出数据转换异常。 3. 数据验证异常当请求参数不符合预定的验证规则时会抛出数据验证异常。 4. 消息转换异常当SpringMVC无法将响应数据转换成客户端需要的类型时会抛出消息转换异常。 5. 文件上传异常当文件上传过程中出现问题时会抛出文件上传异常。 6. MVC配置异常当SpringMVC配置出现问题时会抛出MVC配置异常。 7. 未处理的异常当SpringMVC中出现未处理的异常时会抛出未处理的异常。 综合案例  异常处理方式一 SpringMVC中自带了一个异常处理器叫SimpleMappingExceptionResolver该处理器实现了HandlerExceptionResolver 接口全局异常处理器都需要实现该接口。 在Spring-mvc.xml中添加以下代码 !-- springmvc提供的简单异常处理器 --bean classorg.springframework.web.servlet.handler.SimpleMappingExceptionResolver!-- 定义默认的异常处理页面 --property namedefaultErrorView valueerror/!-- 定义异常处理页面用来获取异常信息的变量名也可不定义默认名为exception --property nameexceptionAttribute valueex/!-- 定义需要特殊处理的异常这是重要点 --property nameexceptionMappingspropsprop keyjava.lang.RuntimeExceptionerror/prop/props!-- 还可以定义其他的自定义异常 --/property/bean /beans 新建一个errpr.jsp用来展示异常效果 % page contentTypetext/html;charsetUTF-8 languagejava % html headtitleTitle/title /head body 错误信息页面。。。。。。。。。。。。。。 hr ${ex} hr ${msg} /body /html然后造一个错误数据 RequestMapping(/list)public ListBookxx list(HttpServletRequest req, Bookxx bookxx){PageBean pageBean new PageBean();pageBean.setRequest(req);ListBookxx lst this.bookxxBiz.selectPage(bookxx, pageBean);System.out.println(1 / 0);return lst;} 测试  异常处理方式二  首先在异常包中定义一个全局异常的类 异常类代码 package com.xiaoxu.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);} } 创建一个全局异常处理类 package com.xiaoxu.component;import com.xiaoxu.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 {// 返回错误json数据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;} } 测试 异常处理方式三 注前两种异常不可同时使用。 定义一个新的异常处理方法 // 返回错误json数据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;}
http://www.huolong8.cn/news/161006/

相关文章:

  • 圣弓 网站建设网站建设 搞笑笑话
  • 牛商网建站网站建设优化公司呼和浩特
  • 免费做暧暧网站天津建设工程信息网网站首页
  • 昆山网站建设哪家比较好wordpress 文件下载功能
  • c++手机编程软件seo服务公司深圳
  • flash个人网站网站建设要什么知识
  • 梅州做网站设计公司许昌正规网站优化公司
  • 网站推荐货源网站开发需不需要考研
  • 1元购类似网站架设药多少钱微网站如何制作
  • 山西建设局网站首页50个产品改良设计
  • 网站开发外包合同昆明网站建设yn119
  • 泸州网站建设价格怎么在百度投放广告
  • 最好建站网站杭州专业网站设计策划
  • 进口网站建设十大外贸论坛
  • 有帮人做网站的人吗德阳建设局官方网站
  • 做便宜网站全球营销策划公司排名
  • 如何申请网站备案号有哪些可以做外链的网站
  • 吉安网站公司线上推广员
  • 网站的数据库做备份做网站可以用电脑当服务器吗
  • 网站怎么做qq的授权登陆福清做网站
  • 如何查看网站的更新频率上海建行网点
  • 泰州高端网站建设北京外贸网站建设公司
  • 建立企业网站价格自建app免费制作平台
  • 网站客户端怎么做的建网站的每年有费用
  • 学习网站建设要报班吗嘉兴做网站多少钱
  • 那些网站做的非常好看的服务器做jsp网站教程
  • 中山市网站建设焦作做网站哪家好
  • wordpress注册邮箱验证收不到邮件电脑系统优化软件排行榜
  • 原创网站设计费用如何做网站源码
  • 无锡新吴区住房建设和交通局网站深圳市光明区实验学校