- 浏览: 66740 次
- 性别:
- 来自: 广州
最新评论
-
hanmiao:
代码用格式化工具高亮下吧,这样的代码看上去太乱了。
利用Servlet导出Excel -
icy365:
这个思路碉堡了. 佩服.
利用Servlet导出Excel
文章列表
在Struts2.0中,Action已经与Servlet API完全分离,这使得Struts2.0的Action具有了更加灵活和低耦合的特性,与Struts1.0相比较而言是个巨大的进步。但是如果在Action访问Servlet API,可以使用一下方法:
非IOC方式
使用com.opensymph ...
策略模式--Strategy
- 博客分类:
- 设计模式
策略模式的目的是定义一系列算法,把它们封装起来,并且使它们可以相互替换.本模式使得算法可以独立于它的客户而变话.
/**
* 抽象策略(Strategy)角色
* @author Salmon
*
*/
public interface Strategy {
public void algorithmInterface();
}
/**
* 具体策略(ConcreteStrategy)角色
* @author Salmon
*
*/
p
组合模式--Composite
- 博客分类:
- 设计模式
Composite模式定义:将对象以树形结构组织起来,以达成“部分-整体” 的层次结构,使得客户端对单个对象和组合对象的使用具有一致性.
Composite好处:1.使客户端调用简单,客户端可以一致的使用组合结构或其中单个对象,用户就 ...
外观模式--Facade
- 博客分类:
- 设计模式
Facade外观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合面临很多变化的挑战。在这里我想举一个例子:比如, ...
CSDN:www.csdn.net
iteye:www.iteye.com
编程中国:www.bccn.net
IT实验室:www.chinaitlab.com
编程爱好者:www.programfan.com
资料下载:http://ishare.iask.sina.com.cn/
博客园:http://www.cnblogs.com/
新浪自己的it博客:http://blog.sina.com.cn/jtlyuan
W3school:http://www.w3school.com.cn/
适配器--Adapter
- 博客分类:
- 设计模式
问题引出:大家生活中可能碰到的一个问题就是你新买的手机自带的耳机是2.5接口的,不幸的是有一天你的耳机坏了,你去市面上根本就找不到2.5的耳机了,基本上是3.5接口了,没办法你只好买了个3.5接口的耳机,老板告诉你:“我给你一个适配器”这不问题就解决了。
问题分析:3.5的接口的耳机在你手机上本来是没法使用的,因为它没有按照2.5接口的设计啊,而现在我又想使用这幅耳机,于是乎有了“适配器(Adapter)”这个一个东西出来了。
Adapter模式的定义:把一个类的接口变换成客户端所期待的另外一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。
适配器模式分类:1.类的适配 ...
代理模式与装饰模式的区别
- 博客分类:
- 设计模式
代理模式和装饰者模式上在语法形式上几乎完全一样,那么它们的区别在哪里呢? 装饰者模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更加灵活 代理模式:为其它对象提供一种代理以控制对这个对象的访问。 其实,它们的着重点一个在于“增加”职责,另一个在于“控制”访问。这是它们最本质的区别。 由此可以看到:学习设计模式重点在于“语义”上把握,而不是追求它的“形式。
代理模式的UML
装饰模式的UML
代理模式---proxy
- 博客分类:
- 设计模式
代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。
为其它对象提供一种代理以控制对目标对象的访问。即第三方对象通过访问代理对象而达到访问目标对象之目的,与此同时,代理对象在访问目标对象前后加入特定的逻辑以实现功能的扩展
interface IProxy
{
string Function1();
string Function2();
}
远程对象实现:
/// <summary>
/// 模拟的远程对象
装饰模式--Decorator pattern
- 博客分类:
- 设计模式
定义:动态地给一个对象增加其他职责,就增加对象的功能来说,装饰模式比生成子类实现更为灵活。
UML图如下:
Code:
抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象和抽象装饰器。
具体构件(ConcreteComponent)角色:定义一个将要接收附加责
hibernate中的实体状态
- 博客分类:
- Hibernate
hibernate中的实体3种状态:
(1)瞬时:只是new出来时候,也就是说与数据库中的数据没有任何的关联即,该实体从未与任何持久化上下文联系过,没有持久化标识(相当与主键)。 与数据库中的记录没有任何关联,也就是没有与其相关联的数据库记录 与Session没有任何关系,也就是没有通过Session对象的实例对其进行任何持久化的操作。
(2)持久:指该实体对象处于Hibernate框架所管理的状态,也就是说这个实体对象是与Session对象的实例相关的。处于持久态的实体对象的最大特征是对其所作的任何变更操作都将被Hibernate持久化到数据库中。 每个持久态对象都于一个Session ...
原型模式--Prototype
- 博客分类:
- 设计模式
原型模式是创建型模式,用意是:通过给出一个原型对象来指明所要创建的对象类 型,然后用复制这个原型对象的办法创建出更多的同类型对象。 首先要明白 在 java 中 有种说法 叫 深克隆 和 浅克隆, 所谓深浅 ,指的是: String s1= "zzcfront"; String s2 = s1 ; 上面 是字符串的 浅克隆 ,只是克隆的地址 并没有创建新的对象 。 所以说 : 浅拷贝只拷贝地址,不可拷贝地址指向的东西,因此浅拷贝经常使得两个对象使用同一个地址 而深拷贝则可以从地址中找到内容并拷贝出来, 再将其放到另个地址中以实现拷贝与被拷贝对象之间不存在共用地址的情况 (克隆 ...
一、简单工厂模式 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。 public interface Sample{ } Public class SampleA implements Sample{ } Public class SampleB implements Sample{ } public class Factory{ public static Sample creator(int which){ //getClass 产生Sample 一般可使用动态类装载装入类。 if (wh ...
Hibernate5个核心接口
- 博客分类:
- Hibernate
所有的Hibernate应用中都会访问Hibernate的5个核心接口。
Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象只有一个SessionFactory。
SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。
Session接口:负责保存、更新、删除、加载和查询对象。最重要的增删查改操作都是由session完成
Transaction:管理事务。
Query(HQL查询)和Criteria接口(QBC查询):执行数据库查询。
...
HQL检索技术(HQL子句本身部分大小写,但语句中出现的包名和类名要区分大小写)
完整的HQL语句形式如下: Select/update/delete…… from …… where …… group by …… having …… order by …… asc/desc
1,实体查询:"FROM TbOrder" 或者 "from com.yuan.TbBigClass"// 写上包名
where子句中可以通过比较运算符指定检索条件。例如:=、<、>、<>、<=、>=、BETWEEN、NOT BE ...
单例(Singleton)模式
- 博客分类:
- 设计模式
单例(Singleton)模式:保证只有一个实例,静态引用,私有构造方法,公共获取函数
public class Singleton { public static Singleton instance;
private Singleton() { } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; }
(Spring中只需在配置实体Bean中指定 scope="singleton" ...