- 浏览: 138047 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (137)
- java (138)
- c# winform (笨方法)根据不同的样式配置 设置窗体相关控件的背景 以改变窗体风格 (1)
- Android平台下实现一个进程管理器 (1)
- 装饰模式 (1)
- 【转】介绍线性代数 (1)
- fqueue初步分析 (1)
- 千万级sql优化 (1)
- 开源项目 (1)
- js弹出遮罩层【并弹出提示信息】 (1)
- 代码高亮、源码格式、iteye代码格式的种种方法 (1)
- Drupal学习笔记(四)warning: array_key_exists(): The first argument should be either a string or an integer (1)
- 2011年Java EE生产力报告 (1)
- java(j2se)学习笔记----类注释文档编写方法? (1)
- ubuntu 添加应用程序 到快速启动 (1)
- JPA注解配置实例 (1)
- C++著名内裤 (1)
- Android笔试或者面试的几个题目 (1)
- Ajax&&GWT (1)
- IHS静默安装(转) (1)
- WIN98下运行DOTNET程序的一些问题 (1)
- 开启新的项目——基于电子邮件的知识管理系统 (1)
- 这里的BLOG服务器也太不稳定了 (1)
- MapXtreme2004代码 读取TAB表中的元素 (1)
- 终于把我的大部分BLOG复制到这里来了 (1)
- 2011NOKIA笔试题目 (1)
- Ajax实现省市二级联动(源代码) (1)
- mxgraph之保存图片 (1)
- sso单点登录 (1)
- Android开发之SurfaceView (1)
- Android开发之ListView (1)
- SQL SERVER 2008 中分页方法集锦 (1)
- 2011-12-2 (1)
- 分页组件 (1)
- Myeclipse自动加入struts 2 Core Libraries导致antlr错误 (1)
- jbpm4在tomcat6中EL错误 (1)
- c++中有关数组和指针的若干问题 (1)
- rails 上传文件和删除文件 (1)
最新评论
-
mazongfei:
就是有点乱,不过还是不错的
sso单点登录 -
xiaokang1582830:
写得这么乱,地球人是无法看得懂的...
sso单点登录 -
shenyu:
大侠,下回分解在哪里啊?
mxgraph之保存图片 -
GZQ0821:
为啥不编译后贴出来呢!
SQL SERVER 2008 中分页方法集锦 -
evil9999:
http://belives2012.blog.163.com ...
千万级sql优化
异常是当jvm(java虚拟机)在执行应用程序的某个方法的时候遇到的非正常现象,jvm就会生成一个异常对象,抛给客户以便客户进行异常处理.struts框架的异常处理机制建立在java异常处理的基础之上.在研究struts异常处理之前,先回顾一下java异常处理原理,理解java虚拟机jvm的异常处理过程有助于应用设计正确的异常处理方法.处理异常需要jvm付出不小的开销,所以用于必须慎重使用. <br><br>java异常是在java程序运行的时候遇到非正常的情况而创建的对象,它封装了异常信息,java异常的根类为java.lang.throwable,整个类有两个直接子类java.lang.error和java.lang.exception.error是程序本身无法恢复的严重错误.exception则表示可以被程序捕获并处理的异常错误.jvm用方法调用栈来跟踪每个线程中一系列的方法调用过程,该栈保存了每个调用方法的本地信息.对于独立的java程序,可以一直到该程序的main方法.当一个新方法被调用的时候,jvm把描述该方法的栈结构置入栈顶,位于栈顶的方法为正确执行的方法.当一个java方法正常执行完毕,jvm回从调用栈中弹处该方法的栈结构,然后继续处理前一个方法.如果java方法在执行代码的过程中抛出异常,jvm必须找到能捕获异常的catch块代码.它首先查看当前方法是否贼这样的catch代码块,如果存在就执行该catch代码块,否则jvm回调用栈中弹处该方法的栈结构,继续到前一个方法中查找合适的catch代码块.最后如果jvm向上追到了main()方法,也就是一直把异常抛给了main()方法,仍然没有找到该异常处理的代码块,该线程就会异常终止,如果该线程是主线程,应用程序也随之终止,此时jvm将把异常直接抛给用户,在用户终端上会看到原始的异常信息.回顾完了java的异常处理机制,就要开始研究struts的异常处理了. <br><br>struts框架在视图层和控制层提供了对异常处理的支持.struts的控制器负责捕获各种异常,包括控制器运行中本身抛出的异常,以及调用模型的业务方法的异常.当异常被控制器捕获的时候,在异常处理代码块中,创建描述异常信息的actionmessage对象把它保存在actionmessages或者它的子类actionerrors对象中,然后把它保存在特定的范围内,比如request或session.接下来在视图层<html:error>标签检索特定范围的actionmessages对象,把本地化错误消息输出到页面上.这种异常处理机制可以避免用户看到原始的java异常信息.可以更友好的把错误信息展示给用户. <br><br>struts框架处理异常是以jvm的异常处理机制为基础的,尽管它提供了强大的通用错误处理机制,但是不能保证捕获到所有的异常或者错误.当错误发生的时候,如果struts不能处理这种异常或者错误,就把错误抛给javaweb容器.容器先查看是否在web应用发布描述文件中配置了<error-page>元素,如果存在该元素就返回元素的子元素<location>指定的错误页面,否则就会把错误直接抛给用户.下面简单介绍一struts几个重要的类的异常处理机制,如果想了解这几个类的更深的异常机制,建议查看struts源代码. <br><br>1) actionservlet类的peocess()方法不捕获任何异常,仅仅声明向上层调用方法抛出异常. <br><br>2) requestprocessor类是struts框架处理异常的核心组件. <br><br>3) exceptionhandler类是默认的异常处理类,它的execute()方法负责处理异常. <br><br>根据打造技术blog,寻求java精髓! servlet规范,当容器捕获到异常的时候,将查看是否在web.xml中配置了相 <br><br>应的<error-page>元素,如果存在,就会返回其<location>子元素指定的错误页面.举个简单明了的例子如下: <br><br><error-page> <br><br> <error-code>500</error> <br><br> <location>/error.jsp</location> <br><br></error-page> <br><br><br><br><error-page> <br><br> <exception-type>javax.servlet.servletexception</error> <br><br> <location>/error.jsp</location> <br><br></error-page> <br><br>struts框架也允许以配置的方式来处理异常,配置方法可以避免在action类中通过硬编码来处理异常,提高应用的灵活性,可重用性和可维护性.对于action类的execute()方法抛出的异常会先查找异常处理元素<exception>,如果是被嵌套在<global-exception>元素中就表示是全局异常处理元素,对所有的action都适用.如果是嵌套在<action>元素中,就表示局部的异常处理元素,仅对当前的action适用.阐述一下<exception>元素的属性: <br><br>1) type:指定待处理的异常类 <br><br>2) handler:指定异常处理类.默认是exceptionhandler.如果自己要定义必须继承它 <br><br>3) path:指定转发路径 <br><br>4) key:指定错误消息key.根据这个key到resourcebundle中寻找匹配的消息文本 <br><br>5) bundle:指定resourcebundle,如果没设置将使用哦么人的resourcebundle <br><br>6) scope:指定actionmessages对象的存放范围,默认request,也可以设置session <br><br>struts框架提供了强大的异常处理功能,struts控制器负责捕获异常,并把异常包装与 <br><br>resourcebundle绑定的actionmessages对象,在视图层<html:error>标签能够显示出来,主要可以通过配置的方式和编程的方式实现,这里不推荐用编程的方法,可以增强程序的灵活性,可重用性,可维护性. (网友们的支持,是我继续写技术文章的动力!) <br><br>http://www.blogjava.net/action/archive/2005/10/29/17336.html
发表评论
-
rails 上传文件和删除文件
2012-02-07 14:33 1121文件上传,页面代码: <%form_tag '/ ... -
c++中有关数组和指针的若干问题
2012-02-07 14:13 822<pre class="reply-t ... -
jbpm4在tomcat6中EL错误
2012-02-04 14:03 1089? jbpm4 在tomcat6 下面ssh2 这个错 ... -
Myeclipse自动加入struts 2 Core Libraries导致antlr错误
2012-02-04 13:29 995解决方法: 选择windows---preferenc ... -
分页组件
2012-02-03 12:23 927撒地方阿斯顿的撒啊受到爱上 ... -
2011-12-2
2012-02-02 15:34 752ubuntu系统root默认密码,每次开机会随机产生默 ... -
SQL SERVER 2008 中分页方法集锦
2012-02-01 09:34 1406<span style="font-s ... -
Android开发之ListView
2012-01-31 13:53 1271<p><br></p&g ... -
Android开发之SurfaceView
2012-01-11 15:34 1262<h1>Android开发 ... -
sso单点登录
2012-01-11 12:44 3961SSO单点登录 目 ... -
mxgraph之保存图片
2011-12-28 18:38 24501、写在前端:任何情况下,保存图片不可能只通过前台代码 ... -
Ajax实现省市二级联动(源代码)
2011-12-28 16:23 5021<span style="font-f ... -
2011NOKIA笔试题目
2011-12-21 09:29 1078今天去NOKIA机试,纯粹打酱油,没什么准备,题目貌似 ... -
终于把我的大部分BLOG复制到这里来了
2011-12-16 16:22 1041本来我的BLOG都在博客中国的<img src= ... -
MapXtreme2004代码 读取TAB表中的元素
2011-12-15 12:14 957<?xml:namespace prefix = ... -
这里的BLOG服务器也太不稳定了
2011-12-14 20:53 699<p class="MsoPlainT ... -
开启新的项目——基于电子邮件的知识管理系统
2011-12-14 19:59 944</span></font>& ... -
WIN98下运行DOTNET程序的一些问题
2011-12-14 17:24 814</span></font>& ... -
IHS静默安装(转)
2011-12-13 11:59 1336<span style="col ... -
Ajax&&GWT
2011-12-13 10:14 680工作的久了,一直忙于公司相关的技术和业务上,对于如今流 ...
相关推荐
在Struts框架中,异常处理是不可或缺的一部分,因为它有助于确保程序的健壮性和用户体验。 手动异常处理在Struts中通常涉及到以下几个方面: 1. **异常拦截器**:在Struts 2中,我们可以通过编写自定义的拦截器来...
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...
在Struts2中,异常处理是一项重要的功能,它确保在应用程序遇到错误时能够优雅地处理,提供友好的用户反馈,并保持系统稳定性。下面将详细讨论Struts2中的异常处理机制及其相关知识点。 1. **异常处理机制概述** ...
尽管如此,许多遗留系统仍然依赖于Struts1,因此理解其异常处理机制仍然是必要的。 在Struts1中,异常处理主要通过两个组件来实现:`Action`类和`Tiles`或`Struts-config.xml`配置文件中的`exception`标签。当一个...
在Struts2中,异常处理是一项重要的功能,它确保了应用程序的健壮性和用户友好的错误反馈。这篇博客文章“Struts2中异常处理(demo)”可能详细介绍了如何在Struts2框架下优雅地处理程序中的异常。 在Java Web开发...
首先,Struts1.x框架默认的异常处理方式是通过`struts-config.xml`配置文件中的`<global-exceptions>`标签来定义全局异常处理。在这个标签内,你可以声明一个或多个异常类型,并为每个异常指定一个错误页面,当...
Struts2是一个流行的Java Web框架,它用于构建MVC(模型-视图-控制器)架构的应用程序。在处理用户输入时,Struts2框架需要将请求参数转换为对应的Java...这需要对Struts2的配置、拦截器机制以及异常处理有深入理解。
项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。
在Struts2框架中,异常处理是至关重要的一个部分,它确保了应用程序的稳定性和用户体验。Struts2提供了多种方式来捕获和处理异常,帮助开发者优雅地处理程序中的错误情况。以下是Struts2异常处理的四种主要方法,...
在实际开发中,不可避免地会遇到各种异常情况,因此理解并熟练掌握Struts2的异常处理机制至关重要。本篇将深入探讨Struts2框架中的异常处理策略,以及如何在实际项目中应用。 首先,Struts2提供了一种统一的方式来...
Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...
2. **全局异常处理**:在struts-config.xml中,我们可以定义全局的异常映射(global-exceptions)。当Action执行过程中抛出未被捕获的异常时,Struts会查找匹配的异常映射,根据配置转发到特定的错误页面。例如,...
在提供的压缩包文件"Struts_exception"中,可能包含了Struts异常处理的相关示例代码或者教程,例如如何配置struts.xml,如何创建自定义异常类,以及如何在Action中进行异常处理等。这些资源可以帮助开发者更深入地...
针对异常处理,Struts提供了一种优雅的方式,使得开发者可以自定义错误处理机制。在给定的文件中,我们看到了一个基于Struts的异常处理方案,主要涉及两个关键点:自定义异常类和自定义异常处理器。 首先,我们来看...
本篇文章将深入探讨Struts2的异常处理策略,以及如何在DAO层进行单元测试配置。 在传统的Web应用中,当一个异常发生时,通常会跳转到错误页面或者返回错误信息。但在现代Web应用中,尤其是涉及到Ajax异步请求时,...
### Struts 常见异常及处理 #### 1. javax.servlet.ServletException: Must specify type attribute if name is specified - **异常描述**:当在 JSP 页面中使用自定义标签时,如果标签中定义了 `name` 属性,则...
Struts2作为一款流行的Java Web框架,其异常处理机制是开发者必须掌握的关键部分。这篇博客主要探讨了在Struts2中如何有效地管理和处理异常,从而提高应用的稳定性和用户体验。 在Struts2中,异常处理主要通过两种...