
Java
文章平均质量分 67
oathevil
夢,是抹不掉的記憶
展开
-
Mina中关于多个同类型Filter(如ProtocolCodecFilter)实例共存问题的解决
最近在研读Mina框架的源码,刚好手头上的原创 2014-07-09 17:43:02 · 6204 阅读 · 0 评论 -
Spring AOP 取得Struts的Session、Request、Response
struts2里关于 Spring Aop 切面方法里直接使用 com.opensymphony.xwork2.ActionContext 就可以得到了.初学绕了一个大弯..唉.当然,action里也可以这么拿.不过action里更建议实现 SessionAware, ServletRequestAware, ServletResponseAware 这3个接口来获得.假如使用的是实现接口翻译 2012-03-07 10:43:40 · 6061 阅读 · 2 评论 -
log4j中对Exception的记录
这段时间折腾利用AOP来做简易的Exception处理框架的事。事因如下:这是一个在Service层自定义的异常,用于将Service层的异常进行包装,再往高层抛出(如Action层)public class BusinessException extends Exception{ public BusinessException(String msg, Throwab原创 2012-03-06 13:45:57 · 10333 阅读 · 0 评论 -
使用spring的aop实现权限拦截后出现依赖注入为空的问题
java.lang.NullPointerExceptioncom.my.web.action.privilege.back.EmployeeManageAction.login(EmployeeManageAction.java:277)com.my.web.action.privilege.back.EmployeeManageAction$$FastClassByCGLIB$$f62转载 2012-03-06 19:20:03 · 4686 阅读 · 0 评论 -
AOP IOC
什么是AOP?AOP(Aspect-Oriented Programming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并转载 2012-03-05 14:21:38 · 1169 阅读 · 0 评论 -
J2EE项目异常处理
为什么要在J2EE项目中谈异常处理呢?可能许多java初学者都想说:“异常处理不就是try….catch…finally吗?这谁都会啊!”。笔者在初学java时也是这样认为的。如何在一个多层的j2ee项目中定义相应的异常类?在项目中的每一层如何进行异常处理?异常何时被抛出?异常何时被记录?异常该怎么记录?何时需要把checked Exception转化成unchecked Exception ,何转载 2012-03-03 00:34:16 · 633 阅读 · 0 评论 -
Java基础—异常处理总结
异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦! Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这转载 2012-03-02 23:44:54 · 521 阅读 · 0 评论 -
Struts2中上传文件相关设置
在struts.xml中配置,使用的是拦截器fileUploadStack 具体的配置如下: Xml代码 constant name="struts.multipart.maxSize" value="1024000">constant> action name="demo" class="action.file.File原创 2012-02-21 14:44:16 · 9381 阅读 · 0 评论 -
JAVA正则表达式 Pattern和Matcher
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。1.简介: java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。 它包括两个类:Pattern和Matcher 。Pattern: 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher: 一个Matcher对象是一转载 2012-02-15 17:23:27 · 795 阅读 · 0 评论 -
Spring AOP 实现业务日志记录
1. 用户管理业务逻辑接口(UserManagerApplogic.java )Java代码 package com.iteye.applogic; public interface UserManagerApplogic { public void addUser(String name); } 2. 用转载 2012-02-23 22:20:11 · 22967 阅读 · 2 评论 -
浅谈java异常[Exception]
一. 异常的定义在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意。记得当初学习java的时候,异常总是搞不太清楚,不知转载 2012-02-15 18:18:20 · 817 阅读 · 0 评论 -
exception 异常 log4j
异常总结:What--àhave--àhow…………. 1. 什么是异常?异常是程序运行过程中不正常的情况 2. 常见到异常类型有哪些?ThrowAble(所有异常的根基类)Exception(异常基类)NullPointerException(空指针)ClassNotFoundException(类不能被加载)InputMismat转载 2012-03-06 13:01:10 · 2090 阅读 · 0 评论 -
spring2.0 -Pointcut的定义
在Spring 2.0中,Pointcut的定义包括两个部分:Pointcut表示式(expression)和Pointcut签名(signature)。让我们先看看execution表示式的格式:java 代码1. execution(modifier-pattern?2. ret-type-pattern3. declaring-type-pattern转载 2012-04-30 21:17:10 · 1300 阅读 · 0 评论 -
使用 Apache CXF 建立 WebService 总结
转载请注明出处:http://blog.youkuaiyun.com/oathevil/article/details/7520732J2EE中WebService的建立可以使用Axis2,也可以使用Apache CXF,两者的区别与优缺点具体见附档1。最近花了点时间大概看了一下WebService相关的资料,现就Apache CXF的使用过程作如下总结:使用者可以遵循以下步骤进行WebS原创 2012-04-28 16:52:02 · 8124 阅读 · 1 评论 -
Hibernate之 对象/关系数据库映射基础(Basic O/R Mapping)
6.1. 映射定义(Mapping declaration)对象和关系数据库之间的映射通常是用一个XML文档(XML document)来定义的。这个映射文档被设计为易读的, 并且可以手工修改。映射语言是以Java为中心,这意味着映射文档是按照持久化类的定义来创建的, 而非表的定义。请注意,虽然很多Hibernate用户选择手写XML映射文档,但也有一些工具可以用来生成映射文档,转载 2012-09-02 20:39:58 · 4531 阅读 · 0 评论 -
Hibernate中小知识点
1. 映射文件fetch属性取值join和select的区别如果你用的是hibernate的话,就有可能是: 映射文件中有fetch属性,它有两个可选值:join和select这个属性决定了你在查询的时候,是先查主表记录再查关联记录,还是要把关联表的记录一起查询出来。select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每一个对象发一个select查询,获取关联的对象转载 2012-09-02 20:25:28 · 699 阅读 · 0 评论 -
Hibernate中复合主键映射
目录:1. 实现方式一:将复合主键对应的属性与实体其他普通属性放在一起2. 实现方式二:将主键属性提取到一个主键类中,实体类只需包含主键类的一个引用 在日常开发中会遇到这样一种情况,数据库中的某张表需要多个字段列才能唯一确定一行记录,这时表需要使用复合主键。面对这样的情况Hibernate为我们提供了两种方式来解决复合主键问题。 方式一:将复合主键对应的属性与实体其他普转载 2012-09-01 20:34:38 · 719 阅读 · 0 评论 -
Hibernate中对从数据库中取出的字段值进行包装(修饰)
Hibernate中对从数据库中取出的字段值进行包装(修饰)如,在数据库有个加密的字段,但事实上我们使用的时候想得出的是明文的值。例:@Entity@Table(name = "EMPLOYEE")public class Employee implements java.io.Serializable { ... private String passwor原创 2012-07-18 14:10:03 · 1796 阅读 · 0 评论 -
EL和OGNLl表达式
EL和OGNLl表达式为了使JSP写起来更加简单。 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象。 EL 提供了在转载 2012-07-16 22:48:25 · 819 阅读 · 0 评论 -
taglib 原理和实现
第一章:taglib 原理和实现1。问题:Tag究竟是什么?如何实现一个Tag? 一个tag就是一个普通的java类,它唯一特别之处是它必须继承TagSupport或者BodyTagSupport类。这两个类提供了一些方法,负 责jsp页面和你编写的类之间的交互,例如输入,输出。而这两个类是由jsp容器提供的,无须开发人员自己实现。换句话说,你只需把实现了业务逻辑的类继 承Tag转载 2012-07-16 19:42:55 · 1222 阅读 · 0 评论 -
JUnit简单安装使用步骤总结
步骤: 1. 从http://www.junit.org/ 下载junit相应的jar包; 2. 在CLASSPATH中加入JAR包所在的路径,如E:\Java\jar\junit\junit-4.10.jar; 3. 将junit-4.10.jar加入到项目的lib文件夹或者Libaries中; 4. Window -> Preference -> java -> JUi原创 2012-04-30 21:55:47 · 20455 阅读 · 2 评论 -
项目中使用SPRING AOP方式统一捕获异常
最近和领导说不想做Java开发(本来公司属我代码编写速度快,领导不肯放手),于是让我将现有的框架清理一下,搭建一个通用框架让开发人员方便使用,以下是主要优化方式:1.异常统一捕获:传统程序中我们都是使用try{}catch(Exception e){ //输出异常信息}来捕获异常,这样做的缺点是:对于不确定异常未捕获,如对于一段业务程序,开发者知道没有错误,但对于编译器来说可能就会出错,如转载 2012-04-30 21:17:41 · 18797 阅读 · 0 评论 -
Spring 中AOP 特性详解
Spring框架的设计理念与设计模式分析--- Spring中AOP特性详解动态代理的实现原理要了解 Spring的 AOP 就必须先了解的动态代理的原理,因为 AOP就是基于动态代理实现的。动态代理还要从 JDK本身说起。在 Jdk的 java.lang.reflect包下有个 Proxy 类,它正是构造代理类的入口。这个类的结构入下:转载 2012-04-30 21:16:25 · 1101 阅读 · 0 评论 -
Java正则表达式 - Matcher
Matcher类:使用Matcher类,最重要的一个概念必须清楚:组(Group),在正则表达式中()定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的,以及这些组和组的下标怎么对应的.下面我们看看一个小例子,来说明这个问题引用\w(\d\d)(\w+)这个正则表达式有三个组:整个\w(\d\d)(\w+) 是第0组 group转载 2012-02-15 16:54:32 · 9510 阅读 · 1 评论 -
Service层在J2EE分层结构中的作用
在通用的J2EE应用分层结构中,经常发现有一个叫Service的分层,那么这个Service层到底是用来做什么的呢 ?简单地就字面理解来说, Service,即服务,那我们可以叫它为服务层。既然作为服务层,那么它的职责理应是为其他层提供服务。Service层应该提供一些什么样的服务呢 ? 事实上,在MVC架构中,Service层是处于比较尴尬的一层。因为你不能说它是属于Model层,也不原创 2012-02-23 21:31:00 · 11484 阅读 · 2 评论 -
Struts2零配置开发(注解Annotation的使用)二
接上篇。 4,Namespace annotation 可以定义在Action中或者是定义在package-info.java文件中。在Action中定义的@Namespace会应用在该Action中所有的相对url上。如果定义在package-info.java文件中,那么该包中的所有的Action的namespace(不包括子包中的action)。 实例代码一:在Action中使用转载 2011-12-19 17:19:39 · 10035 阅读 · 1 评论 -
详解 Spring 3.0 基于 Annotation 的依赖注入实现
使用 @Repository、@Service、@Controller 和 @Component 将类标识为 BeanSpring 自 2.0 版本开始,陆续引入了一些注解用于简化 Spring 的开发。@Repository 注解便属于最先引入的一批,它用于将数据访问层 (DAO 层 ) 的类标识为 Spring Bean。具体只需将该注解标注在 DAO 类上即可。同时,为了让 Spri转载 2011-12-12 15:53:24 · 1135 阅读 · 0 评论 -
Struts2零配置开发(注解Annotation的使用)一
以前使用Struts2的时候参数都是在struts.xml里面配置的,现在转入了一个新的项目中,发现这个项目struts.xml中只定义了几个常量,并没有大量的action、interceptor的配置信息,项目显得非常整洁,但是同时也看的云里雾里。今天花了一小会看了一个Struts2 Convention Plugin的官方文档,才大致了解了一二,这里简单叙述一下。 具体的阐述请转载 2011-12-19 17:19:13 · 24511 阅读 · 6 评论 -
采用p6spy完整显示hibernate的SQL语句
作者:邱洋QQ:1964477 虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似 select * from xxx where value=? 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务 p6spy是一个开源软件,它可以跟踪任何使用jdbc的应用产生的数据库操作。特别适合于监控转载 2011-12-06 09:49:16 · 692 阅读 · 0 评论 -
p6spy介绍
P6spy是什么?P6Spy 是针对数据库访问操作的动态监测框架(为开源项目,项目首页:www.p6spy.com)它使得数据库数据可无缝截取和操纵,而不必对现有应用程序的代码作任何修改。P6Spy 分发包包括P6Log,它是一个可记录任何 Java 应用程序的所有JDBC事务的应用程序。其配置完成使用时,可以进行数据访问性能的监测。我们最需要的功能,查看sql语句,不是预编译的带转载 2011-12-02 14:39:36 · 1176 阅读 · 0 评论 -
log4j使用方法收藏
为什么要用日志(Log)?这个……就不必说了吧。为什么不用System.out.println()?功能太弱;不易于控制。如果暂时不想输出了怎么办?如果想输出到文件怎么办?如果想部分输出怎么办?……为什么同时使用commons-logging和Log4j?为什么不仅使用其中之一?Commons-loggin的目的是为“所有的Java日志实现”提供一个统一的接口,它自身的日志功能转载 2011-12-01 14:43:23 · 1176 阅读 · 0 评论 -
Spring@Autowired注解与自动装配
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两转载 2011-08-04 23:33:58 · 19194 阅读 · 1 评论 -
MyEclipse的WEB项目到Eclipse的迁移
从Eclipse迁移到MyEclipse是容易的,反之则比较麻烦,尤其是WST的设置. 今天正好做了这个事情,把过程记录下来以备后用,也许其他朋友也用得着. 1.打开Navigator视图,编辑项目所在目录下.project文件,添加 Xml代原创 2011-08-02 01:10:13 · 7603 阅读 · 0 评论 -
Eclipse: 关于jsp文件的404错误
(环境Eclipse 3.6 + Tomcat 7.0)正常情况下如果编译正常的话(即成功部署的情况下),会在.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\ProjNam原创 2011-08-02 12:46:15 · 24502 阅读 · 0 评论 -
The import javax.servlet.http.HttpServletRequest cannot be resolved
错误:The import javax.servlet.http.HttpServletRequest cannot be resolved解决:1、这是因为工程里面web-inf/lib目录下少了包:Package javax.servlet.http引起的原创 2011-08-01 00:25:23 · 1966 阅读 · 2 评论 -
Struts2的Annotation使用
从struts2.1开始,struts2不再推荐使用Codebehind作为零配置插件,而是改为使用Convention插件来支持零配置,和Codebehind相比,Convention插件更彻底,该插件完全抛弃配置信息,不仅不需要是使用struts.xml文件进行配置,甚至不需要使用Annotation进行配置,而是由struts2根据约定自动配置。如何使用Convention1转载 2011-12-19 14:02:12 · 2739 阅读 · 0 评论 -
Struts2.1.6 annotation写法的注意事项
本文来自光速网,转载请注明出处!原文地址:http://www.hlmz.org/forum/viewthread.php?tid=286struts2.1.6这个版本出来有一段时间了,这个版本在比2.0.11版本改变很多,关于annotation的写法本在在2.0.11的时候就一直在项目中使用。首先介绍这个2个版本的不同之处和2.0.11 annotation升级到2.1.6会出现那转载 2011-12-20 14:37:59 · 2476 阅读 · 0 评论 -
在 Tomcat 中部署 Java Web 程序 ( jar cvf *.war */. ) war 包
在 Tomcat 中部署 Java Web 程序 ( jar cvf *.war */. ) war 包本文基本转自:http://www.blogjava.net/ocean07000814/articles/331694.html 主要讲的是在 Tomcat 中部署 Java Web 应用程序。因为重点是如何部署,所以暂且先不介绍怎样开发 Web 应用程序和怎样启动 Tom转载 2011-12-15 13:19:19 · 3477 阅读 · 0 评论 -
关于Hibernate修改数据库主键
最近做数据库的时候,没有设置自动增加的主键。一开始没看出毛病,等做到修改的时候傻眼了!hibernate是根据ID来取出数据,保存也是根据ID。报错了:Batch update returned unexpected row count from update: 0 actual row count: 0 expected: 1。(主键设置为自增长,而在我们插入记录的时候设置了ID的值也会导致此错转载 2012-02-14 19:13:42 · 6148 阅读 · 0 评论 -
正则表达式需要转义的字符
Java代码 $ ---> \$ ( ---> \( ) ---> \) * ---> \* + ---> \+ . ---> \. [ ---> \[ ] ---> \] ? ---> \? \ ---> \\ / ---> \/ ^ ---> \^ { ---> \{ } ---> \}转载 2012-02-14 13:23:28 · 1221 阅读 · 0 评论