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

网站建设实训的认识广东广州重大新闻

网站建设实训的认识,广东广州重大新闻,wordpress excerpt,宁波建设工程学校网站在开发软件应用程序时#xff0c;异常处理是显而易见的要求。 如果在处理用户请求时发生任何错误#xff0c;我们应该向用户显示一个错误页面#xff0c;其中包含详细的异常消息#xff0c;错误代码#xff08;可选#xff09;#xff0c;更正输入和重试的提示#xff… 在开发软件应用程序时异常处理是显而易见的要求。 如果在处理用户请求时发生任何错误我们应该向用户显示一个错误页面其中包含详细的异常消息错误代码可选更正输入和重试的提示可选以及实际根本原因可选等详细信息。 这也适用于RESTful Web服务。 但是将try-catch-finally块放在所有代码中并不是一个好习惯。 我们应该以这样一种方式设计/编码如果发生任何不可恢复的错误那么代码应该抛出该异常并且应该有一个异常处理程序来捕获这些异常并提取错误详细信息并对所有错误给出正确的错误响应错误详细信息。 RESTEasy提供了这样的ExceptionHandler机制该机制简化了ExceptionHandling过程。 在这一部分中我将向您展示如何使用RESTEasy的ExceptionHandlers处理异常。 步骤1创建应用程序特定的异常。 *** ResourceNotFoundException.java*package com.sivalabs.resteasydemo;public class ResourceNotFoundException extends RuntimeException{private static final long serialVersionUID 1L;public ResourceNotFoundException(String msg){super(msg);}}*** ApplicationException.java*package com.sivalabs.resteasydemo;import java.io.PrintWriter;import java.io.StringWriter;public class ApplicationException extends RuntimeException{private static final long serialVersionUID 1L;public ApplicationException(){super();}public ApplicationException(String message, Throwable cause){super(message, cause);}public ApplicationException(Throwable cause){super(cause);}public ApplicationException(String msg){super(msg);}public String getInternalErrorMessage(){Throwable cause this.getCause();if(cause ! null){StringWriter sw new StringWriter();PrintWriter pw new PrintWriter(sw);cause.printStackTrace(pw);return sw.toString();}return null;}} 步骤2通过实现ExceptionMapper接口创建ExceptionHandlers。 *** ResourceNotFoundExceptionHandler.java*package com.sivalabs.resteasydemo;import javax.ws.rs.core.Response;import javax.ws.rs.ext.ExceptionMapper;import javax.ws.rs.ext.Provider;import org.springframework.stereotype.Component;ProviderComponentpublic class ResourceNotFoundExceptionHandler implements ExceptionMapperResourceNotFoundException{Overridepublic Response toResponse(ResourceNotFoundException ex)For simplicity I am preparing error xml by hand.Ideally we should create an ErrorResponse class to hold the error info.String msg ex.getMessage();StringBuilder response new StringBuilder(response);response.append(statusfailedstatus);response.append(messagemsgmessage);response.append(response);return Response.serverError().entity(response.toString()).build();}}*** ApplicationExceptionHandler.java*package com.sivalabs.resteasydemo;import javax.ws.rs.core.Response;import javax.ws.rs.ext.ExceptionMapper;import javax.ws.rs.ext.Provider;import org.springframework.stereotype.Component;ProviderComponentpublic class ApplicationExceptionHandler implements ExceptionMapperApplicationException{Overridepublic Response toResponse(ApplicationException ex){For simplicity I am preparing error xml by hand.Ideally we should create an ErrorResponse class to hold the error info.String msg ex.getMessage();String internalError ex.getInternalErrorMessage();StringBuilder response new StringBuilder(response);response.append(statusfailedstatus);response.append(messagemsgmessage);response.append(internalErrorinternalErrorinternalError);response.append(response);return Response.serverError().entity(response.toString()).build();}} 步骤3更新UserResource.getUserXMLById方法以验证用户输入并引发相应的异常 。 Path({id})GETpublic Response getUserXMLById(PathParam(id) Integer id) {if(idnull || id 1 ){throw new ApplicationException(User Id[id] should not be less than 1.);}User user userService.getById(id);if(usernull ){throw new ResourceNotFoundException(No User found with Id :[id]);}return Response.ok(user).build();} 步骤4通过发出以下请求测试UserResource.getUserXMLById服务方法。 case 1 : GET http:localhost:8080resteasy-demorestusers0Response :responsestatusfailedstatusmessageUser Id[0] should not be less than 1.messageinternalErrornullinternalErrorresponsecase 2: GET http:localhost:8080resteasy-demorestusers100Response :responsestatusfailedstatusmessageNo User found with Id :[100]messageresponse 重要注意事项 在Spring创建必要的对象时我们应该让Spring知道Provider类以使它们在RESTEasy中注册。 我们可以通过两种方式做到这一点。 a使用Component注释提供程序类 b使用组件扫描的包含过滤器。 contextcomponent-scan base-package com.sivalabs.springdemo contextinclude-filter expression javax.ws.rs.ext.Providertype annotation/ / contextcomponent-scan RESTEasy教程系列 RESTEasy教程第1部分基础 RESTEasy教程第2部分Spring集成 RESTEasy教程第3部分–异常处理 参考 RESTEasy教程第3部分–来自我们的JCG合作伙伴 Siva Reddy的“ 异常处理” 位于“ 技术上的我的实验”博客上。 翻译自: https://www.javacodegeeks.com/2012/06/resteasy-tutorial-part-3-exception.html
http://www.pierceye.com/news/846301/

相关文章:

  • 网站开发技术协议上海百度推广
  • 粤icp备网站建设 中企动力广州网站开发是什
  • 佛山+网站建设开发系统 平台
  • 运输房产网站建设健康南充app
  • 营销型网站推广公司最好的app开发公司
  • 做网站硬件江西省城乡建设陪训网官方网站
  • 深圳做小程序网站开发短视频剪辑在哪里学
  • 集约化网站建设广州网站制作
  • 如何做网站链接wordpress 视
  • 北京专业建设网站公司做网站那几步
  • 网站版式布局宁波百度推广优化
  • 邵阳专业网站设计网站建设打造营销型网站
  • 网站内部链接的策略成都装修公司网站建设
  • 网页制作与网站建设答案联合易网北京网站建设公司怎么样
  • 虚拟主机安装网站wordpress xss
  • 营销网站的优点网上服务大厅用户登录
  • 阿里云网站建设服务费会计科目网站域名改了帝国cms
  • 塑业东莞网站建设网站建设的课件
  • 制作网页网站教程网站开发一般用
  • 网站换空间 sitewordpress 下载功能
  • 国外优秀的字体设计网站西安地产网站制作公司
  • 微网站和普通网站区别租腾讯服务器做网站行吗
  • 西安网站品牌建设福州建设发展集团网站
  • 网站源码怎么有wordpress内嵌播放器
  • 南宁网站快速排名提升一起来做网站17
  • 网站做数据分析什么软件是做网站的
  • 邯郸移动网站建设建设网站的报价
  • 做网站优化期间能收到网站吗科技创新与应用
  • 有没有做的很炫的科技型网站wordpress企业主题二次开发下载
  • 陕西住房和建设部网站深圳外贸建站模版