自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 Struts2远程执行漏洞

[size=medium][color=darkred]Struts2转码有个bug,可以导致应用挂掉(也可以执行类似 rm –rf /root,只要有权限的话)[/color]在访问你应用的action的URL连接后面用get请求的方式带上参数[/size][code="java"]?('\#_memberAccess[\'allowStaticMethodAccess\']')...

2013-01-25 22:44:51 250

原创 Spring3整合邮件之JavaMail

[size=medium][b]Spring3整合JavaMail只需要往Spring工程里面加入mail.jar然后配置JavaMailSenderImpl这个Bean,然后通过这个Bean的实例去调用他的send方法就可以发送邮件了,我这里使用的是1.4.5版本。[/b]下面的demo可以额发送普通文本邮件,Html脚本邮件和Mime附件邮件:[/size][code="xml...

2012-09-16 12:44:28 175

原创 Spring3整合定时器之Quartz

[size=medium]说到定时器,一定会想到Timer,但是他只能简单的进行时间单位类似倒计时的功能实现,如果要精确每年每月的日期甚至星期几,那么换算起来就比较麻烦,这里可以用Spring与Quartz整合来完成定时器的实现。虽然Quartz已经发布了2.X版本,但是Spring3目前只能整合Quartz1.8.5及以下版本。注意Spring整合Quartz项目必须的JAR包:其中...

2012-09-14 21:06:06 142

原创 Spring3核心技术之事务管理机制

[size=medium][b]Spring对事务的解决办法其实分为2种:编程式实现事务,AOP配置声明式解决方案。[/b][url]http://jinnianshilongnian.iteye.com/blog/1496953[/url][b]Spring提供了许多内置事务管理器实现,常用的有以下几种:[/b][list][*][color=blue]DataSourceT...

2012-09-13 23:37:21 134

原创 Spring3核心技术之JdbcTemplate

[size=medium][b]Spring对JDBC的支持[/b] Spring通过抽象JDBC访问并提供一致的API来简化JDBC编程的工作量。我们只需要声明SQL、调用合适的Spring JDBC框架API、处理结果集即可。事务由Spring管理,并将JDBC受查异常转换为Spring一致的非受查异常,从而简化开发。[/size][code="java"].......

2012-09-07 11:05:49 172

原创 Spring3之零配置注解详解

[size=medium][b][/b]标签将自动开启“注解实现Bean依赖注入”支持。标签来表示需要要自动注册Bean定义,而通过base-package属性指定扫描的类路径位置。[b][/b]用于开启Spring对@AspectJ风格切面的支持。[/size][code="xml"] [/code][...

2012-09-06 11:30:30 113

原创 Spring3核心技术之AOP配置

[size=medium]在Spring配置文件中,所有AOP相关定义必须放在标签下,该标签下可以有、、标签,配置顺序不可变。[img]http://dl.iteye.com/upload/attachment/0073/2650/5aede57e-ae09-3156-b0ec-47969b5e3075.jpg[/img][b]● [/b]:用来定义切入点,该切入点可以重用;[b]...

2012-09-04 15:07:11 101

原创 Spring3核心技术之AOP动态代理

[size=medium][b]在进行AOP开发前,先熟悉几个概念[/b]:● [color=blue]连接点(Jointpoint)[/color]:表示需要在程序中插入横切关注点的扩展点,连接点可能是类初始化、方法执行、方法调用、字段调用或处理异常等等,Spring只支持方法执行连接点,在AOP中表示为“在哪里干”;● [color=blue]切入点(Pointcut)[/color]...

2012-09-03 17:35:04 134

原创 Spring3新特性之表达式语言SpEL

[size=medium][b]概述[/b] Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,并且能与Spring功能完美整合,如能用来配置Bean定义。 表达式语言给静态Java语言增加了动态功能。...

2012-08-30 16:01:46 196

原创 Spring3外部资源访问之Resource接口

[size=medium][b]概述[/b] 在日常程序开发中,处理外部资源是很繁琐的事情,我们可能需要处理URL资源、File资源资源、ClassPath相关资源、服务器相关资源(JBoss AS 5.x上的VFS资源)等等很多资源。因此处理这些资源需要使用不同的接口,这就增加了我们系统的复杂性;而且处理这些资源步骤都是类似的(打开资源、读取资源、关闭资源),因此如果能抽象出一个统...

2012-08-30 14:07:36 204

原创 Spring3之Bean的作用域

[size=medium]作用域即“scope”,在面向对象程序设计中一般指对象或变量之间的可见范围。而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围。Spring提供“singleton”和“prototype”两种基本作用域,另外提供“request”、“session”、“global session”三种web作用域;Spring还允许用户定制自己...

2012-08-30 11:11:26 105

原创 Spring3之Bean的自动装配

[size=medium]自动装配就是指由Spring来自动地注入依赖对象,无需人工参与。目前Spring3.0支持“no”、“byName ”、“byType”、“constructor”四种自动装配,默认是“no”指不支持自动装配的,其中[color=red]Spring3.0已不推荐使用之前版本的“autodetect”自动装配[/color],推荐使用@Autowired注解方...

2012-08-30 10:32:02 108

原创 Spring3之Bean基本配置和生命周期

[size=medium][color=blue]Bean的概念[/color]由IoC容器管理的那些组成你应用程序的对象我们就叫它Bean, Bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。[color=blue]Bean的命名[/color]每个Bean可以有一个或多个id(或称之为标识符或名字),在这里我们把第...

2012-08-30 10:15:41 109

原创 Spring3核心技术之DI依赖注入

[size=medium]IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过[color=red]DI(Dependency Injection,依赖注入)[/color]来实现的。顾名思义,依赖注入就是Spring管理下的Bean需要依赖Spring容器来帮他注入属性。这篇博客对IOC和DI有比较好的解释:[url]http://jinnianshilong...

2012-08-29 15:12:40 118

原创 Spring3核心技术之IOC控制反转

[size=medium]个人觉得Spring用起来其实简单,但是如果想真正弄懂原理和思想,还是要花一些功夫和时间的,最近一直在跟论坛的Spring大神jinnianshilongnian的帖子,受益匪浅,我也通过博客把自己的学习过程记录下来。对于IOC理解也可以看看这个:[url]http://zhidao.baidu.com/question/182355887.html[/url]...

2012-08-28 19:36:13 98

原创 Hibernate4性能之并发和锁机制

[size=medium][b]数据库事务的定义[/b]数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。● 原子性(atomic),事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行● 一致性(consistent),事务在完成时...

2012-08-20 16:19:32 129

原创 Hibernate4之事务机制

[size=medium][b]首先来认识以下J2EE常见的3种事务:[/b][color=blue]1、JDBC事务 [/color]JDBC事务是用Connection对象控制的。JDBC Connection接口(java.sql.Connection)提供了两种事务模式:自动提交和手工提交。 java.sql.Connection 提供了以下控制事务的方法: public ...

2012-08-20 15:00:35 133

原创 Hibernate4之二级缓存

[size=medium][b]缓存:缓存是什么,解决什么问题?[/b]位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为缓存Cache。缓存目的:让数据更接近于应用程序,协调速度不匹配,使访问速度更快。[b]缓存的范围分为3类:[/b][color=blue]1.事务范围(单Session即一级缓存)[/color] 事务范围的缓存只能...

2012-08-19 21:38:51 240

原创 Hibernate4之cascade与inverse

[size=medium][b]简单地说,“inverse”决定哪一边来更新外键,而“cascade”决定接下来应该执行什么操作。在关系上来看两者看上去非常相似,但实际上是完全不同的两回事。[/b][color=red][b]inverse[/b][/color]inverse,英文意思是反向,反转。在这里可以理解为控制反转,也就是说实体间的关系由谁控制,所以inverse用在实体...

2012-08-16 17:35:42 116

原创 Hibernate4性能之Fetching策略

[size=medium]Hibernate有一些fetching策略,来优化Hibernate所生成的select语句,以尽可能地提高效率。在映射关系中声明fetching策略,定义Hibernate怎样获取其相关的集合和实体。[b]影响关系映射抓取的cfg配置:[/b] [color=green]hibernate.max_fetch_depth[/color]为单向关...

2012-08-16 16:59:30 121

原创 Hibernate4性能之批量处理的三种方式

[size=medium]假如有如下程序,需要向数据库里面加如100000条数据[/size][code="java"]Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); for ( int i=0; i...

2012-08-15 17:36:22 330

原创 Hibernate4之Criteria接口QBC方式查询

[size=medium][b]分页查询[/b][/size][code="java"]Criteria crit = session.createCriteria(Order.class).setMaxResults(10).setFirstResult(1);crit.list();[/code][size=medium][b]条件查询[/b]一个单独的查询条件是o...

2012-08-15 17:15:28 120

原创 Hibernate4之SQLQuery接口SQL方式查询

[size=medium]对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式:[/size][code="java"]List cats = sess.createSQLQuery( "select * from cats").addEntity(Cat.class)...

2012-08-15 16:58:00 242

原创 Hibernate4之Query接口HQL方式查询

[size=medium][color=blue][b]Hibernate实现按条件查询的方式[/b][/color]1:最重要的按条件查询的方法是使用Query接口,使用HQL2:本地查询(native sql):就是使用标准的sql,也是通过Query接口来实现3:按条件查询(Query By Criteria,QBC):使用动态的,面向对象的方式来创建查询4:按样例查询(...

2012-08-14 17:52:14 312

原创 Hibernate4之Session一级缓存

[size=medium][b]Session缓存的作用:[/b]1.减少访问数据库的频率,应用程序从内存中读取持久化对象的速度显然比到数据库查询数据的速度快多了,因此Session的缓存可以提高数据库的访问性能。2.保证缓存中的对象与数据库中的记录保持同步,当缓存中持久化对象的状态发生了变化,Session并不会立即执行相关的SQL语句,这使得Session能够把几条相关的Sql语句...

2012-08-14 16:06:03 86

原创 Hibernate4之getCurrentSession和openSession

[size=medium]在一个应用程序中,[color=blue]如果DAO层使用Spring的hibernate模板[/color],通过Spring来控制session的生命周期,则首选getCurrentSession使用Hibernate的大多数应用程序需要某种形式的“上下文相关的”session,特定的session在整个特定的上下文范围内始终有效。然而,对不同类型的应...

2012-08-13 16:39:35 158

原创 Hibernate4之JPA规范配置详解

[size=medium][b][color=red]@Table[/color][/b]Table用来定义entity主表的name,catalog,schema等属性。属性说明:[list][*]name:表名[*]catalog:对应关系数据库中的catalog[*]schema:对应关系数据库中的schema[*]UniqueConstraints:定义一个...

2012-08-12 15:18:54 238

原创 Hibernate4之多对多双向关联

[size=medium]在这里多对多关系@ManyToMany,默认是延迟加载的。[/size][code="java"]/** * @author Chou * @since 2012-8-8 * ...订单实体(多对多关系维护方) * */@Entity@Table(name = "TAB_ORDER")@SequenceGenerator(nam...

2012-08-10 10:26:35 72

原创 Hibernate4之多对多单向关联

[size=medium]多个商品可以在不同的订单中出现,所以商品相对于订单是多对多关系,多对多关系需要新建一个关系表来维护他们之间的关系。在这里多对多关系@ManyToMany,默认是延迟加载的。级联操作默认只会关联到中间表的修改和删除。[/size][code="java"]/** * @author Chou * @since 2012-8-8 * ...订单...

2012-08-10 10:18:37 74

原创 Hibernate4之一对多双自身向关联

[size=medium]商品分类信息可以有很多分类信息,每个分类信息都有下级关系和上级关系,所以是一对多双向自身关联.而且当一个有下级关系的对象删除后,其下级对象都会删除。在双向自身关联中@ManyToOne默认是非延迟加载的,所以不用配置fetch属性。而@OneToMany默认是延迟加载的,所以需要配置fetch属性。[/size][code="java"]/** *...

2012-08-10 10:06:13 145

原创 Hibernate4之一对多双向关联

[size=medium]一个用户可以有多个订单,订单相对于用户的关系就是多对一的关系。在这里一对多的关系是@OneToMany,默认是延迟加载的。当然客户对象相对于订单是级联删除的。[/size][code="java"]/** * @author Chou * @since 2012-8-8 * ...客户实体(一对多双向关联) * */@Entit...

2012-08-10 09:59:37 88

原创 Hibernate4之多对一单向关联

[size=medium]一个客户可以有多个订单,订单对应一个客户的关系就是多对一。在这里多对一的关系是@ManyToOne,默认是非延迟加载的。如果要设置懒加载必须设置fetch = FetchType.LAZY,但是既然配置了多对一,肯定是希望加载订单的时候加载出客户信息的。[/size][code="java"]/** * @author Chou * @since ...

2012-08-09 18:12:47 88

原创 Hibernate4之一对一关联

[size=medium]每个用户注册信息就对应一个登录信息,双方是相互依存的,由于主键共享,如果有任意表的一条记录被删除或者新增,那么另一张表也会删除对应的记录或者新增一条记录。[b]而且一对一不管是save还是update都必须手工维护双向关系[/b]。[color=red]在一对一中,关联关系的对象默认都是使用延迟加载[/color],默认的属性是lazy="proxy",此时默认是会延...

2012-08-09 18:05:52 100

原创 Hibernate4之主键映射机制

[size=medium][color=olive][b]关系型数据库中依靠主键来区分不同的记录,主键又有自然主键和代理主键之分。[/b][/color][color=red]自然主键[/color]:就是指充当主键的字段本身具有一定的含义,是构成记录的重要组成部分。[color=red]代理主键[/color]:就是指主键字段本身不具有业务含义,只是起到标志的作用,比如自增长...

2012-07-31 16:08:32 88

原创 Hibernate4之映射基本数据类型

[size=medium]Hibernate的基本映射数据类型是Java基本类型与标准SQL类型相互转换的桥梁,通过Hibernate的基本映射数据类型可以非常方便地将数据从一种形式转换成另一种形式,完成高质量的ORM任务。[b]3种数据类型之间的对应关系[/b][/size][table]|[b]Hibernate映射类型[/b]|[b]Java类型[/b]|[b]标...

2012-07-31 10:42:56 110

Hibernate4之配置详解

[size=medium]Hibernate基本配置其实就是SessionFactory的配置,所有配置都在标签之内。但是标签又可以分成3个部分的配置:[color=red]1.JDBC连接参数的基本配置2.Hibernate连接池的参数配置3.注册ORM映射文件的配置[/color][color=darkblue]Hibernate4和Hibernate3在配置上...

2012-07-29 18:23:48 197

原创 Hibernate4之原理浅析

[size=medium][color=blue]Hibernate是一个对JDBC轻量封装后的轻量级ORMapping框架[/color]ORMapping原理(Object Relational Mapping)在以前使用的JDBC操作其实就是一个持久化的过程[color=red]JDBC的劣势[/color]:对于小型的应用开发而言,使用JDBC也许还不错。但是对...

2012-07-29 17:10:39 84

原创 Struts2整合之CKeditor和CKfinder

[size=medium]先从官网上下载好最新的CKeditor和CKfinder包之后,解压ckeditor和ckfinder,把ckeditor和ckfinder放在同一个文件夹里面。如下图:[/size][img]http://dl.iteye.com/upload/attachment/0070/6123/a77d7fbe-2193-3cf2-9d9e-49ef299717d9.j...

2012-07-11 17:29:29 128

原创 Struts2整合之动态图表OpenFlashChart

[size=medium]Java开源项目中制作图表比较出色的就是JFreeChart了,相信大家都听说过,它不仅可以做出非常漂亮的柱状图,饼状图,折线图基本图形之外,还能制作甘特图,仪表盘等图表。在Web应用中可以为项目增色不少。JFreeChart技术成熟,完全是通过Java代码控制图表生成,掌握难度不大。但是它的一个缺点就是所有资源在服务器端生成,需要占用大量的服务器资源,而且图表以流的形式...

2012-07-06 15:56:11 349

原创 Struts2之上传下载和页面渲染图片功能

[color=blue][size=medium]Struts2的上传下载是整合了commons-fileupload-1.2.2.jar这个包的功能,不过还需要commons-io-2.3.jar这个包的支持。其实上传下载功能主要是配置,下面是我的一个小例子,可以实现上传下载,并且渲染图片到页面的效果,AbstractBaseAction这个基类代码可以翻看我之前写的博文中有贴出代码。大...

2012-07-06 15:18:30 114

springside4-4.2.3.GA.zip

springside4-4.2.3.GA.zip

2015-12-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除