java深入
xxx405
这个作者很懒,什么都没留下…
展开
-
Applet和EJB3的联合
EJB3已经出来了一段时间,这两天对它的功能进行了测试.发现与以前版本比较已经有了很大的改变..测试环境:JBoss4.0.5.GA,Eclipse3.2.1.由于只是测试并没有与数据库进行连接..1、定义需要在客户端进行调用的接口package com.service.ejb3; /** *//** * 提供给客户端的接口 * @author xzgf jav转载 2007-04-25 13:42:00 · 321 阅读 · 0 评论 -
设计模式之Singleton(单态)
定义:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如果转载 2007-05-15 09:54:00 · 344 阅读 · 0 评论 -
設計模式之Facade(外觀)
Facade的定義: 爲子系統中的一組介面提供一個一致的介面。Facade一個典型應用就是資料庫JDBC的應用,如下例對資料庫的操作: public class DBCompare { Connection conn = null; PreparedStatement prep = null; R转载 2007-05-15 09:52:00 · 386 阅读 · 0 评论 -
設計模式之Adapter(適配器)
定義:將兩個不相容的類別糾合在一起使用,屬於結構型模式,需要有Adaptee(被適配者)和Adaptor(適配器)兩個身份。爲何使用?我們經常碰到要將兩個沒有關係的類別組合在一起使用,第一解決方案是:修改各自類別的介面,但是如果我們沒有源代碼,或者,我們不願意爲了一個應用而修改各自的介面。 怎麽辦? 使用Adapter,在這兩種介面之間創建一個混合介面(混血兒)。如何使用?實現Adap转载 2007-05-15 09:51:00 · 296 阅读 · 0 评论 -
設計模式之Template
Template定義:定義一個操作中演算法的骨架,將一些步驟的執行延遲到其子類別中。其實Java的抽象類別本來就是Template模式,因此使用很普遍。而且很容易理解和使用,我們直接以示例開始: public abstract class Benchmark{ /** * 下面操作是我們希望在子類別中转载 2007-05-15 09:48:00 · 275 阅读 · 0 评论 -
設計模式之Bridge
Bridge定義 :將抽象和行為劃分開來,各自獨立,但能動態的結合.為什麼使用?通常,當一個抽象類或介面有多個具體實現(concrete subclass),這些concrete之間關係可能有以下兩種:1. 這多個具體實現之間恰好是並列的,如前面舉例,打樁,有兩個concrete class:方形樁和圓形樁;這兩個形狀上的樁是並列的,沒有概念上的重複,那麼我們只要使用繼承就可以了.2.實際應用转载 2007-05-15 09:46:00 · 274 阅读 · 0 评论 -
設計模式之Observer
Java深入到一定程度,就不可避免的碰到設計模式(design pattern)這一概念,瞭解設計模式,將使自己對java中的介面或抽象類別應用有更深的理解。設計模式在java的中型系統中應用廣泛,遵循一定的編程模式,才能使自己的代碼便於理解,易於交流,Observer(觀察者)模式是比較常用的一個模式,尤其在介面設計中應用廣泛,而本站所關注的是Java在電子商務系統中應用,因此想從電子商務實例中转载 2007-05-15 09:44:00 · 333 阅读 · 0 评论 -
設計模式之Visitor
Visitor定義作用於某個物件群中各個物件的操作。 它可以使你在不改變這些物件本身的情況下,定義作用於這些物件的新操作。在Java中,Visitor模式實際上是分離了collection結構中的元素和對這些元素進行操作的行爲。爲何使用Visitor?Java的Collection(包括Vector和Hashtable)是我們最經常使用的技術,可是Collection好象是個黑色大染转载 2007-05-15 09:33:00 · 394 阅读 · 0 评论 -
設計模式之Builder
Builder模式定義:將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。Builder模式是一步一步創建一個複雜的物件,它允許用戶可以只通過指定複雜物件的類型和內容就可以構建它們。用戶不知道內部的具體構建細節。Builder模式是非常類似抽象工廠模式,細微的區別大概只有在反復使用中才能體會到。爲何使用?是爲了將構建複雜物件的過程和它的部件解耦。注意: 是解耦转载 2007-05-15 09:53:00 · 336 阅读 · 0 评论 -
jsp设计模式---MVC模式
一:介绍以前自己是写asp和php代码的,后来为了赶上时代的步伐吧.我开始涉足jsp. 但是在刚刚开始写的时候,总是喜欢拿jsp和asp对比着来写程序.后来发现这样真的很笨.而且这样写jsp代码不如就写asp好了,根本就体现不出jsp和java的强大.当然这个就是我今天要和大家讨论的在jsp中实现MVC三层模式.二:什么是MVCMVC是MODEL_VIEW_CONTROL的缩写。MODEL_VIE转载 2007-05-15 09:29:00 · 451 阅读 · 0 评论 -
設計模式之Chain of Responsibility(職責鏈)
Chain of Responsibility定義Chain of Responsibility(CoR) 是用一系列類別(classes)試圖處理一個請求request,這些類別之間是一個鬆散的耦合,唯一共同點是在他們之間傳遞request。 也就是說,來了一個請求,A類別先處理,如果沒有處理,就傳遞到B類別處理,如果沒有處理,就傳遞到C類別處理,就這樣象一個鏈條(chain)一樣傳遞下去。转载 2007-05-15 09:40:00 · 254 阅读 · 0 评论 -
程序员应用EJB 3.0必要的准备
EJB 3.0极其重视开发的简易性,并调整了模型。这绝非巧合,因为规范的主要设计者:Linda DeMichiel选择了广泛听取外界的意见,并借鉴TopLink等产品所取得的经验。这样一来,这项规范就可以沿着已经由流行、得到公认的技术开辟出来的道路前进,而这些道路实际上成了业内事实上的最佳实践。 那么,作为程序员的你,面对新的规范,该做哪些准备呢? 处理好架构问题 首先要转载 2007-05-22 17:11:00 · 445 阅读 · 0 评论 -
EJB 3.0的三大类型详解
无论你创建bean会话是为了执行特定任务,还是把表映射到实体bean以更新数据,都可以使用普通的Java对象和接口来完成这些工作,并且可以通过在业务方法中使用注释,把方法提供给客户端。 Enterprise JavaBean (EJB) 是可重用的、可移植的 J2EE 组件。EJB 由封装业务逻辑的方法组成。譬如说,EJB 可能有这样的业务逻辑:包含了更新数据库中客户数据的方法。众多远转载 2007-05-22 17:09:00 · 411 阅读 · 0 评论 -
在容器外使用EJB 3.0 Persistence
Lucas Jellema 最近写了篇文章,名字叫:Getting Started with EJB 3.0 Persistence out-of-container using the Reference Implementation (GlassFish)。 该文介绍了如何在J2EE Container之外使用EJB 3.0 Persistence,实现了service类和data转载 2007-05-22 16:55:00 · 416 阅读 · 0 评论 -
基于Beehive,EJB3.0开发客户反馈系统
设计目标 客户反馈系统作为公司与客户交流的平台,几乎为所有的企业所运用,最近,公司让我负责客户反馈系统的开发。由于,公司与国外客户的业务需要,该系统必须实现中,英,日三国语言的切换(国际化要求)。在接到任务之后,我便决定尝试使用目前开源社区比较流行的Apache Beehive(蜂巢)和下一代EJB,EJB3.0等技术来实现这个系统。 开发环境 选择平台,开发工具 为了支持转载 2007-05-22 16:44:00 · 684 阅读 · 0 评论 -
用EJB 3.0开发企业级Bean组件初体验
阅读提要EJB 3.0规范的最终稿已经提交到JCP,如果不出意外EJB3.0将在2006年正式发布。本文作为探讨EJB 3.0公共草案三系列中的第一篇,将解释EJB 3.0和企业Bean组件的基本概念;另外,你还学习到怎样使用JBoss和Maven来开发基于EJB 3.0的企业级bean组件。 尽管EJB 3.0规范还没有正式发行,但是它已经在Java开发社群中引起广泛兴趣——无转载 2007-05-22 16:34:00 · 470 阅读 · 0 评论 -
按需变化解释有状态还是无状态EJB
当提到开发J2EE服务端组件时,EJB是事实上的标准。会话bean被用作业务逻辑组件,并且主要是这两种类型:有状态的和无状态的。Bean的类型,有状态或无状态,是在布署时通过布署参数决定的。但是,有很多情况可能是在运行时才能决定是否需要有状态的bean。这篇文章中,我会解释一种用来在运行时选择是否有状态的bean的模式。 有状态和无状态的会话bean 会话bean为它的客户进行工转载 2007-05-22 16:11:00 · 428 阅读 · 0 评论 -
設計模式之Composite(組合)
Composite定義:將物件以樹形結構組織起來,以達成“部分-整體” 的層次結構,使得用戶端對單個物件和組合物件的使用具有一致性。Composite比較容易理解,想到Composite就應該想到樹形結構圖。組合體內這些物件都有共同介面,當組合體一個物件的方法被呼叫執行時,Composite將遍曆(Iterator)整個樹形結構,尋找同樣包含這個方法的物件並實現呼叫執行。可以用牽一動百來形容。转载 2007-05-15 09:50:00 · 280 阅读 · 0 评论 -
設計模式之Command
Command模式是最讓我疑惑的一個模式,我在閱讀了很多代碼後,才感覺隱約掌握其大概原理,我認爲理解設計模式最主要是掌握起原理構造,這樣才對自己實際編程有指導作用。Command模式實際上不是個很具體,規定很多的模式,正是這個靈活性,讓人有些confuse。Command定義不少Command模式的代碼都是針對圖形介面的,它實際就是功能表命令,我們在一個下拉功能表選擇一個命令時,然後會執行一些转载 2007-05-15 09:42:00 · 314 阅读 · 0 评论 -
設計模式之Memento(備忘機制)
Memento定義:memento是一個保存另外一個物件內部狀態拷貝的物件。這樣以後就可以將該物件恢復到原先保存的狀態。Memento模式相對也比較好理解,我們看下列代碼: public class Originator { private int number;转载 2007-05-15 09:43:00 · 308 阅读 · 0 评论 -
設計模式之State
State的定義: 不同的狀態,不同的行爲;或者說,每個狀態有著相應的行爲。何時使用?State模式在實際使用中比較多,適合"狀態的切換"。因爲我們經常會使用If elseif else 進行狀態切換, 如果針對狀態的這樣判斷切換反復出現,我們就要聯想到是否可以採取State模式了。不只是根據狀態,也有根據屬性。如果某個物件的屬性不同,物件的行爲就不一樣,這點在資料庫系統中出現頻率比較高,转载 2007-05-15 09:41:00 · 296 阅读 · 0 评论 -
J2EE编程起步(二)
创建J2EE应用 你不能够直接将企业组件(EJB)部署到J2EE服务器,必须将组件加到一个J2EE 应用中然后再部署。在本节,你将创建一个叫做ConverterApp的新J2EE应用并保存为ConverterApp.ear。 1. 在命令行提示符下启动J2EE服务器: j2ee ?verbose (停止服务器命令 j2ee -stop.) 2. 在另一个终端窗口运行部署工具: deployto转载 2007-05-05 14:23:00 · 280 阅读 · 0 评论 -
J2EE编程起步(一)
【编者按】为了帮助国内J2EE初学者,将J2EE部分文档进行编译,期望能够对广大Java爱好者有所帮助。 本文将通过简单例子,描述如何利用EJB开发、部署和运行一个客户机/服务器应用。例子的客户端作为Java独立应用运行,由 ConverterClient.java类实现。它实现一个简单的实时会话,主要通过客户端应用调用服务器端EJB类 ConverterEJB.java来实现。如果你已经安装转载 2007-05-05 14:22:00 · 293 阅读 · 0 评论 -
Java:Struts入门初步知识
1.如何安装Struts: 首先到http://jakarta.apache.org/Struts下 载Struts,建议使用release版,现在最高版本为1.2.6,有多种OS版本(windows,linus...),下载后解压开来,可以看到 这个目录:lib和webapps,webapps下有一些WAR文件。假设你的Tomcat装在c:Tomcat下,则将那些WAR文件拷贝到C: To转载 2007-05-05 13:23:00 · 283 阅读 · 0 评论 -
Spring 入门(一个简单的例子)
首先我们要先取得Spring的相关档案,Spring的档案放在SourceForge上,网址是:http://sourceforge.net/project/showfiles.php?group_id=73357 撰写此文时,Spring最新的版本是1.1.1,有两个下载版本,一个是spring-framework-1.1.1-with- dependencies.zip,一个是spring转载 2007-05-05 14:59:00 · 379 阅读 · 0 评论 -
AOP编程入门--Java篇
Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题。AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。比如我们最常见的就是日志记录了,举个例子,我们现在提供一个服务查询学生信息的,但是我们希望记录有谁进行了这个查询。如果按照传统的OOP的实现的话,那我们实现转载 2007-05-05 10:34:00 · 304 阅读 · 0 评论 -
编写你自己的单点登录(SSO)服务
摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何转载 2007-05-04 21:13:00 · 532 阅读 · 0 评论 -
连接sql server的bean
import java.sql.*;public class DBConnection //连接库的beanjsp页需要操作数据添加删//除可直接 DBConnection db = new DBConnection(); 然后db.****(); { String driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";转载 2007-05-04 14:13:00 · 303 阅读 · 0 评论 -
MVC减少编程复杂性
随着面向对象的语言(如Java)的迅速发展和普及,越来越多的编程人员开始在应用开发中使用这些语言。然而原有的开发语言(即面向操作的开发语言如C++等)在短时间内还不可能退出历史舞台,因此现在就出现了面向对象的语言和传统的面向操作的语言共存的局面。在设计应用中同时使用两类不同的语言(混合语言设计)比过去只使用一类语言会带来许多新的问题,其中复杂性就是混合语言设计中最经常遇到的问题。下面我们探讨混转载 2007-05-06 11:27:00 · 414 阅读 · 0 评论 -
Java2 RMI 入门
RMI从Java1.1开始,RMI使得运行于不同JVM(包括不同主机)上的Java应用程序可以彼此通话。 即:一个JVM中的Java应用程序可以调用另一JVM上的对象(远程对象)所定义的方法。 Java RMI有着重要的意义。RMI在Java网络编程和高级编程中都有重要的应用,如EJB, Jini等。 Java2对RMI做了很多增强和改进,如安全性,动态代码下载等。 本文给出了一个最简单的例子,以转载 2007-05-06 18:34:00 · 318 阅读 · 0 评论 -
設計模式之Strategy(策略)
Strategy是屬於設計模式中 物件行爲型模式,主要是定義一系列的演算法,把這些演算法一個個封裝成單獨的類別。Stratrgy應用比較廣泛,比如, 公司經營業務變化圖, 可能有兩種實現方式,一個是線條曲線,一個是框圖(bar),這是兩種演算法,可以使用Strategy實現。這裏以字串替代爲例, 有一個文件,我們需要讀取後,希望替代其中相應的變數,然後輸出。關於替代其中變數的方法可能有多種转载 2007-05-15 09:39:00 · 291 阅读 · 0 评论 -
计模式之Factory
定义:提供创建对象的接口.为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能转载 2007-05-15 09:56:00 · 402 阅读 · 0 评论 -
設計模式之Proxy(代理)
理解並使用設計模式,能夠培養我們良好的面向物件編程習慣,同時在實際應用中,可以如魚得水,享受遊刃有餘的樂趣。Proxy是比較有用途的一種模式,而且變種較多,應用場合覆蓋從小結構到整個系統的大結構,Proxy是代理的意思,我們也許有代理伺服器等概念,代理概念可以解釋爲:在出發點到目的地之間有一道中間層,意爲代理。設計模式中定義: 爲其他物件提供一種代理以控制對這個物件的訪問。爲什麽要使用转载 2007-05-15 09:53:00 · 309 阅读 · 0 评论 -
設計模式之Decorator(油漆工)
Decorator常被翻譯成"裝飾",我覺得翻譯成"油漆工"更形象點,油漆工(decorator)是用來刷油漆的,那麼被刷油漆的物件我們稱decoratee.這兩種實體在Decorator模式中是必須的. Decorator定義:動態給一個物件添加一些額外的職責,就象在牆上刷油漆.使用Decorator模式相比用生成子類方式達到功能的擴充顯得更為靈活. 為什麼使用Decorato转载 2007-05-15 09:49:00 · 292 阅读 · 0 评论 -
設計模式之Flyweight(享元)
Flyweight定義:避免大量擁有相同內容的小類別的開銷(如耗費記憶體),使大家共用一個類別(元類別)。爲什麽使用?面向物件語言的原則就是一切都是物件,但是如果真正使用起來,有時物件數可能顯得很龐大,比如,文字處理軟體,如果以每個文字都作爲一個物件,幾千個字,物件數就是幾千,無疑耗費記憶體,那麽我們還是要"求同存異",找出這些物件群的共同點,設計一個元類別,封裝可以被共用的類別,另外,還有一转载 2007-05-15 09:45:00 · 281 阅读 · 0 评论 -
tiles使用介绍
1. 概述针对view(前台表达)部分所使用的struts tiles技术的介绍。包括tiles简介,配置,以及开发流程的介绍。2. Struts-tiles技术简介2.1 概念简介Tiles Framework建立在jsp include技术的基础之上。通过xml配置文件把显示页面划分为几个“通用模块”(tiles),增强页面的可重用性,易于管理整个应用(网站)的风格,提高web page的可维转载 2007-05-06 19:33:00 · 715 阅读 · 0 评论 -
JUnit介绍
一、JUnit简介JUnit是基于面向对象构建的java单元测试框架。JUnit是开放源代码项目,可按需要进行扩展。二、安装JUnit首先获取JUnit的软件包,从http://www.junit.org下载最新的软件包。将软件包在适当的目录下解包。这样在安装目录下找到一个名为junit.jar的文件,将这个jar文件加入CLASSPATH系统变量。三、JUnit框架介绍:一)TestCase--转载 2007-05-06 18:19:00 · 333 阅读 · 0 评论 -
用Java生成XML
一般情况下,我们只要一提到XML,大多数问题都会集中到解析 XML和 XML结构等方面。在这类技术领域,W3C提出了 DOM 和 SAX规范用来解析数据,Sun提供了Java XML Pack,而 Apache则推出了Xerces 和Xalan。然而,几乎没有什么关注的目光投射到输出XML这一问题上来。把JavaBeans和Swing组件变成 XML的项目倒有一些,但大多数情况下,开发人员只不过希转载 2007-05-06 11:42:00 · 304 阅读 · 0 评论 -
在Eclipse3.1中如何使用Lomboz3.1开发struts
虽然现在用IDE开发struts有不少好用的软件,像JB, myeclipse,但这些都需要Money。虽然用来学习可以使用试用版或者直接使用D版。但在真正开发中可能会遇到一些问题,所以试着用一些免费的 软件为我们服务也不为一件坏事。既然免费,在一些功能上当然抵不上商用软件,但还是能完成大部分工作。 在eclipse2.0时还有一个easystruts的插件,进入3.0,就找不到简转载 2008-03-11 14:47:00 · 435 阅读 · 0 评论