﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-爱睡觉的小耗子</title><link>http://www.blogjava.net/Harriet/</link><description>                   ——等待飘雪的日子...努力,努力,再努力!</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 13:11:43 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 13:11:43 GMT</pubDate><ttl>60</ttl><item><title>全国计算机等级考试MS OFFICE要点B组(6-10)</title><link>http://www.blogjava.net/Harriet/archive/2007/12/10/166594.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Mon, 10 Dec 2007 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/12/10/166594.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/166594.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/12/10/166594.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/166594.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/166594.html</trackback:ping><description><![CDATA[<p style="text-align: left;" align="left"><span style="font-family: 宋体;">1.</span><span style="font-family: 宋体;">域名的格式：主机名.机构名.网络名.最高层域名，<span><br />
&nbsp;&nbsp;&nbsp;&nbsp; </span>顶级域名主要包括：COM表示商业机构；<span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
EDU</span>表示教育机构；<span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GOV</span>表示政府机构；<span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MIL</span>表军事机构；<span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NET</span>表示网络支持中心；<span><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ORG</span>表示国际组织。 </span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">2.</span><span style="font-family: 宋体;">存储一个汉字需要2个字节，所以，要存放10个24*24点阵的汉字字模，需要10*24*24/8=720B</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">**3.</span><span style="font-family: 宋体;">CAD</span><span style="font-family: 宋体;">完整的拼写形式为：Computer Aided Design，中文意思是计算机辅助设计。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">4.</span><span style="font-family: 宋体;">CPU</span><span style="font-family: 宋体;">是由运算器和控制器两部分组成，可以完成指令的解释与执行。计算机的存储器分为内存储器和外存储器。</span></p>
<p style="text-align: left; text-indent: 18pt;" align="left"><span style="font-family: 宋体;">内存储器是计算机主机的一个组成部分，它与CPU直接进行信息交换，CPU直接读取内存中的数据。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">5.</span><span style="font-family: 宋体;">非零无符号二进制整数之后添加一个0，相当于向左移动了一位，也就是扩大了原来数的2倍。在一个非零无符号二进制整数之后去掉一个0，相当于向右移动一位，也就是变为原数的1/2。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">6.</span><span style="font-family: 宋体;">计算机最主要的工作特点是存储程序与自动控制，其他选项均是其中的一部分特点。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">7.</span><span style="font-family: 宋体;">存储器分为内存储器和外存储器，随机存储器RAM、只读存储器ROM都属于内存储器，RAM有四种类型：DRAM（动态RAM）、SRAM（静态RAM）、CMOS ROM、VRAM（视频RAM）。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">8.</span><span style="font-family: 宋体;">5</span><span style="font-family: 宋体;">位无符号二进制数可以从最小的00000至最大的11111，即最大为2^5-1=31。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">9.</span><span style="font-family: 宋体;">五笔字形码输入法属于形码输入法，它是以汉字的形状特点为每个汉字进行编码，其思想是依据汉字的笔划特征将基本笔划划分为5类并分别赋以代号。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">*</span><span style="font-family: 宋体;">10.</span><span style="font-family: 宋体;">计算机网络按地理区域范围可分为：局域网、城域网和广域网。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">&nbsp;&nbsp;&nbsp;1.</span><span style="font-family: 宋体;">局 域网（local area network，LAN）。其典型应用场合：（1）同一房间内的所有主机，覆盖距离10米数量级。（2）同一房楼宇内的所有主机，覆盖距离100米数量 级。（3）同一校园内、厂区内、院落内的所有主机，覆盖范围在1公里数量级。答案中的Ethernet网、Novell网和<span>Token
Rings</span>网属于局域网。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">&nbsp;&nbsp;&nbsp;2.</span><span style="font-family: 宋体;">城域网（metropolitan area network，MAN）。指所有主机（工作站点）分布在同一城区内。覆盖范围约在10公里数量级。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">&nbsp;&nbsp;&nbsp;3.</span><span style="font-family: 宋体;">广域网（wide area network，WAN）。指在网络中所有主机与工作站点分布的地理范围，能覆盖几公里以上的范围，包括10公里、100公里与1000公里以上的数量级，比如同一城市、同一国家、同一洲甚至跨越几个洲等。Chinanet网属于广域网。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">11.Pentium 4/1.7G</span><span style="font-family: 宋体;">中 的1.7G表示CPU的时钟主频为1.7GHz。计算机的存储系统由高速缓存（Cache）、主存和外存组成，高速缓存的特点是存取速度快、容量小，它存 储的内容是主存中经常被访问的程序和数据的副本。使用它的目的是提高计算机运行速度。运算速度指微机每秒能执行的指令数，单位为MIPS或MFLOPS （<span>Million
FLOating Point Per Second----</span>每秒百万条浮点指令），目前微机的运算速度在200～300MIPS以上，计算机的运算速度受主频和内存速度的制约。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">12.</span><span style="font-family: 宋体;">硬盘容量是指微型计算机硬盘所能容纳信息的字节数。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">13.</span><span style="font-family: 宋体;">汇编语言虽然在编写、修改和阅读程序等方面有了相当的改进，但仍然与人们的要求有一定的距离，仍然是一种依赖于机器的语言。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">14.</span><span style="font-family: 宋体;">不间断电源（UPS）总是直接从电池向计算机供电，当停电时，文件服务器可使用UPS提供的电源继续工作，UPS中包含一个变流器，它可以将电池中的直流电转成纯正的正弦交流电供给计算机使用。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">15.</span><span style="font-family: 宋体;">用<span>C
</span>语言、FORTRAN语言等高级语言编制的源程序，需经编译程序转换为目标程序，然后交给计算机运行。由BASIC语言编制的源程序，经解释程序的翻译， 实现的是边解释、边执行并立即得到运行结果，因而不产生目标程序。用汇编语言编制的程序，需经汇编程序转换为目标程序，然后才能被计算机运行。用数据库语
言编制的源程序，需经数据库管理系统转换为目标程序，才能被计算机执行。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">16.</span><span style="font-family: 宋体;">多媒体计算机是指能综合处理多种媒体信息（如文字、图形、图像、声音等），使多种信息建立联系，并具有交互性的计算机系统。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">17.</span><span style="font-family: 宋体;">八进制数10化成十进制数是1*8^1+0*8^0=8。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 宋体;">十六进制数10化成十进制数是1*16^1+0*16^0=16。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 宋体;">二进制数10化成十进制数是1*2^1+0*2^0=2。 </span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">18.</span><span style="font-family: 宋体;">汉 字机内码是计算机系统内部处理和存储汉字的代码，国家标准是汉字信息交换的标准编码，但因其前后字节的最高位均为0，易与ASCII码混淆。因此汉字的机 内码采用变形国家标准码，以解决与ASCII码冲突的问题。将国家标准编码的两个字节中的最高位改为1即为汉字输入机内码。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">19.</span><span style="font-family: 宋体;">局域网是由网络服务器、工作站或客户机、网络适配器（网卡）、传输介质和网络互连设备组成。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">&nbsp;&nbsp;&nbsp;</span><span style="font-family: 宋体;">网间互连设备有中继器、集线器、网桥、路由器、网关和交换集成器。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">20.</span><span style="font-family: 宋体;">批处理系统不属于交互系统。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">　 由于批处理系统禁止用户与计算机系统的交互，因此比较适合那些对处理时间要求不太严、作业运行步骤比较规范、程序已经过考验的作业。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">21."2000</span><span style="font-family: 宋体;">年问题"是有关计算机处理日期的问题。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">22.CD-ROM</span><span style="font-family: 宋体;">盘片容量要比软件磁盘容量大得多，目前一张CD-ROM盘片可存放的字节数是640MB。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">23.</span><span style="font-family: 宋体;">目前微型计算机的CPU可以处理的二进制位至少为8位。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">24.</span><span style="font-family: 宋体;">在 计算机中，把计算机硬件能够直接识别和执行的命令称之为指令。指令是由一组二进制代码组成，规定了计算机执行程序操作。一台计算机硬件可以识别和执行若干
条指令，一台计算机所能执行的所有指令的集合就是这台计算机的指令系统。指令系统是计算机性能的集中表现，它没有统一的标准，不是所有的计算机指令系统都 相同的。</span></p>
<p style="text-align: left; text-indent: 18pt;" align="left"><span style="font-family: 宋体;">程序就是为解决某一问题而设计组合的一系列指令。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">25.</span><span style="font-family: 宋体;">程序设计语言通常分为：机器语言、汇编语言和高级语言三类。机器语言是计算机唯一能够识别并直接执行的语言。必须用翻释的方法把高级语言源程序翻释成等价的机器语言程序才能在计算机上执行。目前流行的高级语言如C、C++、Visual Basic等。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">26.</span><span style="font-family: 宋体;">正确的电子邮箱地址的格式为：用户名+@+计算机名+机构名+最高域名。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">27.</span><span style="font-family: 宋体;">由 于计算机中的双字节汉字与单字节的西文字符是混合在一起处理的，所以汉字信息如不予以特别的标识，则它与单字节的ASCII码就会混淆不清，无法识别。为 了解决这个问题，采用的方法之一，就是使表示汉字的两个字节的最高位等于"1"。这种高位为1的双字节（16位）汉字编码称为汉字的"机内码"，又称"内 码"。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">28.</span><span style="font-family: 宋体;">所谓软件是指为方便使用计算机和提高使用效率而组织的程序以及用于程序开发、使用、维护的有关文档。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">29.</span><span style="font-family: 宋体;">通常把计数制中使用符号的个数称为该进位制的基数。十进制的基数为10。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">30.</span><span style="font-family: 宋体;">一条指令包括操作码和操作数地址两个部分。操作码指定计算机执行什么类型的操作；操作数地址指明操作数所在的地址和运算结果存放的地方。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">31.Alt</span><span style="font-family: 宋体;">键又称为转换键，Ctrl键又称为控制键，Shift键又称为上档键。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">32.</span><span style="font-family: 宋体;">计算机实际执行程序和加工处理数据时，外存储器中的信息需要先传送入内存储器后才能被CPU使用。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">33.</span><span style="font-family: 宋体;">根据Internet的域名代码规定，域名中的net表示网络中心，com表示商业组织，gov表示政府部门，org表示其他组织。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">34.</span><span style="font-family: 宋体;">一般所说的存储器的管理都是指对内存储器的管理。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">35.</span><span style="font-family: 宋体;">有符号数表示范围是：-32767～32767；无符号数表示范围是：0～65535。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">36.</span><span style="font-family: 宋体;">计算机中的浮点数表示法包括两个部分：一部分是阶码（表示指数，记作E）；另一部分是尾数（表示有效数字，记作M）。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">37.</span><span style="font-family: 宋体;">通常，字节是主存储器中信息的基本编址单元，即一个存储单元存放一个字节。主存单元从0开始依自然数编号，最大地址加1就是存储器的存储容量。例如，存储容量为1KB时，其地址为0--1023（十进制）。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">38.</span><span style="font-family: 宋体;">编译是将用高级语言编写的源程序整个翻译成目标程序，然后将目标程序交给计算机运行；解释是对用高级语言编写的源程序逐行进行分析，边解释、边执行，立即得到运行结果，它不产生目标程序。</span></p>
<p style="text-align: left;" align="left"><span style="font-family: 宋体;">39.</span><span style="font-family: 宋体;">能被计算机直接识别的并执行的二进制代码语言称为机器语言，用助记符表示二进制代码的机器语言称为汇编语言，高级语言是同自然语言和数字语言比较接近的计算机程序设计语言，用高级语言不能直接在机器上运行，需要通过编译程序转换成机器语言，程序才能在机器上执行。</span></p>
<img src ="http://www.blogjava.net/Harriet/aggbug/166594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-12-10 10:49 <a href="http://www.blogjava.net/Harriet/archive/2007/12/10/166594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java知识点</title><link>http://www.blogjava.net/Harriet/archive/2007/12/03/164791.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Mon, 03 Dec 2007 02:21:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/12/03/164791.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/164791.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/12/03/164791.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/164791.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/164791.html</trackback:ping><description><![CDATA[<span>● 用带标号(label)的break和continue代替goto，使得break可以直接跳出到循环外的某个位置，continue跳到当前循环外的循环<br />
label起给给循环命名的作用，在程序中引用label表示跳出label所标示的循环
<p><br />
● 初始化和清除是程序设计安全性的两个最重要的问题</p>
<p>● 创建对象时：1.分配空间&nbsp;&nbsp;&nbsp; 2.调用构造函数对这个对象进行初始化&nbsp;&nbsp;&nbsp; 3.然后把初始化完了对象交给那个引用 </p>
<p>● 重载<br />
在日常生活中，我们用相同的词表达多种不同的含义，即词的&#8220;重载&#8221;。<br />
大多数程序设计语言要求我们为每个函数都设定一个独一无二的标识符。<br />
但是构造函数的出现要求函数名也要能够&#8220;重载&#8221;。<br />
即函数名相同，参数不同的构造函数<br />
使用时各自调用不同的参数构造函数。</p>
<p>构造函数名与类名相同</p>
<p>● 缺省构造函数<br />
如果一个类没有定义构造函数，则编译程序会帮我们自动创建一个缺省构造函数。<br />
但是一旦定义了一个，就不会帮我们自动生成一个。</p>
<p><br />
● this<br />
this关键字可以为已调用了其方法的那个对象生成相应的句柄。<br />
调用这个函数的那个对象--this，即这个函数要作用在哪个对象之上。<br />
在一个构造函数中可以调用一次另一个构造函数，用this(参数)</p>
<p>● 垃圾收集机制<br />
垃圾收集机制只知道怎样释放由new分配的内存，所以它不知道如何释放对象的&#8220;特殊&#8221;内存。一旦垃圾收集机制准备好释放对象中占用的存储空间，他首先调用finalize()。<br />
finalize() 由Object定义</p>
<p>在构造函数内只进行基本的初始化</p>
<p>定义初始化：<br />
一个直接的做法是在定义数据成员的同时也为其赋值<br />
可以调用一个方法进行初始化<br />
在构造函数之前就进行定义初始化</p>
<p>用一个类创建类的对象时，先分配一个空间，依次做成员变量的定义初始化，再调用构造函数。</p>
<p><br />
● 静态数据初始化<br />
静态的东西属于类。<br />
类Class与类对象。<br />
如果一个变量是一个静态变量的话，所有对象里的这个变量的值是同一个。<br />
静态数据成员只在这个类的第一个对象要创建的时候初始化（装载这个类的时候）。</p>
<p>运行java命令后，启动jvm，找到类的定义文件，找到类的定义文件之后，装载；装载完成之后在内存里形成了一个类对象来代表这个类，然后要对这个类对象里的静态成员变量进行初始化</p>
<p>初始化顺序<br />
1.类型为Dog的一个对象首次创建时，或者Dog类的静态方法/数据首次访问时，Java解释器必须找到Dog.class。<br />
2.找到Dog.class后，它的所有的静态初始化模块都会运行。因此，静态初始化仅发生一次。<br />
3.创建一个new Dog()时，new语句首先会在堆里分配一个足够的空间。<br />
4.这个空间将会被清除为零，因此Dog中所有的数据成员都得到了缺省值。<br />
5.执行定义初始化。<br />
6.执行构造函数。<br />
先静态后动态；先定义初始化后构造函数。</p>
<p>● 显式初始化<br />
静态初始化块，地位相当于一条静态初始化语句<br />
定义初始化块，地位相当于一条定义初始化语句</p>
<p>● 数组<br />
数组代表一系列对象或者基本数据类型，所有相同类型的对象都封装在一起——采用一个统一的标识符名称。<br />
数组变量实际上是一个指向数组的句柄（引用），所以推荐使用int[] a这样的书写方式<br />
通常情况下java的数组通过new出来： a1=new int[5]，表示a1是一个引用，指向一个int型数组<br />
使用length</p>
<p>对象数组<br />
对于对象数组，数组的成员实际上是句柄（对象的引用）<br />
对象数组也可以定义初始化<br />
Integer i;&nbsp;&nbsp; i 为对对象的引用</p>
<p>● 隐藏实施过程——访问控制<br />
面向对象程序设计的一个概念：隐藏尽可能多的东西<br />
库创建者应声明哪些是客户程序员可以使用的，哪些是不可一使用的</p>
<p>● 包：库单元<br />
用import来引入包或包里的成员。<br />
import java.util.*;&nbsp;&nbsp;&nbsp; java.util 表示包名&nbsp; *号表示包里的所有类<br />
import java.util.Vector;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 类的全名<br />
目的是在所有对象范围内唯一的标识一个类<br />
之所以要这样的引入，是为了提供一种特殊的机制，来实现命名空间的管理</p>
<p>● 编译单元<br />
每个编译单元必须是以.java结尾的文件名称，在一个编译单元里，可以有一个 public的类，这个类的名字必须与文件的名字相同。在一个单元内，可以有多个类，但只能有一个public的类。<br />
编译一个.java文件时，对应于文件中的每一个类，会得到一个.class文件，文件名与类的名字相同。一个程序是一堆.class文件。 </p>
<p>● 定义包<br />
一个库是一堆这样的.class文件，它们被定义为一个包，但是并不真正地合并在一个文件中。<br />
包没有什么管理机制，包只要声明就可以了 <br />
&nbsp;&nbsp; package mypackage;<br />
&nbsp;&nbsp; public class MyClass;&nbsp; //MyClass这个类就属于mypackage这个包<br />
现在，如果客户程序员想要使用MyClass，就要用import来引入mypackage包，或者是使用MyClass的全名。 <br />
&nbsp;&nbsp;&nbsp; import mypackage;&nbsp;&nbsp;&nbsp; //引入mypackage包<br />
&nbsp;&nbsp;&nbsp; MyClass m = new MyClass(); mypackage.MyClass m = new mypackage.MyClass(); <br />
//使用MyClass的全名</p>
<p>rt.jar&nbsp;&nbsp; java基础类库的所有包<br />
使用jar命令来查看&nbsp;&nbsp; |more</p>
<p><br />
● CLASSPATH<br />
-&nbsp; .表示当前目录&nbsp;&nbsp;&nbsp;&nbsp; d:";.&nbsp; d盘根下是一个搜索的根<br />
- CLASSPATH包含一个或多个目录，它们作为一种特殊的根使用，从这里展开对.class文件的搜索</p>
<p>● 类成员的访问属性<br />
&#8220;Friendly&#8221; （缺省包）<br />
public: 界面访问 (accessor/mutator)<br />
private: 不能接触! <br />
protected: "某种友好"&nbsp; 包内可以访问，子类也可以访问。子类和父类不在一个包的情况下。</p>
<p>● 类的访问控制<br />
一个编译单元（文件）中只能有一个public的类。因此一个编译单元只有一个唯一的公共界面，其余的类都是"friendly"的。 public类的名字必须和文件的名字一样。 <br />
可以，尽管很少见，一个编译单元没有一个public类，所有的类都是"friendly"的，那么文件名可以任意起。 </p>
<p>● 继承<br />
class ThisClass extends SuperClass {<br />
??? //??? class body <br />
} <br />
ThisClass是第三人称弹数，extend要加s---extends</p>
<p>● 传递构造参数<br />
先初始化父类的部分，在初始化自己的<br />
-缺省构造函数<br />
-super(&#8230;)&nbsp; 调用父类的一个构造函数并且传递参数</p>
<p>● 初始化和类的装载<br />
-先父类静态，后子类静态<br />
-先父类定义初始化，父类构造函数<br />
-后子类定义初始化，子类构造函数</p>
<p>● Upcasting<br />
-子类和父类之间的关系是： The new class is a type of the existing class. <br />
-Upcasting是安全的.</p>
<p>● Method call binding<br />
-早绑定（静态绑定））&nbsp; 晚绑定（动态绑定）<br />
-Java中所有的绑定都是晚绑定，除了final的方法<br />
-早绑定有早绑定的优点，晚绑定有晚绑定的优点。但是，晚绑定带来了多态性。<br />
-多态性就是把一个子类的对象当作父类的对象来看待，然后让它执行父类所能执行的函数。<br />
静态绑定：若方法类型为priavte static final 编译器会准确知道该调用哪个方法<br />
动态绑定：是很重要的特性,它能使程序变得可扩展而不需要重编译已存代码</p>
<p>● 多态性<br />
多态性就是指父类的某个方法被其子类重写时，可以各自产生自己的功能行为</p>
<p>● final <br />
final : This cannot be changed <br />
-final for data <br />
-final for methods <br />
-final for a class </p>
<p>● Final data<br />
-只能被赋值一次的变量<br />
-可以看作是常量<br />
final Value v2 -- final的Value类的引用v2，final保护了对象的引用v2不被改变（这个引用的本身不能被改变）但是Value所指的对象是可以改变的</p>
<p>● Final Methods<br />
-有两种final方法：<br />
1.在方法上加上一把锁，防止继承者改变它的意义。<br />
2.编译器把对该方法的调用变成inline（嵌入）调用。<br />
-Private is Final，不存在override问题</p>
<p>● Final classes<br />
-Final classes是不允许被继承的。为防止他人从你的类上派生新类，此类是不可扩展的。主要是安全上的作用。<br />
</p>
<p>● abstract类和abstract方法（抽象类和抽象方法）<br />
可以定义某个类是抽象的（只制造概念）<br />
-一个类的作用仅仅是表达接口，而不是具体的实现细节<br />
-抽象的方法是不完全的，它只是一个声明，没有方法体<br />
-包含一个抽象方法的类被称作抽象类<br />
-不能制造抽象类的对象<br />
-从抽象类继承的类必须override所有父类的抽象方法，否则子类本身成为一个抽象类<br />
-可以声明一个抽象类但是里面没有一个抽象方法<br />
关键字abstract定义抽象类<br />
做这样类的目的是禁止产生这样类的对象</p>
<p>abstract类不能用new运算符创建对象，必须产生其子类，由子类创建对象。<br />
对于abstract方法，只允许声明，而不允许实现<br />
如果一个类是一个abstract类的子类，它必须具体实现父类的abstract方法<br />
如果一个类中含有abstract方法，那么这个类必须用abstract来修饰（abstract也可以没有abstract方法）<br />
一个abstract类只关心它的子类是否具有某种功能，而不关心功能的具体行为，功能的具体行为由子类负责实现</p>
<p>● Interface&nbsp;<br />
——totally abstract class（完全抽象的类）<br />
-Interface在java中的地位和class一样&nbsp; 可以继承<br />
-Interface没有body（也没有构造函数），只表达概念&nbsp;&nbsp; <br />
-在Interface中所有的方法都是public的，即使你没有声明它是public的。<br />
-在Interface中所有的数据成员都是public static final的，即使你没有声名。但不能是blank final<br />
使用implements，表示实现了什么功能<br />
-Interface编译后也生成一个class文件。其实Interface也是class，只不过是一种完全抽象的类</p>
<p>● 实现interface<br />
-实现interface的类，其interface中所有的方法必须被&#8220;实现&#8221;，否则这个类成为一个抽象类。<br />
-所有实现interface中的方法必须被申明为public<br />
-Interface可以从多个Interface得到继承，但是不能继承类。</p>
<p>-为了克服单继承的缺点，Java使用了接口，一个类可以实现多个接口<br />
-接口体中只进行方法的声明，不许提供方法的实现，所以，方法的定义没有方法体，且用分号结尾<br />
-一个类通过使用implements声明自己使用一个或多个接口，如使用多个接口，用逗号隔开接口名<br />
-
要注意的是，接口中的方法被默认是public的，所以类在实现接口方法时，一定要用public来修饰。另外，如接口方法的返回类型不是void的，那
么在类中实现该接口方法时，方法体至少要有一个return语句；如果是void型，类体除了两个大括号外，也可以没有任何语句。<br />
-Java为我们提供的接口都在相应的包中，通过引入包可以使用Java提供的接口，也可以自己定义接口，一个Java源文件就是由类和接口组成的。</p>
<p>● Inner class（内部类）<br />
-In Java 1.1, it is possible to place a class definition within another class definition.<br />
-所谓内部类就是定义在另外一个类内部的类（某个类的定义，在另一个类的内部）<br />
&nbsp;新的消息机制需要有一个类能够访问另外一个类的私有成员<br />
&nbsp;为了解决因为多类类同时继承一个很小的类时，所带来的命名问题。<br />
-什么是使用一个类或访问一个类：用这个类去制造对象<br />
-类里面除了有成员变量、成员函数，还有成员类，实际上内部类可以称之为成员类，成员类也具有成员函数和成员变量一样的属性。成员类可以访问私有变量，成员类里面的所有的成员函数可以访问内部类外面那个类的所有私有变量。<br />
-内部类什么时候被初始化？编译时生成几个class文件？<br />
&nbsp;每个内部类生成一个class文件</p>
<p><br />
1.一个内部类的对象能够访问创建它的对象的实现，包括私有数据 <br />
2.对于同一个包中的其他类来说,内部类能够隐藏起来 <br />
3.匿名内部类可以很方便的定义回调 <br />
4.使用内部类可以非常方便的编写事件驱动程序</p>
<p>● Private inner class<br />
Inner classes可以完全被封闭起来，不被外界所看到</p>
<p>● Why inner classes?<br />
两个理由要在方法和scope中定义inner class: <br />
-我们准备实现某种形式的interface，使自己能创建和返回一个句柄。 <br />
-要解决一个复杂的问题，并希望创建一个类，用来辅助自己的程序，同时不愿意把类的细节公开。</p>
<p><br />
在函数里面定义的类都加一个数字（序号），从1开始<br />
有变量有函数就是一个类，这个类没有名字，是匿名类，生成一个&#8220;父类名$序号&#8221;的class文件<br />
子类送参数给父类的构造函数：在子类的构造函数里用super</p>
<p>如何让内部类访问外部类，被访问的<br />
匿名类没有名字，也就没有构造函数，定义初始化块相当于匿名类的构造函数</p>
<p>● Outter class?<br />
inner classer拥有访问外部类的所有成员的能力，这是使用inner类的主要理由</p>
<p>父类与子类函数与函数之间的关系，如果函数名相同，参数表相同，则构成override的关系。<br />
私有的为静态绑定<br />
inner class 与 inner class 之间不会构成override关系。</p>
<p>● Exception机制处理<br />
但是如果你完全检查任何时刻的错误，你的代码就会变成无法阅读的梦魇。 <br />
所有的函数调用的返回值都要判断，但是可能发生由于嵌套过多而造成代码阅读和维护困难，所以java里使用了try...catch，每一个catch针对一种错误，将事务逻辑与错误处理分开<br />
-使用异常机制，读、写和调试代码变得清晰。它把处理错误的代码和正常的代码分开。</p>
<p>● Throw an exception<br />
-throw new NullPointerException();<br />
-throw new NullPointerException("HERE!");<br />
异常发生时，你不能解决问题，所以必须扔(throw)出一个异常。<br />
1.一个异常对象建立起来了。 <br />
2.当前运行的路径被停止，异常对象被弹出(eject)。 <br />
3.异常处理机制接管，开始寻找一个合适的地方来继续执行。</p>
<p>● Catch an exception<br />
Java的异常机制的好处就在于它使我们在一个地方将精力集中在要解决的问题上，而在另一个地方处理来自那部分代码的异常情况。<br />
&nbsp; try {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp; code that may make exception<br />
&nbsp; } catch ( Type1 id1) {<br />
&nbsp; } catch ( Type2 id2) {<br />
&nbsp; }<br />
catch的匹配不是一种精确匹配，只要这个对象是那个类的对象就可以了<br />
catch不管再多，只需满足一个就结束了。</p>
<p>● Catch all kind of exception<br />
一个捕捉任何异常的捕捉器是一个捕捉基本类型异常的捕捉器。<br />
catch ( Exception e) {<br />
&nbsp;System.out.println("caught an exception")<br />
}<br />
捕捉任何异常的catch</p>
<p>● Interface: Throwable<br />
String getMessage();<br />
String toString();<br />
void printStackTrace();<br />
void printStackTrace(PrintStream);</p>
<p>● Re-throwing<br />
catch (Exception e) {<br />
&nbsp;throw e; <br />
}<br />
-关于fillInStackTrace()<br />
-也可以抛出一个与接收到的异常不同的异常</p>
<p>● Announce for exception<br />
通知客户程序员自己写的方法中可能抛出什么样的异常是一种文明的做法。<br />
&nbsp;void f() throws tooBig, tooSmall, oldStyle {&nbsp;//&nbsp;Body of f() }<br />
如果你要从你的方法中抛出某种异常，你必须申明。 <br />
但是你可以撒谎申明你并不真正抛出的异常。</p>
<p>● Override of exception<br />
当你override一个方法，你只能申明和抛出不比它的父类版本中申明的异常多的异常</p>
<p>● finally</p>
</span>
<img src ="http://www.blogjava.net/Harriet/aggbug/164791.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-12-03 10:21 <a href="http://www.blogjava.net/Harriet/archive/2007/12/03/164791.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java 和 .Net 在异常处理机制上的区别</title><link>http://www.blogjava.net/Harriet/archive/2007/12/03/164789.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Mon, 03 Dec 2007 02:17:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/12/03/164789.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/164789.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/12/03/164789.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/164789.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/164789.html</trackback:ping><description><![CDATA[转载于：http://www.tangrui.net/2007/01/09/difference-between-java-and-dotnet-on-exception-handling/<br />
&nbsp;<br />
关于 Java 和 .Net 优劣的争论一直在继续，而在异常处理方面体现得最为激烈，因为他们之间的差异是如此明显。.Net 晚于
Java 出现，那么 Java 对 .Net 就理应起到很重要的借鉴作用，但是伟大的 Anders Hejlsberg 为什么没有继续
Java
的实现方式，而是另辟蹊径，这是一个非常值得研究的问题。因为我们要承认一个真理：正确的东西大家都是一样的正确，错误的却各有个的错误。可以肯定这不可
能是 Anders 的疏忽，那么他的道理究竟何在，或者说他们之间究竟有什么区别?
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在你能耐下心来看完这篇帖子之前，我想要明确告诉你一个结论：<strong>Java 和 .Net 在异常处理的本质上是没有区别的。</strong></p>
<p style="font-size: 1.5em; font-weight: 600;">一、Java 是如何处理异常的</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果一个 Java 方法要抛出异常，那么需要在这个方法后面用 throws
关键字定义可以抛出的异常类型。倘若没有定义，就认为该方法不抛出任何异常。如果从方法的入口和出口的角度去考虑一下这个规范，我们知道参数可以认为是方
法的入口（当然某些情况下也可以是出口），而返回值则是方法的出口，这是在程序正常执行的情况下，数据从入口入，出口出。要是程序非正常执行，产生异常又
当如何? 被抛出的异常应该如何从方法中释放出来呢? Java
的这种语法规范就如同给异常开了一个后门，让异常可以堂而皇之&#8220;正确&#8221;地从方法里被抛出。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>这样的规范决定了 Java 语法必须强行对异常进行 try-catch。</strong>设想一下，对于以下的方法签名：</p>
<pre>public void foo() throws BarException { ... }<br />
</pre>
<p>暗含了两方面的意思：第一，该方法要抛出 BarException 类型的异常；第二，除了 BarException
外不能抛出其他的异常。而正是这第二点的缘故，我们要如何保证没有除 BarException 之外的任何异常被抛出呢? 很显然，就需要
try-catch 其他的异常。也就是说，一般情况下，<strong>方法不抛出哪些异常就要在方法内部 try-catch 这些异常。</strong>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java 这样的机制既有优点，也有缺点。先来说说优点：</p>
<ul>
    <li>很显然，这种规范是由 Java 编译器决定的。倘若 Java 程序的入口点 main() 方法没有任何异常抛出，就是说要在
    main()
    方法内部，即整个程序内部捕捉所有的异常，否则将无法通过编译。这样编译器保证了程序对每个异常都有相应的计划和处理，不会有未处理的异常被泄露到虚拟机
    中，导致程序意外中断或退出，也就是增强了程序的健壮性。当然，Java 有 RuntimeException
    的概念，这样的异常仍然可以随时被抛出到虚拟机中。</li>
    <li>强行 try-catch 要求把异常作为程序设计的一部分看待。就如同方法的参数和返回值一样，在编写一个方法时，要结合上下文做出通盘的考虑和打算。虽然异常是所谓的&#8220;意外情况&#8221;，但是这些&#8220;例外&#8221;理应是被我们全部了解并处理的。</li>
    <li>方便调试。异常理应在正确的位置被捕捉。当异常发生时，我们能更清楚的了解到其来源和相应处理程序的位置，而免去了在整个调用栈中摸索的麻烦。</li>
    <li>在不借助任何文档的情况下，从方法签名就可以知晓应该对哪些异常进行处理。</li>
</ul>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java
异常处理机制的这些优点也直接导致了他的致命弱点：将程序变得异常繁复。往往一个简单的程序，功能代码寥寥几行，而异常处理部分却占用了程序的绝大部分篇
幅；同时导致缩进深度加深，既不利于书写，也不利于阅读。另外他的强行 try-catch
需要程序员有更高深的造诣，能够通盘考虑异常处理设计问题，这个在程序开始之初或者对于初学者是一个不小的门槛。这往往会阻碍其推广与发展，因为低水平初
学者的信心往往因此而受到打击。然而对于高手来说，编译器是否能帮助他们找到未被处理的异常只是一个方便与否的问题，只要在编写方法时注意了异常处理，即
便没有编译器的支持，情况也不会糟糕太多。反而倒是由于要遵循这样复杂的异常处理规范，以至于大多数人都可能为了图一时方便，对异常的基类型
Exception 或 Throwable
进行笼统地捕捉，这样做的危害就是那些你无法处理的异常被溺死在处理程序中，（按照异常处理原则，我们应该只捕捉那些可以被处理或恢复的异常，而把其他的
异常继续抛出。至于这样做的优势，以及不这样做所带来的问题，不是一两句能够说清楚，这里就不展开讨论了。）导致程序的不稳定和不确定。既没有发挥
Java 语法在这方面的优势，反而增加了忧患。</p>
<p style="font-size: 1.5em; font-weight: 600;">二、.Net 是如何处理异常的</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一句话概括 .Net
的异常处理方式就是随心所欲。没有人要求你一定要抛出异常，也更没有人要求你一定要捕捉异常。未被捕捉的异常会被以 Unhandled
Exception 的形式抛出到虚拟机中。在此我就要先解决一下文章开头提到的问题，为什么说 Java 和 .Net
这两种异常处理机制在本质上是相同的。可以从两个方面来考虑：</p>
<ol>
    <li>默认情况下。Java 在默认情况下 main() 方法是不抛出异常的，正如前面所说的，这要求所有的异常都必须在 main()
    方法内部被捕捉；而 .Net 则没有这种约束，他的 Main()
    以至于整个应用程序中的任何一个方法对异常都是完全开放的。这样来看，这两者刚好是对立互补的。</li>
    <li>非默认情况下。Java 可以通过在 main() 方法后面加 throws 关键字使得整个应用程序对异常开放；而 .Net
    则可以通过给应用程序域（Application Domain）的 UnhandledException
    事件添加委托达到捕捉所有异常的目的，很显然这又是对立互补的。</li>
</ol>
<p>因此，就好像一个是&#8220;正反&#8221;，一个是&#8220;反正&#8221;，加在一起&#8220;正反反正&#8221;都是一样的，对于达到控制异常的目录来说，是没有区别的。
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;很多 Java 爱好者都鄙视 .Net
的这种行为，一方面他令程序变得不够健壮，因为默认情况下没有强制的办法要求所有的异常都被处理，或被正确处理；另外，他为调试增加了困难，不借助文档或
代码你将无法了解到一个方法可能抛出什么异常，而当一个异常被抛出的时候，同时异常处理代码又写得不够完善，你将不得不仔细查看整个调用栈来确定异常出现
的位置，而对于这一点 Java 默认是强制的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但是 Anders 的想法总是有道理的。</p>
<ol>
    <li>.Net
    代码写起来非常容易。这是对于初学者，或者那些只是想实现一些测试性小功能的人而言，你完全没有必要考虑太多异常处理的细节，你要的就是写代码，然后让他
    跑起来。这样的简单性无疑是你希望看到的，这样的简单性无疑更有利于 .Net
    在市场上的推广。由于他在这方面并没有什么理论上的漏洞，也就仍然适合构建庞大的项目，只是感觉没有那么舒服罢了。</li>
    <li>一定程度上增加了程序的安全性。难道不捕捉异常可以被成为是安全的吗?这个话也许要从另外一方面来想，前面说过，有些 Java
    程序员（绝对不占少数）为了图省事，在强行捕捉异常的压迫下，选择捕捉异常的基类型，也就是捕捉所有的异常。这样当有你无法处理的异常出现时，他们就溺死
    在了你的代码中，而外面的程序全然不知，还在以一种不确定的状态运行着，这就可能是危险的开始。而如果是 .Net，那么 Unhandled
    Exception 会被虚拟机捕获，导致程序异常退出，虽然这从面子上对于用户不是一个好的交代，但是深层次地他避免了程序在危险的状态下继续运行。</li>
</ol>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;总之，萝卜白菜各有所爱。我的这篇帖子力求公正地讨论了这个问题，希望能对你有所帮助。</p>
<script type="text/javascript"><!--
google_ad_client = "pub-9635604832457057";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as_rimg";
google_cpa_choice = "CAAQycb8zwEaCNrmdvgKt1bFKJnA93M";
google_ad_channel = "";
//--></script>
<p>
</p>
<img src ="http://www.blogjava.net/Harriet/aggbug/164789.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-12-03 10:17 <a href="http://www.blogjava.net/Harriet/archive/2007/12/03/164789.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Myeclipse中Tomcat的两种部署方式</title><link>http://www.blogjava.net/Harriet/archive/2007/11/23/162565.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Fri, 23 Nov 2007 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/11/23/162565.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/162565.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/11/23/162565.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/162565.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/162565.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 来公司实习也有一段时间了，之前我一直用自己在网上找的一种Tomcat的部署方法，后来在同事那发现另一种方法，我发现这种方法更简便，现在我将这两种方法总结如下，当然，这里我只做开发时的简单步骤讲解，深入部分，请大家参考相关资料。&nbsp;&nbsp;<a href='http://www.blogjava.net/Harriet/archive/2007/11/23/162565.html'>阅读全文</a><img src ="http://www.blogjava.net/Harriet/aggbug/162565.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-11-23 10:58 <a href="http://www.blogjava.net/Harriet/archive/2007/11/23/162565.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自己编写的一个用struts+spring实现的登陆实例</title><link>http://www.blogjava.net/Harriet/archive/2007/11/23/162540.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Fri, 23 Nov 2007 02:41:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/11/23/162540.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/162540.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/11/23/162540.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/162540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/162540.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 刚接触struts不久，公司又要我学spring，然后把两者结合起来用。于是我在网上找了很多的有关struts+spring的例子，但基本上都是struts+spring+hibernate的，而我们公司不用hibernate。后来，我就在struts的基本上，再学习怎么把spring加入的例子，然后根据它的原理重新编写一本书上用struts实现的例子。&nbsp;&nbsp;<a href='http://www.blogjava.net/Harriet/archive/2007/11/23/162540.html'>阅读全文</a><img src ="http://www.blogjava.net/Harriet/aggbug/162540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-11-23 10:41 <a href="http://www.blogjava.net/Harriet/archive/2007/11/23/162540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> Struts-config.xml配置文件讲解</title><link>http://www.blogjava.net/Harriet/archive/2007/11/22/162432.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Thu, 22 Nov 2007 10:11:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/11/22/162432.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/162432.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/11/22/162432.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/162432.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/162432.html</trackback:ping><description><![CDATA[Struts的核心是struts-config.xml配置文件，在这个文件里描述了所有的Struts组件。在这里包括配置主要的组件及次要的组件，下面是struts-config.xml包含主要元素的内容：<br />
<br />
一、&nbsp;&nbsp;&nbsp;&nbsp;struts-config.xml的主要元素：<br />
&lt;?xml version=&#8221;1.0&#8221; encoding=&#8221;ISO-8859-1&#8221;?&gt;<br />
&lt;!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"<br />
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"&gt;<br />
&lt;struts-config&gt;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&lt;data-sources&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;data-source&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/data-source&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/data-sources&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&lt;form-beans&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form-bean / &gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/form-beans&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&lt;global-forwards&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;forward / &gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/global-forwards&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&lt;action-mappings&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;action / &gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/action-mappings&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&lt;controller / &gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&lt;message-resources / &gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&lt;plug-in /&gt;<br />
<br />
&lt;/struts-config&gt;<br />
<span style="color: red;"><span style="color: #ed68ff;">
注意：以上各元素的顺序是非常重要的，你的struts-config.xml配置文件必须按照这个顺序进行配置，否则在你的容器启动的时候就会出错。</span></span><br />
<br />
二、&nbsp;&nbsp;&nbsp;&nbsp;struts-config.xml的子元素：<br />
1．&lt;icon / &gt;子元素<br />
&nbsp;&nbsp;&nbsp;它包含&lt;small-icon / &gt;及&lt;large-icon /
&gt;，它的作用是图形化其父元素，&lt;small-icon/&gt;的内容是一个16x16的图像文件，而&lt;large-
icon/&gt;的内容是一个32x32的图像文件。如下例子：<br />
&nbsp;&nbsp;&nbsp;&lt;icon&gt;<br />
&lt;small-icon&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/images/smalllogo.gif<br />
&lt;/small-icon&gt;<br />
&lt;large-icon&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;/images/largelogo.gif<br />
&lt;/large-icon&gt;<br />
&lt;/icon&gt;<br />
2．&lt;display-name / &gt;子元素<br />
&nbsp;&nbsp;&nbsp;它提供对父元素的短文字（short textual）描述信息，如下：<br />
&nbsp;&nbsp;&nbsp;&lt;display-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;short textual discription of its parent element<br />
&nbsp;&nbsp;&nbsp;&lt;/display-name&gt;<br />
3．&lt;description / &gt;子元素<br />
&nbsp;&nbsp;&nbsp;它提供对父元素的完全（full-length textual）的描述信息，如下：<br />
&lt;description&gt;<br />
full-length textual discription of its parent element<br />
&lt;/description&gt;<br />
4．&lt;set-property / &gt;子元素<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;它用来设置它的父元素中设定的JavaBean的属性值，它一般用在指定的GenericDataSource 属性，扩展的ActionMappings以及扩展的 global forwards。如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;set-property <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;property="name of bean property"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
value="value of bean property" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;set-property property="driverClass" value="org.gjt.mm.mysql.Driver" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;set-property property="user" value="admin"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;set-property property="maxCount" value="4"/&gt;<br />
&lt;set-property property="minCount" value="2"/&gt; <br />
&lt;set-property property="password" value=""/&gt; <br />
&lt;set-property property="url" value="jdbc:mysql://localhost:3306/struts"/&gt;<br />
<br />
三、&nbsp;&nbsp;&nbsp;&nbsp;配置JDBC数据源<br />
其配置形式如下：<br />
&lt;data-sources&gt;<br />
&lt;data-source&gt;<br />
&lt;set-property property="driverClass" value="fully qualified path of JDBC driver"/&gt;<br />
&lt;set-property property="url" value="data source URL"/&gt;<br />
&lt;set-property property=&#8221;mincount&#8221; value="the minimum number of connections to open"/&gt;<br />
&lt;set-property property="password" value="the password used to create connections"/&gt;<br />
&lt;set-property property="user" value="the username used to create connections"/&gt;<br />
&lt;/data-source&gt;<br />
&lt;/data-sources&gt;<br />
&lt;data-source&gt;的属性及其描述信息如下：<br />
属&nbsp;&nbsp;性&nbsp;&nbsp;&nbsp;&nbsp;描 述 信 息<br />
Key&nbsp;&nbsp;&nbsp;&nbsp;绑定在ServletContext上的DataSource实例的索引键，若不设定则缺省为Action.DATA_SOURCE_KEY，如果在应用程序中有多于一个的DataSource，则必须设置Key的值。<br />
DriverClass&nbsp;&nbsp;&nbsp;&nbsp;所用的JDBC驱动类(必须的)如：com.microsoft.jdbc.sqlserver.SQLServerDriver<br />
url&nbsp;&nbsp;&nbsp;&nbsp;所用的JDBC的URL(必须的)如：jdbc:microsoft:sqlserver://xg088:1433<br />
MaxCount&nbsp;&nbsp;&nbsp;&nbsp;同时打开的最大连结数，缺省值为2(可选的)<br />
MinCount&nbsp;&nbsp;&nbsp;&nbsp;同时打开的最小连结数，缺省值为1(可选的)<br />
User&nbsp;&nbsp;&nbsp;&nbsp;连结到数据库的用户名(必须的)<br />
Password&nbsp;&nbsp;&nbsp;&nbsp;连结到数据库的密码(必须的)<br />
Description&nbsp;&nbsp;&nbsp;&nbsp;关于DataSource的描述信息(可选的)<br />
ReadOnly&nbsp;&nbsp;&nbsp;&nbsp;如果设为true，则表示该连结是只读的，缺省为false。(可选的)<br />
LoginTimeout&nbsp;&nbsp;&nbsp;&nbsp;创建连结的最大允许时间，以秒为单位。(可选的)<br />
AutoCommit&nbsp;&nbsp;&nbsp;&nbsp;如果为true，则每次execute之后会强制回滚。缺省为true。(可选的)<br />
举例说明：<br />
&lt;data-sources&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;data-source&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;set-property property=&#8221;key&#8221; value=&#8221; value="WILEY_DATA_SOURCE" /&gt;<br />
&lt;set-property property="driverClass" value="org.gjt.mm.mysql.Driver" /&gt;<br />
&lt;set-property property="url" value="jdbc:mysql://localhost/wileyusers" /&gt;<br />
&lt;set-property property="maxCount" value="5"/&gt;<br />
&lt;set-property property="minCount" value="1"/&gt;<br />
&lt;set-property property="user" value="sa"/&gt;<br />
&lt;set-property property="password" value="yourpassword"/&gt;<br />
&lt;/data-source&gt;<br />
&lt;/data-sources&gt;<br />
<br />
四、&nbsp;&nbsp;&nbsp;&nbsp;配置FormBean<br />
&lt;form-bean / &gt;用来定义将要绑定到Action的FormBean的实例。语法如下：<br />
&lt;form-beans&gt;<br />
&lt;form-bean name="name used to uniquely identify a FormBean"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type=&#8221;fully qualified class name of FormBean"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form-beans&gt;<br />
例：<br />
&lt;form-beans&gt;<br />
&lt;form-bean name="lookupForm" type="wiley.LookupForm" /&gt;<br />
&lt;/form-beans&gt;<br />
<br />
五、&nbsp;&nbsp;&nbsp;&nbsp;配置全局转发<br />
全局转发可以定义几个&lt;forward/&gt;子元素，struts首先会在&lt;action-mappings&gt;元素中找对应的&lt;forward&gt;，若找不到，则到全局转发配置中找。语法如下：<br />
&lt;global-forwards&gt;<br />
&lt;forward name="unique target identifier" <br />
path="context-relative path to targetted resource "/&gt;<br />
&lt;/global-forwards&gt;<br />
除了name及path属性之外，还有一个redirect属性，如果redirect设为true的时候，则用
HttpServletResponse.sendRedirect()方法，否则用RequestDispatcher.forward()方法，缺省
为false。<br />
注：如果为true，则用HttpServletResponse.sendRedirect()方法，此时存储在原来的HttpServletRequest中的值将会丢失。<br />
例子：<br />
&lt;global-forwards&gt;<br />
&lt;forward name="success" path="/welcome.jsp"/&gt;<br />
&lt;forward name="failure" path="/index.jsp"/&gt;<br />
&lt;/global-forwards&gt;<br />
六、&nbsp;&nbsp;&nbsp;&nbsp;配置&lt;action-mappings&gt;<br />
它可以定义几个&lt;action / &gt;子元素，它主要是定义Action实例到ActionServlet类中，语法如下：<br />
&lt;action-mappings&gt;<br />
&lt;action path="context-relative path mapping action to a request"<br />
type="fully qualified class name of the Action class"<br />
name="the name of the form bean bound to this Action"&gt;<br />
&lt;forward name="forwardname1" path="context-relative path"/&gt;<br />
&lt;forward name="forwardname2" path="context-relative path"/&gt;<br />
&lt;/action&gt;<br />
&lt;/action-mappings&gt;<br />
&lt;action/&gt;属性及其描述信息如下：<br />
属&nbsp;&nbsp;性&nbsp;&nbsp;&nbsp;&nbsp;描 述 信 息<br />
Path&nbsp;&nbsp;&nbsp;&nbsp;在浏览器的URL中输入的字符(必须的)<br />
Type&nbsp;&nbsp;&nbsp;&nbsp;连结到本映射的Action的全称(可选的)<br />
Name&nbsp;&nbsp;&nbsp;&nbsp;与本操作关联的Action Bean在&lt;form-bean/&gt;中定义name名(可选的)<br />
Scope&nbsp;&nbsp;&nbsp;&nbsp;指定ActionForm Bean的作用域(session和request)，缺省为session。(可选的)<br />
Input&nbsp;&nbsp;&nbsp;&nbsp;当Bean发生错误时返回的控制。(可选的)<br />
ClassName&nbsp;&nbsp;&nbsp;&nbsp;指定一个调用这个Action类的ActionMapping类的全名。缺省用org.apache.struts.action.ActionMapping，(可选的)<br />
Forward&nbsp;&nbsp;&nbsp;&nbsp;指定处理相应请求所对应的JSP页面。(可选的)<br />
Include&nbsp;&nbsp;&nbsp;&nbsp;如果没有forward的时候，它起forward的作用。(可选的)<br />
Validate&nbsp;&nbsp;&nbsp;&nbsp;若为true，则会调用ActionForm的validate()方法，否则不调用，缺省为true。（可选的）<br />
例子：<br />
&lt;action-mappings&gt;<br />
&lt;action path="/lookupAction" <br />
type="wiley.LookupAction"<br />
name="LookupForm"<br />
scope="request"<br />
validate="true"<br />
input="/index.jsp"&gt;<br />
&lt;forward name="success" path="/quote.jsp"/&gt;<br />
&lt;forward name="faliue" path="/index.jsp"/&gt;<br />
&lt;/action&gt;<br />
&lt;/action-mappings&gt;<br />
<br />
七、&nbsp;&nbsp;&nbsp;&nbsp;配置RequestProcessor<br />
在struts-config.xml文件中用&lt;controller/&gt;子元素来定义RequestProcessor，其语法格式如下：<br />
&lt;controller processorClass="fully qualified class name" /&gt;<br />
&lt;controller /&gt;元素属性及其描述信息如下：<br />
属&nbsp;&nbsp;性&nbsp;&nbsp;&nbsp;&nbsp;描&nbsp;&nbsp;述<br />
processorClass&nbsp;&nbsp;&nbsp;&nbsp;指定自定义的RequestProcessor类的全名<br />
BufferSize&nbsp;&nbsp;&nbsp;&nbsp;指定用来下载所用的缓存大小。缺省是4096字节。<br />
contentType&nbsp;&nbsp;&nbsp;&nbsp;定义response文本类型，缺省是text/html<br />
Debug&nbsp;&nbsp;&nbsp;&nbsp;定义当前系统的除错级别，缺省是0<br />
Locale&nbsp;&nbsp;&nbsp;&nbsp;如果是true，则在用户的session中存放Locale对象，缺省为true<br />
maxFileSize&nbsp;&nbsp;&nbsp;&nbsp;指定下载文件最大的大小。缺省是250M<br />
multipartClass&nbsp;&nbsp;&nbsp;&nbsp;指定去代替org.apache.struts.upload.DiskMultipartRequestHandler类的类的全名。<br />
Nocache&nbsp;&nbsp;&nbsp;&nbsp;如果是true，则会关闭每个response的缓存功能。缺省是false<br />
TempDir&nbsp;&nbsp;&nbsp;&nbsp;指定上载文件所用的临时目录。缺省值由容器决定<br />
例子：<br />
① &lt;controller processorClass="wiley.WileyRequestProcessor" /&gt;<br />
② &lt;controller<br />
&nbsp;&nbsp;&nbsp;&nbsp;contentType="text/html;charset=UTF-8"<br />
&nbsp;&nbsp;&nbsp;&nbsp;debug="3"<br />
&nbsp;&nbsp;&nbsp;&nbsp;locale="true"<br />
&nbsp;&nbsp;&nbsp;&nbsp;nocache="true"<br />
&nbsp;&nbsp;&nbsp;&nbsp;processorClass="org.apache.struts.action.RequestProcessor"/&gt;<br />
八、&nbsp;&nbsp;&nbsp;&nbsp;配置Message Resources<br />
在struts-config.xml文件中用&lt;message-resources /&gt;元素来定义消息资源。其语法如下：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;message-resources&nbsp;&nbsp;parameter="wiley.ApplicationResources"/&gt;<br />
&lt;message-resources /&gt;元素属性及其描述信息如下：<br />
属&nbsp;&nbsp;性&nbsp;&nbsp;&nbsp;&nbsp;描&nbsp;&nbsp;述<br />
Parameter&nbsp;&nbsp;&nbsp;&nbsp;给定资源文件全名<br />
ClassName&nbsp;&nbsp;&nbsp;&nbsp;定义处理消息资源的类名的全名，缺省是org.apache.struts.config.MessageResourcesConfig<br />
Factory&nbsp;&nbsp;&nbsp;&nbsp;定义MessageResourcesFactory类的全名，缺省是org.apache.struts.util.property.MessageResourcesFacotry<br />
Key&nbsp;&nbsp;&nbsp;&nbsp;定义绑定在这个资源包中的ServletContext的属性主键，缺省值是Action.MESSAGES_KEY.<br />
Null&nbsp;&nbsp;&nbsp;&nbsp;如果为true，则找不到消息key时，则返回null，缺省是true.<br />
例子：<br />
① &lt;message-resources parameter="wiley.ApplicationResources"/&gt;<br />
② &lt;message-resources<br />
&nbsp;&nbsp;&nbsp;&nbsp;parameter="StorefrontMessageResources"<br />
&nbsp;&nbsp;&nbsp;&nbsp;null="false"/&gt;<br />
&lt;message-resources<br />
&nbsp;&nbsp;&nbsp;&nbsp;key="IMAGE_RESOURCE_KEY"<br />
&nbsp;&nbsp;&nbsp;&nbsp;parameter="StorefrontImageResources"<br />
&nbsp;&nbsp;&nbsp;&nbsp;null="false"/&gt;<br />
注意：设定key的目的如下：<br />
&lt;html:img altKey="navbar.home.image.alt" bundle="IMAGE_RESOURCE_KEY"
pageKey="navbar.home.image" width="125" height="15" border="0"/&gt;<br />
这里说明要到StorefrontImageResources.properties资源文件中找主键值是&#8221;navbar.home.image&#8221;所对应的值。<br />
这里StorefrontImageResources.properties的内容如下：<br />
&#8230;&#8230;<br />
navbar.home.image=/images/home.gif<br />
navbar.home.image.alt=Home<br />
&#8230;&#8230;<br />
此处navbar.home.image.alt说明的和&lt;img alt=&#8221;Home&#8221;&#8230;&#8230;/&gt;一样。<br />
九、&nbsp;&nbsp;&nbsp;&nbsp;配置Plug-in<br />
配置Plug-in如下：<br />
&lt;plug-in className="wiley.WileyPlugin"/&gt;<br />
也可如下：<br />
&lt;plug-in className="com.oreilly.struts.storefront.service.memory.StorefrontMemoryDatabasePlugIn"&gt;<br />
&nbsp;&nbsp;&lt;set-property property="pathname" value="/WEB-INF/database.xml"/&gt;<br />
&lt;/plug-in&gt;<br />
<img src ="http://www.blogjava.net/Harriet/aggbug/162432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-11-22 18:11 <a href="http://www.blogjava.net/Harriet/archive/2007/11/22/162432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的第一个spring学习——用myeclipse开发spring</title><link>http://www.blogjava.net/Harriet/archive/2007/11/22/162317.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Thu, 22 Nov 2007 06:01:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/11/22/162317.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/162317.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/11/22/162317.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/162317.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/162317.html</trackback:ping><description><![CDATA[<p><span style="font-size: 10.5pt; font-family: Batang;">我</span><span style="font-size: 10.5pt; font-family: 宋体;">个</span><span style="font-size: 10.5pt; font-family: Batang;">人</span><span style="font-size: 10.5pt; font-family: 宋体;">认为真</span><span style="font-size: 10.5pt; font-family: Batang;">正的程序</span><span style="font-size: 10.5pt; font-family: 宋体;">开发</span><span style="font-size: 10.5pt; font-family: Batang;">人</span><span style="font-size: 10.5pt; font-family: 宋体;">员应该</span><span style="font-size: 10.5pt; font-family: Batang;">是大部分都用快捷</span><span style="font-size: 10.5pt; font-family: 宋体;">键</span><span style="font-size: 10.5pt; font-family: Batang;">的。以前，很多次java</span><span style="font-size: 10.5pt; font-family: 宋体;">课</span><span style="font-size: 10.5pt; font-family: Batang;">后我</span><span style="font-size: 10.5pt; font-family: 宋体;">们</span><span style="font-size: 10.5pt; font-family: Batang;">去</span><span style="font-size: 10.5pt; font-family: 宋体;">问</span><span style="font-size: 10.5pt; font-family: Batang;">老</span><span style="font-size: 10.5pt; font-family: 宋体;">师问题时</span><span style="font-size: 10.5pt; font-family: Batang;">，他</span><span style="font-size: 10.5pt; font-family: 宋体;">总</span><span style="font-size: 10.5pt; font-family: Batang;">是"</span><span style="font-size: 10.5pt; font-family: 宋体;">啪啪啪</span><span style="font-size: 10.5pt; font-family: Batang;">"</span><span style="font-size: 10.5pt; font-family: Batang;">地代</span><span style="font-size: 10.5pt; font-family: 宋体;">码</span><span style="font-size: 10.5pt; font-family: Batang;">一</span><span style="font-size: 10.5pt; font-family: 宋体;">会</span><span style="font-size: 10.5pt; font-family: Batang;">跳</span><span style="font-size: 10.5pt; font-family: 宋体;">这</span><span style="font-size: 10.5pt; font-family: Batang;">一</span><span style="font-size: 10.5pt; font-family: 宋体;">会</span><span style="font-size: 10.5pt; font-family: Batang;">跳那，看得我</span><span style="font-size: 10.5pt; font-family: 宋体;">们</span><span style="font-size: 10.5pt; font-family: Batang;">眼花</span><span style="font-size: 10.5pt; font-family: 宋体;">缭乱</span><span style="font-size: 10.5pt; font-family: Batang;">。</span><span style="font-size: 10.5pt; font-family: 宋体;">当时</span><span style="font-size: 10.5pt; font-family: Batang;">，我就</span><span style="font-size: 10.5pt; font-family: 宋体;">羡</span><span style="font-size: 10.5pt; font-family: Batang;">慕死了，心想：以后我也要</span><span style="font-size: 10.5pt; font-family: 宋体;">这样</span><span style="font-size: 10.5pt; font-family: Batang;">！<span><br />
</span></span><span style="font-size: 10.5pt; font-family: 宋体;">现</span><span style="font-size: 10.5pt; font-family: Batang;">在，</span><span style="font-size: 10.5pt; font-family: 宋体;">虽</span><span style="font-size: 10.5pt; font-family: Batang;">然我</span><span style="font-size: 10.5pt; font-family: 宋体;">还没</span><span style="font-size: 10.5pt; font-family: Batang;">有到他那</span><span style="font-size: 10.5pt; font-family: 宋体;">样</span><span style="font-size: 10.5pt; font-family: Batang;">的水平，但是我</span><span style="font-size: 10.5pt; font-family: 宋体;">还</span><span style="font-size: 10.5pt; font-family: Batang;">是</span><span style="font-size: 10.5pt; font-family: 宋体;">尽</span><span style="font-size: 10.5pt; font-family: Batang;">量</span><span style="font-size: 10.5pt; font-family: 宋体;">会</span><span style="font-size: 10.5pt; font-family: Batang;">用快捷</span><span style="font-size: 10.5pt; font-family: 宋体;">键</span><span style="font-size: 10.5pt; font-family: Batang;">。<span><br />
</span>下面就用到一些常到的快捷</span><span style="font-size: 10.5pt; font-family: 宋体;">键</span><span style="font-size: 10.5pt; font-family: Batang;">：<span><br />
&nbsp; ctrl+a:</span>全</span><span style="font-size: 10.5pt; font-family: 宋体;">选</span><span style="font-size: 10.5pt; font-family: Batang;"><br />
&nbsp; ctrl+c:</span><span style="font-size: 10.5pt; font-family: 宋体;">复</span><span style="font-size: 10.5pt; font-family: Batang;">制<span><br />
&nbsp; ctrl+v:</span>粘</span><span style="font-size: 10.5pt; font-family: 宋体;">贴</span><span style="font-size: 10.5pt; font-family: Batang;"><br />
</span><span style="font-size: 10.5pt; font-family: Batang;">我常用的</span><span style="font-size: 10.5pt; font-family: 宋体;">还</span><span style="font-size: 10.5pt; font-family: Batang;">有shift/Home/End+上下左右</span><span style="font-size: 10.5pt; font-family: 宋体;">键</span><span style="font-size: 10.5pt; font-family: Batang;"><br />
</span><span style="font-size: 10.5pt; font-family: Batang;">大家有</span><span style="font-size: 10.5pt; font-family: 宋体;">哪</span><span style="font-size: 10.5pt; font-family: Batang;">些常用的快捷</span><span style="font-size: 10.5pt; font-family: 宋体;">键啊</span><span style="font-size: 10.5pt; font-family: Batang;">，</span><span style="font-size: 10.5pt; font-family: 宋体;">说</span><span style="font-size: 10.5pt; font-family: Batang;">出</span><span style="font-size: 10.5pt; font-family: 宋体;">来</span><span style="font-size: 10.5pt; font-family: Batang;">大家分享分享</span><span style="font-size: 10.5pt;"><span><br />
<br />
</span></span>
</p>
<p><span style="font-size: 10.5pt; color: fuchsia;">对</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">于</span><span style="font-size: 10.5pt; color: fuchsia;">对</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">Myeclipse</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">不熟悉却</span><span style="font-size: 10.5pt; color: fuchsia;">还</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">要用它来</span><span style="font-size: 10.5pt; color: fuchsia;">开发</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">spring</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">的初学者来</span><span style="font-size: 10.5pt; color: fuchsia;">说</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">，是比</span><span style="font-size: 10.5pt; color: fuchsia;">较</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">有困</span><span style="font-size: 10.5pt; color: fuchsia;">难</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">的，因</span><span style="font-size: 10.5pt; color: fuchsia;">为</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">我就是</span><span style="font-size: 10.5pt; color: fuchsia;">这样过</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">来的。所以，我做了个flash演示</span><span style="font-size: 10.5pt; color: fuchsia;">项</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">目的 </span><span style="font-size: 10.5pt; font-family: BatangChe; color: fuchsia;">步</span><span style="font-size: 10.5pt; color: fuchsia;">骤</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">，但是太大了，上</span><span style="font-size: 10.5pt; color: fuchsia;">传</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">不了。</span><span style="font-size: 10.5pt; color: fuchsia;">对</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">于我</span><span style="font-size: 10.5pt; color: fuchsia;">这</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">个</span><span style="font-size: 10.5pt; color: fuchsia;">刚</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">注册blogjava的新手来</span><span style="font-size: 10.5pt; color: fuchsia;">说</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">，有些功能</span><span style="font-size: 10.5pt; color: fuchsia;">还</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">不太清楚。</span><span style="font-size: 10.5pt; color: fuchsia;">现</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">在我先把</span><span style="font-size: 10.5pt; font-family: BatangChe; color: fuchsia;">步</span><span style="font-size: 10.5pt; color: fuchsia;">骤</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">写下来，等以后我有</span><span style="font-size: 10.5pt; color: fuchsia;">时间</span><span style="font-size: 10.5pt; font-family: &quot;MS Mincho&quot;; color: fuchsia;">把 blogjava弄明白了，看能不能再把那个flash上传上来。</span></p>
<p><span style="font-size: 10.5pt;">步骤：</span></p>
<p><span style="font-size: 10.5pt;">第一步：建工程<span><br />
&nbsp;&nbsp; File -&gt; New -&gt; Project -&gt;Web Project,"Project
Name":MySpringTest,</span>然后<span>"Finish";<br />
<br />
</span>第二步：导入spring包<span><br />
&nbsp;&nbsp; </span>选中MySpringTest,右击<span>,MyEclipse
-&gt; Add Spring Capabilities</span>&#8230;&#8230;,都默认即可；<span><br />
<br />
</span>第三步：<span><br />
&nbsp;&nbsp; </span>建立项目所需类；<span>MySpringTest -&gt; src -&gt; New
...</span>（以下三个都这样建）<span><br />
<br />
Spring </span>的开发没法自动生成 Bean， 这里大家只好手工来写了， 也很简单。<span><br />
<br />
1</span>、接口Action:（<span>MySpringTest -&gt;
src -&gt; New -&gt; interface ,</span>取名为Action）</span></p>
<span style="font-family: 宋体;">
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">interface</span><span style="color: #000000;">&nbsp;Action&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;execute(String&nbsp;str);<br />
}<br />
</span></div>
<br />
</span>
<p><span style="font-size: 10.5pt;">2</span><span style="font-size: 10.5pt;">、实现接口Action的类UpperAction:</span>（<span style="font-size: 10.5pt; font-family: 宋体; color: #339966;">将其</span><span style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; color: #339966;"> message </span><span style="font-size: 10.5pt; font-family: 宋体; color: #339966;">属性与输入字符串相连接，并返回其大写形式。</span>）<br />
</p>
<span style="font-family: 宋体;">
&nbsp;&nbsp; （<span style="font-size: 10.5pt; font-family: 宋体;">MySpringTest -&gt; src -&gt; New -&gt; class ,取名为UpperAction</span>）
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;UpperAction&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Action{<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;String&nbsp;message;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;getMessage()&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;message;<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;setMessage(String&nbsp;message)&nbsp;{<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.message&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;message;<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;execute(String&nbsp;str){<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;(getMessage()</span><span style="color: #000000;">+</span><span style="color: #000000;">str).toUpperCase();<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">16</span>&nbsp;</div>
</span><br />
<p><span style="font-size: 10.5pt;">3</span><span style="font-size: 10.5pt;">、实现接口Action的类LowerAction:</span></p>
<span style="font-family: 宋体;">（<span style="font-size: 10.5pt; font-family: 宋体; color: #339966;">将其</span><span style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; color: #339966;"> message </span><span style="font-size: 10.5pt; font-family: 宋体; color: #339966;">属性与输入字符串相连接，并返回其小写形式。</span>）<br />
&nbsp;&nbsp; （<span style="font-size: 10.5pt; font-family: 宋体;">MySpringTest -&gt; src -&gt; New -&gt; class ,取名为LowerAction</span>）<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;LowerAction&nbsp;</span><span style="color: #0000ff;">implements</span><span style="color: #000000;">&nbsp;Action{<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">private</span><span style="color: #000000;">&nbsp;String&nbsp;message;<br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;getMessage()&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;message;<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;setMessage(String&nbsp;message)&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.message&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;message;<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;String&nbsp;execute(String&nbsp;str){<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">(getMessage()</span><span style="color: #000000;">+</span><span style="color: #000000;">str).toLowerCase();<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">15</span>&nbsp;</div>
<br />
4、做测试用的SimpleTest类：<br />
（<span style="font-size: 10.5pt; font-family: 宋体;">MySpringTest -&gt; src -&gt; New -&gt; class ,取名为SimpleTest</span>）<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.springframework.context.ApplicationContext;<br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;org.springframework.context.support.FileSystemXmlApplicationContext;<br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;SimpleTest&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;main(String&nbsp;args[])<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleTest&nbsp;test</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;SimpleTest();<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test.testQuickStart();<br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;testQuickStart(){<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ApplicationContext&nbsp;ctx</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;FileSystemXmlApplicationContext(</span><span style="color: #000000;">"</span><span style="color: #000000;">src/bean.xml</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Action&nbsp;action</span><span style="color: #000000;">=</span><span style="color: #000000;">(Action)ctx.getBean(</span><span style="color: #000000;">"</span><span style="color: #000000;">action1</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(action.execute(</span><span style="color: #000000;">"</span><span style="color: #000000;">Rod&nbsp;Johnson</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;action</span><span style="color: #000000;">=</span><span style="color: #000000;">(Action)ctx.getBean(</span><span style="color: #000000;">"</span><span style="color: #000000;">action2</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(action.execute(</span><span style="color: #000000;">"</span><span style="color: #000000;">jeckj</span><span style="color: #000000;">"</span><span style="color: #000000;">));<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">}<br />
</span><span style="color: #008080;">18</span>&nbsp;</div>
<br />
第四步：配置applicationContext.xml文件<span style="color: #008080;"><br />
<br />
</span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;!</span><span style="color: #ff00ff;">DOCTYPE&nbsp;beans&nbsp;PUBLIC&nbsp;"-//SPRING//DTD&nbsp;BEAN//EN"&nbsp;"http://www.springframework.org/dtd/spring-beans.dtd"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">beans</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">description</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Spring&nbsp;Quick&nbsp;Start</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">description</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">&lt;!--</span><span style="color: #008000;">该处bean中的name值必须是&nbsp;其对应的class中的私有成员名<br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">--&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="action1"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="UpperAction"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="message"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">value</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">HeLLo</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">value</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">bean</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">bean&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="action2"</span><span style="color: #ff0000;">&nbsp;class</span><span style="color: #0000ff;">="LowerAction"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">property&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="message"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">value</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">HeLLo</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">value</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">property</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">bean</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&nbsp;<br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">beans</span><span style="color: #0000ff;">&gt;</span></div>
<br />
&nbsp;第四步：调试<br />
&nbsp;&nbsp; <span style="font-size: 10.5pt; font-family: 宋体;">双击 Package Explorer 下 MySpringTest/src/TestAction.java 打开源代码</span>,<span style="font-size: 10.5pt; font-family: 宋体;">点击菜单<span> Run -&gt; Run As -&gt; 1. Java
Application</span>， 如果没有错误的话将会出现如下</span><br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span>&nbsp;<span style="color: #000000;">log4j:WARN&nbsp;No&nbsp;appenders&nbsp;could&nbsp;be&nbsp;found&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;logger&nbsp;(org.springframework.core.CollectionFactory).<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">log4j:WARN&nbsp;Please&nbsp;initialize&nbsp;the&nbsp;log4j&nbsp;system&nbsp;properly.<br />
</span><span style="color: #008080;">3</span>&nbsp;<span style="color: #000000;">HELLOROD&nbsp;JOHNSON<br />
</span><span style="color: #008080;">4</span>&nbsp;<span style="color: #000000;">hellojeckj</span></div>
<br />
<span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80e0;"><span style="color: #ff80e0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;">
问题：<br />
<span style="color: #000000;">&nbsp;&nbsp; </span><span style="color: #008080;">1</span>&nbsp;<span style="color: #000000;">log4j:WARN&nbsp;No&nbsp;appenders&nbsp;could&nbsp;be&nbsp;found&nbsp;</span><span style="color: #0000ff;">for</span><span style="color: #000000;">&nbsp;logger&nbsp;(org.springframework.core.CollectionFactory).<br />
</span><span style="color: #008080;">2</span>&nbsp;<span style="color: #000000;">log4j:WARN&nbsp;Please&nbsp;initialize&nbsp;the&nbsp;log4j&nbsp;system&nbsp;properly.<br />
<br />
<span style="color: #e7b0ff;"><span style="color: #68aaff;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80e0;"><span style="color: #ff80e0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #ff80b0;"><span style="color: #e7b0ff;"><span style="color: #cb58ff;"><span style="color: #e7b0ff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #68aaff;"><span style="color: #000000;"><span style="color: #e7b0ff;"><span style="color: #68aaff;">1、我也是个初学者，我想请问比较上手的人士，上面两行是什么意思？</span></span></span></span></span></span></span></span></span></span><span style="color: #000000;"><br />
</span>
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span style="color: #70afff;"><span style="color: #70afff;">2、这个例子中没有用到Tomcat,是不是spring框架不需Web Service，还只是不用Tomcat?</span></span><br />
</span>
<img src ="http://www.blogjava.net/Harriet/aggbug/162317.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-11-22 14:01 <a href="http://www.blogjava.net/Harriet/archive/2007/11/22/162317.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSTL简介——分类说明，清晰易懂</title><link>http://www.blogjava.net/Harriet/archive/2007/11/22/162269.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Thu, 22 Nov 2007 01:29:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/11/22/162269.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/162269.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/11/22/162269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/162269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/162269.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 前两天，公司同事发给我一个JSTL的学习资料，看后感觉条理清晰，一目了然！现在贴出来与大家共享&nbsp;&nbsp;<a href='http://www.blogjava.net/Harriet/archive/2007/11/22/162269.html'>阅读全文</a><img src ="http://www.blogjava.net/Harriet/aggbug/162269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-11-22 09:29 <a href="http://www.blogjava.net/Harriet/archive/2007/11/22/162269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>写在第一篇</title><link>http://www.blogjava.net/Harriet/archive/2007/11/21/162151.html</link><dc:creator>Harriet</dc:creator><author>Harriet</author><pubDate>Wed, 21 Nov 2007 09:50:00 GMT</pubDate><guid>http://www.blogjava.net/Harriet/archive/2007/11/21/162151.html</guid><wfw:comment>http://www.blogjava.net/Harriet/comments/162151.html</wfw:comment><comments>http://www.blogjava.net/Harriet/archive/2007/11/21/162151.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/Harriet/comments/commentRss/162151.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Harriet/services/trackbacks/162151.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-family: 隶书;"><span style="font-family: 黑体;"><span style="font-family: 新宋体;"><span style="font-family: Times New Roman;"><span style="font-family: Courier;"><span style="font-family: Lucida Console;">
一直想拥有这样类似的blog<br />
来记录我的学习<br />
今天，终于找到了这个不错的blogjava<br />
在接下来的日子里鉴证我的学习过程<br />
持之以恒</span></span></span></span></span></span></span><br />
<img src ="http://www.blogjava.net/Harriet/aggbug/162151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Harriet/" target="_blank">Harriet</a> 2007-11-21 17:50 <a href="http://www.blogjava.net/Harriet/archive/2007/11/21/162151.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>