<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[flustar]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/haha_1234</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; haha_1234]]></copyright><item><title><![CDATA[本人有一些计算机书籍不想要了 很便宜 绝对物有所值！]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83390967</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83390967</guid><author>haha_1234</author><pubDate>Sun, 26 Apr 2009 13:52:21 +0800</pubDate><description><![CDATA[ :D 没了]]></description><category></category></item><item><title><![CDATA[Struts2拦截器学习]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83220349</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83220349</guid><author>haha_1234</author><pubDate>Fri, 29 Feb 2008 16:08:43 +0800</pubDate><description><![CDATA[一、什么是拦截器？

提到拦截器，使我不得不想起武侠剧中劫匪们常说的一句话：“此山是我开，此树是我栽，要打此路过，留下买路财！”。难不成程序中也有“打劫”的，说的没错，拦截器就是个打劫的。在现实生活中，劫匪劫的大都是钱财，当然也有别的什么，那么程序中的“劫匪”劫的又是什么呢？或者说程序中为什么需要它？在我们的日常编程中少不了写一些重复的代码，例如在一个地方中写了一段代码，后来发现这段代码在其它...]]></description><category></category></item><item><title><![CDATA[Struts2中使用Common-FileUpload实现文件上传]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83220347</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83220347</guid><author>haha_1234</author><pubDate>Fri, 29 Feb 2008 16:07:20 +0800</pubDate><description><![CDATA[在web应用中，文件上传似乎是很常见的，但是采用传统的方法不但复杂而且难以控制，需要写很多代码，像控制文件大小、文件类型的过滤、存放目录等等。这些复杂的问题在Struts2中已经不存在了，struts2默认使用common-fileupload实现文件的上传。在struts.properties中我们可以看到:struts.multipart.parser=Jakarta 。下面我们就以Commo...]]></description><category></category></item><item><title><![CDATA[Struts2中Action详解]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83220346</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83220346</guid><author>haha_1234</author><pubDate>Fri, 29 Feb 2008 16:05:25 +0800</pubDate><description><![CDATA[在Struts2中Action部分，也就是Controller层采用了低侵入的方式。为什么这么说？这是因为在Struts2中action类并不需要继承任何的基类，或实现任何的接口，更没有与Servlet的API直接耦合。它通常更像一个普通的POJO（通常应该包含一个无参数的execute方法）,而且可以在内容定义一系列的方法(无参方法)，并可以通过配置的方式，把每一个方法都当作一个独立的actio...]]></description><category></category></item><item><title><![CDATA[Struts2中有关struts-default.xml,struts.xml,struts.pro]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83220338</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83220338</guid><author>haha_1234</author><pubDate>Fri, 29 Feb 2008 16:01:36 +0800</pubDate><description><![CDATA[学习Struts2也有一段时间了，早就想写一些关于它的文章，可由于自己太懒了，不想动手去写，最近看到blogjava中一位叫max的大侠写的struts2专栏很不错，使我更不想写了（有点自卑啊，呵呵）。但这段时间自己实在也太无聊了，于是还是写写吧。

       每学习一个框架，我们都免不了要学习一些关于的配置文件，struts2也不例外，下面我就讲一下struts2中几个主要的配置文件。...]]></description><category></category></item><item><title><![CDATA[Java调用存储过程]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83208388</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83208388</guid><author>haha_1234</author><pubDate>Sat, 26 Jan 2008 16:00:00 +0800</pubDate><description><![CDATA[ 
一：无返回值的存储过程&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;
存储过程为：&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;
create or replace
procedure adddept(deptno number,dname varchar2,loc varchar2)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;
 as&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;]]></description><category></category></item><item><title><![CDATA[Java常见面试题集锦]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83208387</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83208387</guid><author>haha_1234</author><pubDate>Sat, 26 Jan 2008 15:26:00 +0800</pubDate><description><![CDATA[ Java面试常见问题
1 、面向对象的特征有哪些方面 
1.抽象：
抽象就是忽略一个主题中与当前目标无关的那些方面，以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题，而只是选择其中的一部分，暂时不用部分细节。抽象包括两个方面，一是过程抽象，二是数据抽象。
2.继承：
继承是一种联结类的层次模型，并且允许和鼓励类的重用，它提供了一种明确表述共性的方法。对象的一个新类可以从现...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(二十二)—FlyWeight享元模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83208380</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83208380</guid><author>haha_1234</author><pubDate>Sat, 26 Jan 2008 13:45:00 +0800</pubDate><description><![CDATA[一、FlyWeight模式定义:
运用共享技术有效地支持大量细粒度对象。
二、模式解说
也就是说在一个系统中如果有多个相同的对象，那么只共享一份就可以了，不必每个都去实例化一个对象。在Flyweight模式中，由于要产生各种各样的对象，所以在Flyweight(享元)模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Flyweight factory负责维护一个对象存储池（...]]></description><category></category></item><item><title><![CDATA[Struts2+spring2+hibernate3整合方案]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83202065</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83202065</guid><author>haha_1234</author><pubDate>Wed, 26 Dec 2007 01:11:00 +0800</pubDate><description><![CDATA[Struts2+spring2+hibernate3整合方案 
最近闲来无事可做，于是开始学习struts2。Struts2和struts1、webwork2有什么区别我也不说了，网上有很多这方面的资料。以前在项目中从未使用过struts，一直使用spring+hibernate，现在既然学习了Struts，也不能浪费，于是乎开始琢磨着怎么整合这3个框架。整合原理以spring为容器，管理hib...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(二十一)—Composite模式 ]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83199476</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83199476</guid><author>haha_1234</author><pubDate>Tue, 18 Dec 2007 17:10:00 +0800</pubDate><description><![CDATA[今天开始学习Composite模式，首先让我们看一下它的定义：
 将对象组合成树形结构以表示“整体—部分”的层次结构。Composite模式使单个对象和组合对象的使用具有一致性。
下面给出这个模式的结构图：
  
如果把Composite模式看成是树形结构的话，那么它主要角色有：
1) 树干角色(Component)：该角色是一个抽象类，它定义了一些操作增删树叶（Leaf）的操作。
2) 树枝角色...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(二十)—Visitor访问者模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83199104</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83199104</guid><author>haha_1234</author><pubDate>Sat, 15 Dec 2007 18:37:00 +0800</pubDate><description><![CDATA[Visitor模式定义:
表示一个作用于某对象结构中各元素的操作。它可以使你不修改各元素类的前提下定义作用于这些元素的新操作，也就是动态的增加新的方法。
Visitor模式结构图:
 
Visitor模式中主要角色:
1) 访问者角色(Visitor)：为该对象结构(ObjectStructure)中的具体元素提供一个访问操作接口。该操作接口的名字和参数标识了要访问的具体元素角色。这样访问者就可以...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十九)—Chain of Responsibility职责链模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83198941</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83198941</guid><author>haha_1234</author><pubDate>Fri, 14 Dec 2007 15:07:00 +0800</pubDate><description><![CDATA[    自从辞职以来，一个多月了只收到一份面试通知，到最后还是不了了之。哎，伤心。。。无聊死了。还好，可以利用这段时间好好充充电，但是由于心情不好，学过的东西很容易忘记，所以就在博客里写下来。由于本人水平有限，写出来的东西也许对初学者有所帮助。如果不小心哪位大侠看了不要见笑，哪里有不正确的地方还请批评指正。好了不说废话了。
Chain of Responsibility模式定义：
为了避免请求的发...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十八)—Mediator中介者模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83198709</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83198709</guid><author>haha_1234</author><pubDate>Wed, 12 Dec 2007 20:34:00 +0800</pubDate><description><![CDATA[设计模式学习笔记(十八)—Mediator中介者模式
一、 模式定义:
用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用，从而使其耦合松散，而且可以独立的改变他们之间的交互。
二、 结构图
 
1) 抽象中介者：定义同事（Colleague）对象到中介者（Mediatior）对象的接口，通常是一个事件方法。
2) 具体中介者：具体中介者实现抽象中介者声明的方法。知晓所有的...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十七)—Memento备忘录模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83198118</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83198118</guid><author>haha_1234</author><pubDate>Sat, 08 Dec 2007 15:25:00 +0800</pubDate><description><![CDATA[一、 模式定义:
在不破坏封装的前提下，捕获一个对象的内部状态，并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存前的状态。
二、 模式解说
在程序运行过程中，某些对象的状态处在转换过程中，可能由于某种原因需要保存此时对象的状态，以便程序运行到某个特定阶段，需要恢复到对象之前处于某个点时的状态。如果使用一些公有接口让其它对象来得到对象的状态，便会暴露对象的实现细节。
三、 结构图
 
1...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十六)—Proxy模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83197824</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83197824</guid><author>haha_1234</author><pubDate>Thu, 06 Dec 2007 13:19:00 +0800</pubDate><description><![CDATA[一、 Proxy模式定义:
为其他对象提供一种代理以控制这个对象的访问。
二、 模式解说
Proxy代理模式是一种结构型设计模式，主要解决的问题是：在直接访问对象时带来的问题，比如说：要访问的对象在远程的机器上。在面向对象系统中，有些对象由于某些原因（比如对象创建开销很大，或者某些操作需要安全控制，或者需要进程外的访问），直接访问会给使用者或者系统结构带来很多麻烦，我们可以在访问此对象时加上一个对...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十五)—State模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83197719</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83197719</guid><author>haha_1234</author><pubDate>Wed, 05 Dec 2007 16:35:00 +0800</pubDate><description><![CDATA[一、 State模式定义:
允许一个对象在其状态改变时，改变它的行为。看起来对象似乎修改了它的类。
二、 模式解说
State模式主要解决的是在开发中时常遇到的根据不同的状态需要进行不同的处理操作的问题,而这样的问题,大部分人是采用switch-case语句进行处理的,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State模式采用了对这些不同的状态进行封装的方...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十四)—Command模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83197679</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83197679</guid><author>haha_1234</author><pubDate>Wed, 05 Dec 2007 13:23:00 +0800</pubDate><description><![CDATA[一、 Command模式定义:
将一个请求封装为一个对象，从而使你不同的请求对客户进行参数化；对请求排队或记录请求日志，以及支持可撤销的操作。
二、 模式解说
Commad模式是一种对象行为模式，它可以对发送者(sender)和接收者(receiver)完全解耦(decoupling)。（&quot;发送者&quot; 是请求操作的对象，&quot;接收者&quot; 是接收请求并执行某操作的对象。有了 &quot;解耦&quot;，发送者对接收者的接口一...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十三)—Iterator迭代器模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83197616</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83197616</guid><author>haha_1234</author><pubDate>Tue, 04 Dec 2007 23:52:00 +0800</pubDate><description><![CDATA[Iterator模式定义:
提供一个方法顺序访问一个聚合对象的各个元素，而又不暴露该对象的内部表示。
这个模式在java的类库中已经实现了，在java中所有的集合类都实现了Conllection接口，而Conllection接口又继承了Iterable接口，该接口有一个iterator方法，也就是所以的集合类都可以通过这个iterator方法来转换成Iterator类，用Iterator对象中的h...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十二)—Builder建造者模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83197425</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83197425</guid><author>haha_1234</author><pubDate>Mon, 03 Dec 2007 21:39:00 +0800</pubDate><description><![CDATA[Builder模式定义:
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
刚接触到这个模式的时候，实在搞不明白它的意思，有什么用。于是，上网google了一圈，终于得到这个大家普遍认可的解释：
建造模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们，用户不知道内部的具体构建细节。
下面举一个例子来说明这个模式的使用，代码如下：
...]]></description><category></category></item><item><title><![CDATA[设计模式学习笔记(十一)—Prototype原型模式]]></title><link>https://blog.youkuaiyun.com/haha_1234/article/details/83197267</link><guid>https://blog.youkuaiyun.com/haha_1234/article/details/83197267</guid><author>haha_1234</author><pubDate>Sun, 02 Dec 2007 16:16:00 +0800</pubDate><description><![CDATA[ Prototype模式的意图是:
 通过给出一个原型对象来指明所要创建的对象类型，然后用复制这个原型对象的办法创建出更多的同类型对象。
 在java的类库中已经实现了这一模式，只要你定义的类实现了Cloneable接口，用这个类所创建的对象可以做为原型对象进而克隆出更多的同类型的对象。下面举个例子，来介绍简单的介绍一下它的使用。
import java.io.ByteArrayInputStre...]]></description><category></category></item></channel></rss>