美文网首页
javaweb中统一异常处理显示给浏览器

javaweb中统一异常处理显示给浏览器

作者: pr0metheus | 来源:发表于2018-03-23 15:36 被阅读0次

因为是显示给浏览器的也就是说是由Servlet抛出给浏览器的,而且要具备通用性即任何异常信息都通过同一种途径来显示

具体思路如下:

  • 在request域中设置attribute(Servlet.GLOBAL_ERROR_NAME, "错误信息");
  • 然后通过forward转向到error.jsp(注:统一显示异常信息的页面)
  • error.jsp是一个不完整的html(即没有head、body块只有alert函数以及history.back()方法,这样就会只显示警告框然后当点击的时候就退回到上一步操作了)

具体代码如下:

error.jsp

<%@page language="java" contentType="text/html; charset=GBK"%>
<%@ page import ="java.util.*, com.shengsiyuan.imis.util.*"%>
<%@ page import ="com.shengsiyuan.imis.util.*"%>
<link rel="stylesheet" href="style.css">


<body style="margin:0px" bgcolor="#D5E3E0">

<br>
<br>
<br>
<table width="100%" height="384" cellpadding="0" cellspacing="0" align="center">
<tr>
<td>
<img src="<%=request.getContextPath()%>/Images/loginbg_left.gif" width="100%" height="384"><br>
</td>
</tr>
</table>

<script type="text/javascript">

alert("<%= request.getAttribute(ServletString.GLOBAL_ERROR_NAME)%>");
history.back();

</script>

servlet中的部分代码:

try {
      long newsCatalogNum = service.getNewsCatalogCount(id);
      if (0 != newsCatalogNum) {
           request.setAttribute(ServletString.GLOBAL_ERROR_NAME, "有子分类不能够删除!");
           request.getRequestDispatcher("/error.jsp").forward(request, response);
            return;
       } else {
           service.deleteNewsCatalogById(id);
            response.sendRedirect("ListNewsCatalog?parentId=" + parentId + "&start=" + start + "&range=" + range);
       }
} catch (ServiceException e) {
            e.printStackTrace();
 }
        

相关文章

  • javaweb中统一异常处理显示给浏览器

    因为是显示给浏览器的也就是说是由Servlet抛出给浏览器的,而且要具备通用性即任何异常信息都通过同一种途径来显示...

  • 项目中统一异常处理

    在开发时,难免各种if else代码判断用户请求是否包含***,那么我们如何让用户更清楚的知道自己要干什么,错在哪...

  • SpringMVC控制器统一异常处理

    摘要 介绍spring mvc控制器中统一处理异常的两种方式:HandlerExceptionResolver以及...

  • 关于IE字体显示异常的问题

    遇到一件很搞的事。IE浏览器字体显示异常:在chrome浏览器显示如下: 在IE内核的浏览器显示如下: 这就很搞了...

  • 《JavaScript 学习指南》阅读笔记(一)

    给 script 元素设置 defer 属性可以让浏览器提前处理页面部分,在页面处理结束并做好显示准备时再处理脚本...

  • 浅谈JavaWeb中高并发业务处理

    文章地址:浅谈JavaWeb高并发业务处理 浅谈JavaWeb中高并发业务处理 在JavaWeb应用中高并发的业务...

  • 图片加载失败后CSS样式处理最佳实践

    一、传统的图片异常处理 如果因为网络或者跨域限制等原因无法正常加载,在默认情况下会显示浏览器默认的“裂开”的图片效...

  • 统一异常处理

    一、什么是统一异常处理 1、制造异常 2、什么是统一异常处理我们想让异常结果也显示为统一的返回结果对象,并且统一处...

  • java异常

    什么是异常有异于常态,在编程当中,阻止当前方法或者作用域,称之为异常。 异常的处理以及意义异常处理有利于正确显示错...

  • iOS-H5联调的坑记录小结【长期更新】

    问题一:H5给了一个同样的url,在安卓端,浏览器显示上均正常,iOS端显示异常。 原因:H5连接里面有特殊符号,...

网友评论

      本文标题:javaweb中统一异常处理显示给浏览器

      本文链接:https://www.haomeiwen.com/subject/imdxcftx.html