在Struts中对于exception出现的情况下,可以使用
代码
- <global-exceptions>
- <exception key="errors.message" type="java.lang.Exception" path="/errorpage.jsp" scope="request"/>
- </global-exceptions>
<script type="text/javascript">render_code();</script>
来指定错误页面
我希望在页面上显示
详细的错误信息,如何编写errorpage.jsp页面呢?
web.xml设定
代码
-
- <error-page>
- <exception-type>org.xiaohanne.simplemvc.exception.ErrorPageException</exception-type>
- <location>/error/error.jsp</location>
- </error-page>
<script type="text/javascript">render_code();</script>
error.jsp 这个页面因为isErrorPage="true"所以能取默认的exception
代码
- <%@page contentType = "text/html;charset=gb2312" %>
- <%@page isErrorPage="true"%>
- <html>
- <head>
- <title>错误处理</title>
- <meta http-equiv="Expires" content="">
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <link rel="stylesheet" href="css.css">
- <body color=#FF0000>
- <br><br><br>
- <table width="400" bgcolor=#EEEEFF align=center border="0" cellspacing="0" cellpadding="0">
- <tr class=th height=22><td colspan=10>&错误提示</td></tr>
- <tr bgcolor=#CCCCEE height=1><td colspan=10></td></tr>
- <tr>
- <td width=30 rowspan="4">&</td>
- <td>
- <font color=#0000FF><font color="#0000FF">错误信息为:<%=exception.getMessage()%>
- <%--根据配置文件或url参数决定是否显示--%>
- <%String sIsDebug=request.getParameter("debug");
- if(sIsDebug==null||sIsDebug.equals("")) sIsDebug="false";
- if(org.xiaohanne.simplemvc.config.Configurator.isDebug()||sIsDebug.equals("true")){%>
- <hr>
- 错误详细信息(供管理人员调试):<%=exception.toString()%>
- <hr>
- 错误堆栈(供管理人员调试):<br><%=((org.xiaohanne.simplemvc.exception.ErrorPageException)exception).toTrace()%>
- <%}%>
- </font></font>
- </td>
- <td height="69">&</td>
- </tr>
- <tr height=30 valign=center>
- <td valign="top" align="right"><a href='javascript:history.go(-1);'>返回上页</a></td>
- </tr>
- <tr bgcolor=#CCCCEE height=1><td colspan=10></td></tr>
- </table>
- </body>
- </html>
补上ErrorPageException.toTrace()的定义
代码
- package org.xiaohanne.simplemvc.exception;
-
-
-
-
-
- public abstract class ErrorPageException extends ServletException {
- protected String _errorStr=super.toString();
-
- public String toTrace(){
- String s="\n"+this.getClass().toString();
- StackTraceElement[] trace = this.getStackTrace();
- for (int i=0; i < trace.length; i++)
- s+="\n " + trace[i];
- return s;
- }
- }
分享到:
相关推荐
3. **Web.xml中的FORWARD配置**:在web.xml中,`<error-page>`标签可以用来配置错误处理页面,例如404错误。如果`<jsp:forward/>`指向的页面不存在,服务器会抛出404错误,此时需要确保web.xml中有正确的错误处理...
设计一个JSP页面(如`errorPage.jsp`),在这个页面上,我们可以使用EL表达式或JSTL来显示错误信息。这样,用户看到的不再是复杂的堆栈跟踪,而是简洁明了的错误提示。 4. **自定义Exception Interceptor**: ...
当Action的execute方法抛出异常时,`ActionSupport`会自动将错误信息设置到ActionContext中,这样可以在JSP页面上通过`fieldErrors`或`actionErrors`标签显示错误信息。例如: ```java public class MyAction ...
总的来说,通过自定义拦截器和配置错误页面,开发者可以在Struts2框架下提供优雅的404错误处理,增强用户体验,并方便地进行问题排查。对于大型项目,良好的错误处理策略是不可或缺的一部分,它能帮助我们快速定位和...
7. **错误和异常处理**:学习如何在Struts中处理异常,如全局异常拦截器和自定义异常处理。 8. **性能优化**:可能涉及到减少JSP中的Java代码,使用缓存,优化数据库查询等技巧。 这个培训可能由于某些原因...
在 JSP 中,如果当前 JSP 页面出现异常时,需要设置 page 指令的 errorPage 属性,以便将异常重定向到错误页面。在 errorPage 属性中,可以指定错误页面的 URL。 四、隐式注释 JSP 中的隐式注释为 注释内容 --%>,...
在Web应用中,当请求无法正确处理时,服务器通常会返回404(Not Found)或500(Internal Server Error)错误。为了提供友好的用户体验,开发者需要自定义这些错误页面。在Struts2中,可以通过在struts.xml配置文件...
根据我们在`struts.xml`中定义的结果,我们需要创建两个JSP页面:`success.jsp`用于展示登录成功的界面,`error.jsp`用于显示登录失败的信息。 1. success.jsp ```jsp <%@ page contentType="text/html;charset=UTF...
3. **错误处理**:通过 `<error-page>` 配置 HTTP 错误代码对应的页面,如 404 和 505 错误: ```xml <error-page> <error-code>404</error-code> <location>/common/404.jsp </error-page> <error-page> ...
JSP可以通过errorPage指令指定错误页面,或者在页面内使用try-catch-finally结构捕获并处理异常。 11. **MVC框架** 如Struts、Spring MVC等,它们使用JSP作为视图层技术,提供更强大的模型管理和控制器功能,提高...
更新内容: 在原来的版本中, 如果一个路径没有在struts-config.xml文件中配置, 返回的是一个404错误页面, 现在, 如果一个请求路径没有在标签中配置, 我们可以自定义返回的错误页面. 使用示例: 如果你想要使用这个...
Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中,为开发者提供了...在实际开发中,你可能还需要考虑更多因素,如安全性(使用HTTPS、防止SQL注入等)、错误处理、用户会话管理等。
6. 创建视图:根据`struts-config.xml`中的`forward`标签,创建对应的JSP页面,如`AddGoodSuccess.jsp`和`AddGoodFailure.jsp`,显示操作的结果。 至此,一个简单的Struts1应用就开发完成了。开发者可以根据需求...
这篇博客主要探讨了在Struts2中如何有效地管理和处理异常,从而提高应用的稳定性和用户体验。 在Struts2中,异常处理主要通过两种方式实现:全局异常处理和动作级别的异常处理。全局异常处理适用于整个应用,而动作...
在Web应用程序开发中,特别是基于MVC架构的框架如Apache Struts中,确保用户操作的安全性是非常重要的。其中一项常见且重要的安全措施是防止表单的重复提交。本文将详细介绍如何在Struts框架中利用Token机制来避免...
4. `<error-page>`:配置错误处理页面,例如404和505错误,将用户重定向到定制的错误提示页面。 5. `<taglib>`:定义TLD(Tag Library Descriptor)文件的位置,这些文件描述了Struts的JSP标签库,如`struts-...
在 `welcome.jsp` 页面中,可以使用 Struts 的标签库来调用相应的 Action: ```jsp ``` ##### **1.4 错误与异常处理 (Error Handling)** Struts 1.2 支持在 `web.xml` 中配置 HTTP 错误码的处理页面,以及...
10. **错误和异常处理**: 应用可能包含了错误和异常处理机制,如自定义的ActionError或全局的error-page配置,以确保在出现问题时能给出合适的反馈。 以上只是基于Struts框架的留言板应用可能涉及的一些基本概念和...
在Struts框架中,配置文件通常是`struts-config.xml`,它是应用的核心配置文件,用于定义动作映射、数据源、结果页面等关键元素。这个文件通常位于Web应用的`WEB-INF`目录下。 ### 1. 动作映射(Action Mapping) ...
2. 错误处理:通过`error-page`配置和`try-catch`块捕获并处理异常。 3. 安全性:防止SQL注入、XSS攻击,以及正确管理用户认证和授权。 九、JSP与现代Web框架的比较 随着Spring MVC、Struts、JSF等现代Web框架的...