`
文章列表
一、前言    本文的目的是将一个获取数据库连接的普通类重构成DAO+Abstract Factory模式。    二、设计初衷    使用数据访问对象(DAO,Data Access Object)模式来抽象和封装所有对数据源的访问。DAO管理着与数据源的连接以便检索和存储数据。可以降低商业逻辑层和数据访问层的耦合度,提高应用的可维护性和可移植性。    由于底层数据源实现变化时,DAO向客户端提供的接口不会变化,所有该模式允许DAO调整到不同的存储模式,而不会影响其客户端或者业务组件。显然,DAO充当了组件和数据源之间的适配器。    三、重构    首先,创建一个获取数据库连接的普通类:  ...
前几天一个网友指出了我的文章中一些有失偏颇之处,那些文章都是我在阅读Java Core的时候做的总结,顺便加上我个人的一些理解。因为看的e文版,理解上有些地方可能还欠妥。下面谈一下对Java中代理模式(Proxy)的认识。 代理,想必大家都应该知道是什么冬冬了,一般的手机产商都有代理商,歌星们都有自己的经纪人,如此这些都可以看作是一种代理模式。下面我选择如下的一种情景来进行讲述:某董事长出差,但是此时公司有个聚会,董事长买单,但是由他的秘书去结帐。我们就权且把这个看作一个代理行为,^_^。 首先我们定义一个接口:商人(Merchant),如下所示: package cn.edu.hust.cm ...
在一个类Class1中写一个事件event1, 当Class1中的某个值变化时,就触发event1, 然后写另外一个类Class2,监听Class1中的event1事件, public class A{private Vector aListeners = new Vector();private int value;public int getValue(){return value;}public void setValue(int newValue){if(value!=newValue){value = newValue;AEvent evt= new AEvent(thi ...
登记式单例类   登记式单例类是GoF 为了克服饿汉式单例类及懒汉式单例类均不可继承的缺点而设计的。本书把他们的例子翻译为Java 语言,并将它自己实例化的方式从懒汉式改为饿汉式。只是它的子类实例化的方式只能是懒汉式的, 这是无法改变的。如下图所示是登记式单例类的一个例子,图中的关系线表明,此类已将自己实例化。      代码清单3:登记式单例类   import java.util.HashMap;public class RegSingleton { static private HashMap m_registry = new HashMap();static { RegSingleton ...
 作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。   单例模式的要点   单例单例   显然单例模式的要点有三个;一是某各类只能有一个实例;二是它必须自行创建这个事例;三是它必须自行向整个系统提供这个实例。在下面的对象图中,有一个"单例对象",而"客户甲"、"客户乙" 和"客户丙"是单例对象的三个客户对象。可以看到,所有的客户对象共享一个单例对象。而且从单例对象到自身的连接线可以看出,单例对象持有对自己的引用。      资源管理    ...
事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务服务。本地事务服务已然足够(比如JDBC事务管理)。    本文并不讨论应该采用何种事务处理方式,主要目的是讨论如何更为优雅地设计事务服务。仅以JDBC事务处理为例。涉及到的DAO,Factory,Proxy,Decorator等模式概念,请阅读相关资料。    也许你听说过,事务处理应该做在service层,也许你也正这样做,但是否知道为什么这样做?为什么不放在DAO层做事务处理。显 ...
一、 引言   迭代这个名词对于熟悉Java的人来说绝对不陌生。我们常常使用JDK提供的迭代接口进行java collection的遍历: Iterator it = list.iterator();while(it.hasNext()){ //using “it.next();”do some businesss logic}   而这就是关于迭代器模式应用很好的例子。   二、 定义与结构   迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。   从定义可见, ...
我这里讲的不是怎么使用搜索引擎,而是怎么让程序利用搜索引擎来搜集网址,这有什么用?很有用!网上动辄有人叫卖网址数据库,如发布软件网址、邮件地址、论坛网址、行业网址,这些网址是怎么来的呢?不可能是人手工收集而来的,都是让程序利用搜索引擎取到的,如果您需要某类网址信息数据,就跟我来一起研究一下,非常简单。   本文采用Java语言写成,以google和百度搜索引擎为对象。   我们要利用google、百度搜索引擎的搜索规则中的两条,关键字搜索和inurl搜索。什么是inurl搜索,就是你所要搜索的网址中本身带有的关键字,比如www.xxx.com/post.asp ,这个网址就含有post.asp ...
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:   ThisIsAClassName   thisIsMethodOrFieldName   若在定义中 ...
Java语言中关键字strictfp的用途                                          自Java2以来,Java语言增加了一个关键字strictfp,虽然这个关键字在大多数场合比较少用,但是还是有必要了解一下。 strictfp的意思是FP-stri ...
<html> <head> <script> function clear() { Source=document.body.firstChild.data; document.open(); document.close(); document.body.innerHTML=Source; } </script> </head> <body onload=clear()> 现在在里面填充代码 你会发现无法查看到源代码  </body> </html>

struts上传

[size=medium][/size]public ActionForward upLoad(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws FileNotFoundException, IOException { FileForm fileForm=(FileForm)form; List<FileForm.myFile> files=fileForm.getImportFileList(); ...
实现SQL Server数据库的优化,首先要有一个好的数据库设计方案。在实际工作中,许多SQL Server方案往往是由于数据库设计得不好导致性能很差。实现良好的数据库设计必须考虑这些问题: 1. 逻辑数据库规范化问题 一般来说,逻 ...
1、复制a.properties文件到比如D盘下 2、在我的电脑上配置环境变量:如下 我的电脑->属性->高级->环境变量->系统变量->新建->变量名:path;变量值:你的jdk安装路径例如:C:\Program Files\Java\jdk1.5.0_10\bin,然后确定即可; 3、打开命令行输入cmd,编辑Javac测试成功后,即可用一下方法得到你想要的结果: 在命令行里输入nativeascii d:\a.properties(源文件) d:\b.properties编译后的文件) 或者: 1、复制ApplicationResources.pr ...
典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库 ...
Global site tag (gtag.js) - Google Analytics