摘要: 1importjava.awt.image.BufferedImage;2importjava.io.File;3importjava.io.IOException;4importjavax.imageio.ImageIO;56publicclassImageIOTest{7publicstaticvoidmain(Stringargs[])throwsIOException{8FileinputFile=newFile("c://test.bmp");9BufferedImageinput=ImageIO.read(inputFile);101112FileoutputF 阅读全文
posted @ 2007-04-20 09:53 lovingprince 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 我们经常使用COMMONS-BEANUTILS包来进行bean的操作,例如从map到bean获从bean到map的映射,那么实现的原理是什么呢,下面举个简单的操作的例子;首先,我建立一个beanpublic class Bean {private String test1;private String getTest1() {return test1;}private void setTest1(String test1) {this.test1 = test1;}}上面这个例子比较极端,利用我们平常的JAVA操作是不可能通过这两个私有方法进行设置和获取值的,但是我们利用JAVA反射机制却可以 阅读全文
posted @ 2007-04-19 16:13 lovingprince 阅读(1610) 评论(0) 推荐(0) 编辑
摘要: 在遥远的过去,有这么一个与世无争的小村子,村里有一个村长(A)和很多的村民(Bs). 围绕着这个小村子,发生了无数的可歌可泣的故事.当然,和其他的故事一样,村子之外有一个可恶的皇帝(E). 1) 皇帝要让所有的村民交租子,他要经历下面的流程: a) 他首先跑到村民b1那里收租子,村民b1的家里只有门,他就从门进入。 b) 他又跑到村民b2那里收租子,村民b2家里只有窗,没有门,他就从窗进入。 c) 村民b3家里门也没有,窗也没有,皇帝只好采用直升飞机空降的方式进入。 d) 。。。。 终于有一天,皇帝再也受不了了,他把村长叫过来,对他说:以后我收租子,只找你一个,从门进入,我收谁的你就跑腿。从. 阅读全文
posted @ 2007-04-17 11:47 lovingprince 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 为了加强对这五种创建模式的理解,我就拿电脑生产做为例子。 一个电脑包含很多组件:CPU, Disk, Monitor, keyBoard, Mouse。当然,首先我们有5种Factory: CPUFactory, DiskFactory, MonitorFactory, KeyBoardFactory, MouseFactory。这里采用的就是Factory模式,例如CPUFactory可以有Intel, AMD等等,DiskFactory可以有Maxto, Seaga等。这几个都是电脑组件的程产厂商,对于一个电脑的组成厂商,它需要声称这几个Factory的实例,以便于每次需要一个组建的时候就 阅读全文
posted @ 2007-04-17 11:12 lovingprince 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 1:工厂(Factory Method)首先,工厂这个名字取得很好,就像前面说的,创建型模式的意义在于把生成一个变量从手工作坊(new,delete)的方式变化到工业化的模式,那么这里的工业化模式最典型的就是工厂(Factory Method)。工厂自己也是一个类,也会生成实例,工厂的功能就是为了创建另外一些变量。举例子,我们有奔驰车,宝马车,马拉车等等。现在我们要为他们生成变量,手工作坊和工业化的区别如下:1) 手工作坊 MyCar = new 奔驰。 显然,如果有一天,你需要了一个新的车,叫宝马, 就需要把程序里面所有的MyCar = new 奔驰换成 MyCar = new 宝马。这样. 阅读全文
posted @ 2007-04-17 11:07 lovingprince 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 如果说 Factory和Prototype是同一个层次的话,那么Abstract Factory和Builder就是更高一级的层次。1 Abstact Factory 在上面的Factory类型中,我们发现如果种类变了,我们还是要修改我们的代码: Factory = new 宝马工厂。 这样的代码可能出现在很多的地方,改起来并不是很方面。那么怎么办呢? 我们能不能把修改集中在一个地方?答案是可以的,那就是Abstract Factory。我们专门生成一个类来管理工厂,把 Factory = new 宝马工厂 这句话放到他的入口里面。class AbstractFactory{protected 阅读全文
posted @ 2007-04-17 10:59 lovingprince 阅读(302) 评论(0) 推荐(0) 编辑
摘要: Bridge桥接模式是一种结构型模式,它主要应对的是:由于类型的固有罗辑,使得类型具有两个或两个以上的纬度变化。也就是要求抽象不应依赖于实现细节,实现细节应依赖于抽象。 《设计模式》中说到将抽象部分与实现部分分离,使他们可以独立的变化。 举个例子更清楚些,好像我们平时玩的游戏中有PS版的,但是不是大家都有PS。这时我们等一段时间,一般会出PC版的或其他版本。由于支持游戏的平台不一样,但是如果我们编写的游戏程序为了适应另一种平台就要全部重新编写的话岂不是很麻烦。再加上游戏本身的变动,一句众人皆知的话:“死定了”。 现在我们来看看Bridge桥接模式,看看它是如何解决类似问题的,首先我们看看Bri 阅读全文
posted @ 2007-04-10 11:34 lovingprince 阅读(199) 评论(0) 推荐(0) 编辑
摘要: tomcat 的根目錄下有幾個文件夾,他們的作用如下:bin目錄 存放启动和关闭tomcat脚本 conf 目錄 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xmlwork 目錄 存放jsp编译后产生的class文件 webapp目錄 存放应用程序示例,以后你要部署的应用程序也要放到此目录 logs 目錄 存放日志文件 lib/japser/common : 这三个目录主要存放tomcat所需的jar文件配置web應用主要是應用server.xml文件,下面是部分元素和它的屬性的含義:server: port 指定一个端口,这个端口负责监听关闭tomcat的 阅读全文
posted @ 2007-04-09 16:21 lovingprince 阅读(520) 评论(0) 推荐(0) 编辑
摘要: Java最初是以Applet等客户端图形处理为技术起点的,而本节讨论的是如何在Servlet/JSP中实现图形处理。在Jive中,图片可以用来显示用户的头像,用户在上传自己头像图片时,该图片的大小可能不一,但是由于版面原因,显示的头像图片又有大小限制,那么就需要在用户上传图片时对图片大小做一个检查。如果超过规定大小,就进行一定的缩放处理。缩放处理有两种方式:是在HTML显示时,使用image 语法的width和height来限制大小,但是这样做只是解决了表面问题,无法解决大字节图片传送到客户端带来的性能影响,这个图片因为是用户发言的头 像,将会在每个帖子里面显示。如果头像都是巨大图片,对帖子显 阅读全文
posted @ 2007-04-05 10:33 lovingprince 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 设计模式之Facade(外观 总管 Manager)板桥里人 http://www.jdon.com 2002/4/6/(转载请保留)模式实战书籍《Java实用系统开发指南》Facade模式的定义: 为子系统中的一组接口提供一个一致的界面.Facade一个典型应用就是数据库JDBC的应用,如下例对数据库的操作: public class DBCompare { Connection conn = null; PreparedStatement prep = null; ResultSet rse... 阅读全文
posted @ 2007-04-04 11:41 lovingprince 阅读(193) 评论(0) 推荐(0) 编辑