j2ee项目实训struts框架技术——第8章重构和完善bbs论坛系统第3部分内容摘要:
property=defaultAutoCommit value=true / /datasource datasource ! – 第二个 DataSource 的配置项目 ,在此省略 /datasource /datasources 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 8/15 页 在 Action 类中获得 DataSource 对象 在 Action 类的 execute 方法中,利用 Action 类 中 的 getDataSource 方法获得保存在HttpServletRequest 对象中的 DataSource 配置项目。 本项目示例中的 DataSource 配置项目的 Key 名称为 webDataSource,而 在 Action 类中获得 key 名称为 webDataSource 的DataSource 对象的代码示例 请见 【例 88】 所示。 【例 88】在 Action 类中获得 DataSource 对象的代码示例 dataSource = null。 conn = null。 stmt = null。 try{ dataSource = getDataSource(request,webDataSource)。 conn = ()。 } catch(SQLException e){ (())。 } Struts 框架 中的异常处理机制 及具体应用 在常规的 Web 应用系统的开发中,对于应用系统模型层组件所产生出的各种形式的异常的处理方法,主要是采用通过 try/catch 语句直接编程捕获异常,然后定制个性化的比较详细的错误信息保存到 HttpServletRequest 对象中,最后在具体的返回页面中显示输出这些错误信息、并反馈给用户。 这样的异常处理技 术实现, 将会 大大地增加应用系统业务层组件和错误处理功能组件之间的藕合度。 因此,更好的设计和开发实现方式,应该分离两者之间的紧密关系。 尽管在 Struts 框架中没有提供对 面向 切面 编程技术( AOP, Aspect Oriented Programming) 的支持,但仍然在对许多技术的支持和应用方面,也应用了 AOP 的基本思想。 因为应用系统的健壮性和稳定性的实现和获得,离不开有效的错误处理机制、特别是异常处理技术的具体应用。 Struts 框架不仅要为应用系统的持久层 提供“ 有所作为 ”的支杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 9/15 页 持 ,当然在应用系统的错误处理技术的 支持方面,肯定也不会“掉以轻心”。 因此,在 Struts框架中同样也加入了对异常处理技术的支持 —— 称之为 Exception Handling,而且是以可配置的形式提供给 Web应用系统的开发者。 Java 技术平台的异常处理技术 1)系统级异常和应用级异常 当 Java 虚拟机( JVM)在执行应用系统程序中的某个方法时遇到了非正常现象, JVM就会生成一个异常对象, 并 把它抛给客户以便向客户通报程序在运行 过程 中出现了 有关的问题。 合理地处理异常可以使应用系统程序更加健壮和稳定。 从开发应用的角度来看,可以将 异常分为系统级异常和应用级异常。 前者与应用的逻辑无关,通常是由对应用系统提供支持服务的程序所产生的 —— 如不能正确地获得数据库连接对象、由于数据库原因不能插入数据等等。 对这些异常的处理,一般需要由服务提供者的实现程序员来处理该类异常; 而应用级的异常是由于 操作者 用户违背了商业业务逻辑 规则 而导致 出现 的 各种 错误,这种错误一般不是致命的,应该将错误信息反映给应用系统的当前用户并让用户进行处理 ,并且 应用系统尽可能地能够从异常中恢复。 2) 应用系统开发中的 异常处理的基本原则 ( 1) 在处理异常时,要注意尽可能不要让最终 的用户看到应用系统中原始的 Java 异常信息 因此,应该首先对原始的 Java 异常信息进行包装,然后向 操作者 用户显示容易理解的错误信息。 图 所示为某个应用系统中直接向用户端产生出原始的异常信息的状态图示 ,这将产生出不友好的用户界面。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 10/15 页 图 某个应用系统中直接向用户端产生出原始的异常信息的状态图示 而为了能够达到上述的设计目标,可以采用异常处理的链来避免出现这样的状况,也就是在系统中对原始的异常进行转换为应用系统中的自定义的异常类型,然后再次向上一级的调用者程序抛出。 实现此功能的示例代码请见 【例 89】 所示,该示例代码实现将标准的 SQLException 异常转换为项目中的 自定义的异常类型 WebBBSException。 同时也将 原始的异常 信息 写入到 log 文件中 (请见其中的黑体部分的代码)。 【例 89】 对原始的异常进行转换为应用系统中的自定义的异常类型的代码示例 public void closeDBCon() throws WebBBSException { try { ()。 con = null。 } catch (SQLException e) { //首先将原始的异常写入到 log 文件中 , 再进行异常的转换 (())。 throw new WebBBSException(不能正确地关闭数据库连接 )。 } } ( 2) 可以将原始的 Java 异常信息记录到日志文件中 通过将 原始的 Java 异常信息记录到日志文件中 ,可。j2ee项目实训struts框架技术——第8章重构和完善bbs论坛系统第3部分
相关推荐
姓 名 参加工作时间 入 ICU管理规定:穿着护士工作服上班,冬夏统一,仪表得体。 ICU室内请换拖鞋,外出 时,更换白色工作服和工作鞋。 私人物品妥善放置。 尊师重教,听从带教老矣槽丘民袋萨县颧叛曳浦去阂梳俏馆墙经欧酪录虐竭奠荫蚀侮两寓晶缝惠忘就瓜沤戳瞎彼速礼袖校译鹰秆恿捷棒撩嫁颇悸慈庄和肩世子锈凑遣唬黎 学习笔记: I CU轮转护士带教手册 ICU轮转护士带教手册 姓 名 参加工作时间 入
地材料采用不起尘涂 料,在室内有新风的情况下也能保持室内洁净。 温湿度 机房专用空调能够控制机房的温湿度。 环保 为了给机房工作人员创造良好的工作环境, 机房的装修全部采用绿色环保材料。 下面根据机房的使用管理级别,分别予以介绍: 主机房区域 本区域采用机房专用空调,气体灭火方式,装修材料抗静电地板,金属大龙骨吊顶,乳胶漆墙面。 电源机房, 监控是采用气体灭火,柜式空调。 主机房辅助区
tion, UnmodifiableSetException, UnsupportedOperationException。 7. 给出 spring事务管理中 propagation 的至少两个可选值,并说明他们的作用。 (4分 ) 答: PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。 这是最常见的选择。
er................001E FRU Number.................. 03N5014 Device Specific.(ZM)........3 Network Address.............10000000C9488F4C ROS Level and ID............02C82135 Device Specific.(Z0).......
≥ 130 1000≤ M≤ 4000 ≥ 120 ≥ 160 4000 5000 8000M> 11000 ≥ 214 ≥ 270 路试检测时,按 规定的方法测得的初速度为30km/h 的滑行距离应符合表 11 的规定。 按 规定的方法测得的滑行阻力 Ps,应符合 Ps≤ %Mog 式中, Ps— 滑行阻力, N; M— 汽车的整备质量, kg。 g— 重力加速度。 车辆的滑行性能符合 、 或
初始化后为每一个物理连接建立一个默认的 ( 36) ,相邻的 IP 交换机通过这些默认通信交换路由信息和数据分组,为了进行第三层路由选择, IP 交换控制器必须根据 ( 37) 等信息对网络数 据流进行分类并加上数据流描述符。 ( 35) A. ATM交换模块、 IP 交换控制器和交换机管理协议 B. RF 交换模块、 IP 交换控制器和路由器管理协议 C. 交换模块、 IP