Struts2的异常采用声明式异常捕捉,具体通过拦截器来实现. 在项目中,我们可以在Action中直接抛出异常,剩下的就交给Struts2的拦截器来处理了.当然,我们需要进行相关配置. Struts2配置了默认的拦截器,来处理异常.在struts-default.xml中,可以找到配置.有了这个配置以后,我们在项目中就方便多了. <interceptor name="exception" class="com.opensymphony.xwork2.intercepto…
SSH框架十分受欢迎,其中有一个原因就是spring可以和Struts2框架无缝整合.在使用spring时,无需手动创建web容器,而是通过配置文件声明式创建spring容器. 在web应用中,创建spring容器有两种方式: 在web.xml中配置 利用第三方MVC框架创建 第一种比较常用,第二种方法只对特定框架有效,在此就不做介绍,下面只介绍第一种方法. 为了让Spring容器随Tomcat/JBoss等启动而自动启动,我们用到了ServletContextListener监听器来完成. 先…
在项目中遇到了invocationTargetException的问题,在这里跟大家分享一下. 报错信息如下: 使用反射时,比如执行invoke方法,如果被反射执行的方法体抛出了Exception,这个异常会被包装成invocationTargetException重新抛出. 源码解释为: InvocationTargetException is a checked exception that wraps an exception thrown by an invoked method or…
更改src/struts2.xml的代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <…
Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhong/category/771056.html .今天总结总结缓存使用过程中遇到的一些常见的问题.比如缓存雪崩,缓存穿透,缓存预热等等. 缓存雪崩 缓存雪崩是由于原有缓存失效(过期),新缓存未到期间.所有请求都去查询数据库,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机.从而形成一系列连锁…
<浅谈磁盘控制器驱动>,磁盘控制器驱动答疑解惑![2012.1.29完结]  https://www.itiankong.net/thread-178655-1-1.html Skyfree 发表于 2012-1-12 11:44:26 最近发现很多朋友都在问“怎么开AHCI模式?”.“为什么开了AHCI模式后装不了系统啊?”.“怎么装硬盘驱动啊?磁盘效率低啊!”,粗略的浏览了一遍网络,关于此类问题的回答层出不穷,但水平却参差不齐,很多还明显带有错误和误导性(包括某IT类大型门户站中的一篇文章…
创建playbook Tower playbook 项目默认存在 /var/lib/awx/projects/ su - awx cd projects/ mkdir ansible-for-devops && cd ansible-for-devops cat main.yml << EOF --- - hosts: all gather_facts: no tasks: - name: Check the date on the server. command: date…
在Action中execute方法声明为:public String execute() throws Exception,这样,Action可以抛出任何Exception. 1)自己实现异常处理 我们还以helloWorldAction为例,在Action的execute方法中这样写: public String execute() throws Exception { int a=5/0; this.businessExecute(); return "toWelcome"; }…
S5PV210开发系列三 简易Bootloader的实现 象棋小子          1048272975 Bootloader是嵌入式系统上电后第一段运行的代码.对于功能简单的处理器,可能并没有Bootloader的概念,但对于应用处理器,有不同的启动方式.不同的存储设备(Nand flash.sd/mmc.DDR2.SRAM等).不同的操作系统等,往往须要一个Bootloader先初始化CPU和相关的硬件,建立内存空间映射,把内核或应用程序载入到对应的内存运行位置.最后调用内核或应用程序,释…
Ok,今天比较详细的学习一下hibernate的C(create).R(read).U(update).D(delete) 相关api... 前言 Session: 是Hibernate持久化操作的基础,提供了众多的数据库操作方法,如save(),update(),delete()...etc,用于完成对象的增加,修改,删除等方法. 后面代码中使用到的HinernateUtil类:是用于构建SessionFactory(Hibernate提供的获取session的工厂类)的一个封装类,在前面的文…