`

jsp页面异常处理

阅读更多

转自:http://blog.csdn.net/zdwzzu2006/article/details/6009079

web开发中异常信息是很重的信息,对开发人员是其相当重要的,对这些异常信息进行转换为用户能理解的信息就更重要了~

在单纯的JSP开发中,处理异常信息一般使用web.xml来定义。
01 <error-page>
02          <error-code>400</error-code>
03          <location>/400.html</location>
04      </error-page>
05  
06      <error-page>
07          <error-code>404</error-code>
08          <location>/404.html</location>
09      </error-page>
10  
11      <error-page>
12          <error-code>500</error-code>
13          <location>/error.jsp</location>
14      </error-page>

这是很简单的!

如果现在想在页面中设置一个隐藏div来供开发人员查看异常信息呢?

整理下网站说的一些方法:

最常说的:
01 <%@page contentType="text/html;charset=Big5" isErrorPage="true"%>
02 <html>
03 <head><title>出现错误</title></head>
04 <body>
05      <H1>错误:</H1><%=exception%>
06      <H2>错误内容:</H2>
07      <%
08          exception.printStackTrace(response.getWriter());
09      %>
10 </body>
11 </html>

因为这个页面调用了exception内置对象,所以isErrorPage必须为true。

这个是能打印出异常信息的,但是放入了response中,页面从头就开始打印异常信息,用户不明白异常信息~影响用户使用。

另一种常见方法:

不仅可以使用jsp内置exception对象来取得异常,也可以取得request中的attribute
1 <%@page contentType="text/html;charset=Big5" isErrorPage="true"%>
2 <html>
3 <head><title>错误信息</title></head>
4 <body>
5      错误码: <%=request.getAttribute("javax.servlet.error.status_code")%> <br>
6      信息: <%=request.getAttribute("javax.servlet.error.message")%> <br>
7      异常: <%=request.getAttribute("javax.servlet.error.exception_type")%> <br>
8 </body>
9 </html>

同理的还有

<%= exception.getMessage()%>

<%=exception%>

<c:out value="${requestScope['javax.servlet.error.message']}"/>

这个也可能打印异常信息,但有时只会打印出一个null.没有任何有价值信息。

-----------------------

还有一个特殊情况:

Error Page在IE下不能转发的问题

这是IE自身的设定导致的,经过百度,找到几个解决办法:   
1, IE设定   工具-->Internet选项-->高级--->显示http友好错误信息(取消选择) , 这样就可以了
2, 设置指定错误页页状态为正常,来告诉IE这不是一个服务器错误, 从而不显示IE的自定义错误页
<%
    response.setStatus(200); // 200 = HttpServletResponse.SC_OK
%>
3, 把错误页做大一点,弄个几百K 就可以显示错误页面 (加一个div块,display设为none就可以了),这个问题比较奇怪.

这个问题我还没有遇到过~先记录在这儿吧~~



现在能符合要求的处理方法是:
01 <%@ page language="java" contentType="text/html; charset=GB18030"
02 pageEncoding="GB18030"%>
03 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
04 <%@ page isErrorPage="true"%> //一定要写,不能显示错误
05 <%
06 response.setStatus(HttpServletResponse.SC_OK); //这句也一定要写,不然IE不会跳转到该页面
07 String path=request.getContextPath();
08 %>
09 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
10 <html>
11 <head>
12 <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
13 <title>Insert title here</title>
14 </head>
15 <body>
16 500 error
17 <div>系统执行发生错误,信息描述如下:</div>
18 <div>错误状态代码是:${pageContext.errorData.statusCode}</div>
19 <div>错误发生页面是:${pageContext.errorData.requestURI}</div>
20 <div>错误信息:${pageContext.exception}</div>
21 <div>
22 错误堆栈信息:<br/>
23 <c:forEach var="trace" items="${pageContext.exception.stackTrace}">
24 <p>${trace}</p>
25 </c:forEach>
26 </div>
27 </body>
28 </html>


分享到:
评论

相关推荐

    简单好用的前台异常提示jsp

    标题中的“简单好用的前台异常提示jsp”指的是在Web开发中,如何通过JSP页面向用户友好地展示异常信息。这种技术对于提高用户体验至关重要,因为它可以帮助用户理解系统发生的问题,而不仅仅是看到一个错误代码。 ...

    JSP里web.xml实现错误处理页面的制

    为了提供更专业且用户友好的错误信息,开发者通常会创建专门的JSP页面,如`building.jsp`和`error.jsp`,用于处理不同的错误类型。以下是一个`error.jsp`页面的示例: ```jsp ; charset=GBK" isErrorPage="true" ...

    jsp页面加载时提示loading

    4. **JSP脚本错误**:JSP页面中的语法错误或逻辑错误可能会导致页面加载异常。检查JSP文件中的Java代码,确保没有编译错误或运行时异常。使用IDE的错误检查功能可以帮助快速定位问题。 5. **缓存问题**:浏览器缓存...

    jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理

    当用户请求JSP页面时,服务器会执行相应的Servlet,将结果返回给客户端。 **2. JSP页面构成** JSP页面由以下几个主要部分组成: - **静态内容**:HTML、CSS、JavaScript等,直接显示在浏览器中。 - **脚本元素**:...

    jsp常见异常总结 希望有所帮助

    当JSP页面在转换为Servlet源码时出现问题,或者在执行JSP页面的Java代码时遇到错误,会抛出此类异常。检查JSP语法是否正确,确保EL表达式和脚本let语句的合法性。 7. **java.lang.NoSuchMethodError** 当运行时...

    jsp错误处理页面的例子

    1. **异常处理**: - **try-catch-finally语句**:在JSP页面中,可以使用Java的try-catch-finally结构来捕获并处理可能出现的异常。当异常发生时,catch块中的代码会被执行,finally块通常用于资源清理,无论是否...

    Jsp中常见异常解答

    当Servlet执行时出现错误或异常时,通常会导致JSP页面无法正常渲染。例如: - **ServletException**:这是一个通用的异常类,用于表示在Servlet执行期间发生的问题。 - **IOException**:当Servlet处理I/O操作时...

    JSP学习之异常处理实例分析

    然后,在其他JSP页面中使用 `errorPage` 指令指向这个异常处理页面: ```jsp &lt;%@ page errorPage="errorPage.jsp"%&gt; ``` 当指定页面出现异常时,控制权将转交给 `errorPage.jsp` 进行处理。 3. **通过 `web....

    jsp常见异常

    这种异常通常发生在使用Struts框架时,当JSP页面尝试访问一个未在`struts-config.xml`中定义的Action时会抛出此异常。例如,在JSP页面中使用`&lt;html:form action="Login.do"&gt;`来提交表单,但`Login.do`所对应的Action...

    教务系统简单JSP页面设计

    7. **错误处理与异常处理**:确保在处理用户请求时加入适当的错误和异常处理机制,以提高系统的健壮性。 8. **安全性考虑**:在进行数据操作时,要注意防止SQL注入等安全问题,可以使用预编译的PreparedStatement来...

    Struts2异常处理机制

    它们都被存储在`ActionContext`中,可以通过`ValueStack`传递到JSP页面进行显示。在JSP中,通常使用`s:actionerror`和`s:fielderror`标签来显示这些错误信息。 5. **自定义异常处理器(Custom Exception Handler)** ...

    纯jsp页面的一个简单学生成绩系统

    4. 响应处理:JSP页面根据业务逻辑的结果,可能需要更新页面内容,或者跳转到其他页面。这可以通过`response.sendRedirect()`或在页面中使用`&lt;jsp:forward&gt;`标签实现。 5. 错误处理:为了提高系统的健壮性,还需要...

    JSP 异常处理

    JSP 异常处理 当编写JSP程序的时候,程序员可能会遗漏一些BUG,这些BUG可能会出现在程序的任何地方。JSP代码中通常有以下几类异常: 检查型异常:检查型异常就是一个典型的用户错误或者一个程序员无法预见的错误。举例...

    jsp页面登录验证代码

    4. **异常处理**:在`verifylogin.jsp`中添加异常处理逻辑,确保即使发生数据库连接错误或其他异常情况,也能向用户提供清晰的错误信息。 通过以上分析,我们可以看到,虽然`login.html`和`verifylogin.jsp`构成了...

    jsp简单注册,登录页面

    2. **JSP语法**:在JSP页面中,我们可以使用`&lt;jsp:include&gt;`、`&lt;jsp:useBean&gt;`、`&lt;jsp:setProperty&gt;`等指令进行页面包含、创建Java对象以及设置对象属性。此外,还可以使用脚本元素`&lt;% %&gt;`、`&lt;%= %&gt;`、`! %&gt;`, 分别...

    jsp页面上传图片例子

    - 在Servlet中添加异常处理,当文件上传或保存失败时,返回错误信息给JSP页面显示。 综上所述,实现JSP页面上传图片并显示的功能,涉及到了HTML表单、Servlet、文件操作以及一些安全措施。这是一个典型的客户端-...

    通过文件流读取本地图片显示在JSP页面方法

    ### 通过文件流读取本地图片显示在JSP页面的方法详解 #### 一、概述 在Web开发中,经常会遇到需要将本地存储的图片显示在前端界面的需求。本文将详细介绍如何利用Java中的文件流技术来实现这一功能。具体来说,...

    图片直接保存到数据库,并在JSP页面显示

    标题“图片直接保存到数据库,并在JSP页面显示”涉及的知识点主要集中在Web开发领域,尤其是Java Web开发,包括图片处理、数据库存储以及前端展示。这里我们将深入探讨以下几个关键环节: 1. 图片数据的二进制化:...

    jsp 简单注册并在另一页面显示注册的信息

    【标题解析】 ...在这个系统中,用户可以在一个页面上填写注册信息,然后这些信息...以上就是基于JSP实现用户注册并在另一页面显示信息的基本流程和技术要点,实际开发中还需要考虑安全性、用户体验、异常处理等多个方面。

Global site tag (gtag.js) - Google Analytics