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

温州网站建设方案书宜昌市建设局网站

温州网站建设方案书,宜昌市建设局网站,营销推广方法,小学网站模板免费下载有时我写了一篇有关Java异常处理的文章#xff0c;但是当涉及到Web应用程序时#xff0c;我们需要的不仅仅是Java中的异常处理。 Servlet异常 如果您注意到#xff0c;doGet#xff08;#xff09;和doPost#xff08;#xff09;方法将抛出ServletException和IOExcept… 有时我写了一篇有关Java异常处理的文章但是当涉及到Web应用程序时我们需要的不仅仅是Java中的异常处理。 Servlet异常 如果您注意到doGet和doPost方法将抛出ServletException和IOException 那么让我们看看从应用程序中抛出这些异常时会发生什么。 我将编写一个简单的Servlet它将抛出ServletException。 MyExceptionServlet.java package com.journaldev.servlet.exception;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;WebServlet(/MyExceptionServlet) public class MyExceptionServlet extends HttpServlet {private static final long serialVersionUID 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {throw new ServletException(GET method is not supported.);}} 现在当我们使用GET方法通过浏览器调用此servlet时将得到如下图所示的响应。 由于浏览器仅了解HTML因此当我们的应用程序引发异常时servlet容器将处理该异常并生成HTML响应。 此逻辑特定于Servlet容器我正在使用tomcat并获取此错误页面但是如果您将使用其他服务器如JBoss或Glassfish则可能会收到不同的错误HTML响应。 此响应的问题在于它对用户没有任何价值。 它还向用户显示我们的应用程序类和服务器详细信息这对用户没有意义并且从安全角度来看也不是一件好事。 Servlet错误 我确定当您尝试访问不存在的URL时您肯定已经看到404错误。 让我们看看我们的servlet容器如何响应404错误。 如果我们发送无效URL的请求则会得到响应HTML如下图所示。 同样它是服务器代表我们生成的通用HTML对用户几乎没有价值。 Servlet异常和错误处理 Servlet API支持可在部署描述符中配置的自定义Exception和Error Handler servlet这些servlet的全部目的是处理应用程序引发的Exception或Error并发送对用户有用HTML响应。 我们可以提供指向应用程序主页的链接或一些详细信息以使用户知道出了什么问题。 因此首先我们需要创建一个自定义的Exception and Error Handler servlet。 我们可以为应用程序提供多个异常和错误处理程序servlet但为简单起见我将创建一个servlet并将其用于异常和错误。 AppExceptionHandler.java package com.journaldev.servlet.exception;import java.io.IOException; import java.io.PrintWriter;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;WebServlet(/AppExceptionHandler) public class AppExceptionHandler extends HttpServlet {private static final long serialVersionUID 1L;protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {processError(request, response);}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {processError(request, response);}private void processError(HttpServletRequest request,HttpServletResponse response) throws IOException {// Analyze the servlet exceptionThrowable throwable (Throwable) request.getAttribute(javax.servlet.error.exception);Integer statusCode (Integer) request.getAttribute(javax.servlet.error.status_code);String servletName (String) request.getAttribute(javax.servlet.error.servlet_name);if (servletName null) {servletName Unknown;}String requestUri (String) request.getAttribute(javax.servlet.error.request_uri);if (requestUri null) {requestUri Unknown;}// Set response content typeresponse.setContentType(text/html);PrintWriter out response.getWriter();out.write(htmlheadtitleException/Error Details/title/headbody);if(statusCode ! 500){out.write(h3Error Details/h3);out.write(strongStatus Code/strong:statusCodebr);out.write(strongRequested URI/strong:requestUri);}else{out.write(h3Exception Details/h3);out.write(ulliServlet Name:servletName/li);out.write(liException Name:throwable.getClass().getName()/li);out.write(liRequested URI:requestUri/li);out.write(liException Message:throwable.getMessage()/li);out.write(/ul);}out.write(brbr);out.write(a href\index.html\Home Page/a);out.write(/body/html);} } 让我们看看如何在部署描述符中配置它然后我们将了解它的实现及其工作方式。 web.xml ?xml version1.0 encodingUTF-8? web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd version3.0display-nameServletExceptionHandling/display-namewelcome-file-listwelcome-fileindex.html/welcome-file/welcome-file-listerror-pageerror-code404/error-codelocation/AppExceptionHandler/location/error-pageerror-pageexception-typejavax.servlet.ServletException/exception-typelocation/AppExceptionHandler/location/error-page /web-app 如您所见使用error-page元素为应用程序指定异常处理程序servlet非常容易。 每个错误页面元素应具有错误代码或异常类型元素。 我们在location元素中定义异常处理程序servlet。 基于上面的配置如果应用程序抛出404错误或ServletException它将由AppExceptionHandler servlet处理。 当出现此类异常和错误情况时servlet容器将调用Exception Handler servlet的相应HTTP方法并传递请求和响应对象。 请注意我已经提供了doGet和doPost方法的实现以便它可以处理GET和POST请求并使用通用方法来处理它们。 在servlet容器调用servlet来处理异常之前它会在请求中设置一些属性以获取有关异常的有用信息其中一些是javax.servlet.error.exception javax.servlet.error.status_code javax.servlet。 error.servlet_name和javax.servlet.error.request_uri 。 作为例外状态代码始终为500与“内部服务器错误”相对应对于其他类型的错误我们将获得不同的错误代码例如404、403等。 使用状态代码我们的实现将不同类型HTML响应呈现给用户。 它还提供了到应用程序主页的超链接。 现在当我们点击抛出ServletException的servlet时我们将得到如下图所示的响应。 如果我们尝试访问一个无效的URL这将导致404响应我们将得到如下图所示的响应。 它看起来不是很好并且可以帮助用户轻松地了解发生了什么并为他们提供前往正确位置的方法。 它还避免将应用程序敏感信息发送给用户。 我们应该始终为我们的Web应用程序配备适当的异常处理程序。 如果要在单个异常处理程序中处理运行时异常和所有其他异常则可以将异常类型提供为Throwable。 error-pageexception-typejava.lang.Throwable/exception-typelocation/AppExceptionHandler/location /error-page 如果有多个错误页面条目那么假设一个用于Throwable一个用于IOException并且应用程序抛出FileNotFoundException则它将由IOException的错误处理程序处理。 您还可以将JSP页面用作异常处理程序仅提供jsp文件的位置而不是servlet映射。 这就是Web应用程序中异常处理的全部希望您喜欢它。 下载ServletExceptionHandling项目 参考我们的JCG合作伙伴 Pankaj Kumar在Developer Recipes博客上的Servlet异常和错误处理示例教程 。 翻译自: https://www.javacodegeeks.com/2013/08/servlet-exception-and-error-handling-example-tutorial.html
http://www.huolong8.cn/news/194607/

相关文章:

  • 59网站一起做网店广州网站开发验收流程
  • 在重庆 那里可以做诚信网站认证建设网站需要购买数据库吗
  • 怎么提高网站加载速度慢做婚纱网站的目的
  • 做网站花多少钱网站建设捌金手指花总十三
  • 山东建设项目环境影响登记网站临沂四个商城建设
  • 织梦网站如何做404重庆渝中区企业网站建设哪家专业
  • 西安专业网络推广平台宁波网站优化价格
  • 建设网站赚钱wordpress怎么改成中文版
  • 六安网站制作多少钱wordpress插件主题集成
  • 网站建设免wordpress主题用什么设计
  • 怎么做网站地图导航新人做直播哪个网站好
  • 在哪个网站做科目一考试题crm客户管理系统登陆
  • 做网站需要什么特色dw如何制作表格网页
  • 更改wordpress主题字体颜色网站打开慢如何优化
  • php asp jsp 网站赣州优化公司
  • 查询数据的网站怎么做东莞做个网站
  • 优秀网页设计导航seo职业培训学校
  • php网站服务器怎么来开发三味是啥
  • xp 做网站服务器吗福田公司简介
  • 织梦网站密码忘记了盱眙网站建设
  • 建设网站要多少页面中国住房和城乡建设部网站首页
  • 做融资的网站有哪些深圳网站建设网牛天下
  • 成都市做网站公司产品是做网站
  • 昌平区手机网站制作服务汉中中药材初加工平台
  • 英国人买服务器网站网站建设情况检查报告
  • 经销商自己做网站做h5哪个网站好用
  • 域名没到期 网站打不开晋州专业网站建设
  • 门户网站制作定做教学网站在线自测功能怎么做
  • 网站包括哪些内容平顶山网站制作哪家公司好
  • 品牌网站设计首选南阳优化网站排名