﻿<?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-Niuniu-随笔分类-Tomcat</title><link>http://www.blogjava.net/niuniu/category/37488.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 10 Feb 2009 06:27:56 GMT</lastBuildDate><pubDate>Tue, 10 Feb 2009 06:27:56 GMT</pubDate><ttl>60</ttl><item><title>Tomcat5.5数据源配置</title><link>http://www.blogjava.net/niuniu/archive/2009/02/05/JDBCDataSources.html</link><dc:creator>牛--牛</dc:creator><author>牛--牛</author><pubDate>Thu, 05 Feb 2009 14:04:00 GMT</pubDate><guid>http://www.blogjava.net/niuniu/archive/2009/02/05/JDBCDataSources.html</guid><wfw:comment>http://www.blogjava.net/niuniu/comments/253455.html</wfw:comment><comments>http://www.blogjava.net/niuniu/archive/2009/02/05/JDBCDataSources.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/niuniu/comments/commentRss/253455.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/niuniu/services/trackbacks/253455.html</trackback:ping><description><![CDATA[<p>&#160;&#160;&#160; 开发环境:<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MyEclipse5.5<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Tomcat5.5<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MsSql2000</p>
&#160;&#160;&#160; 数据源配置并不难,相对来说比较麻烦,别吓着了.其实就是多个地方拷贝.<br />
<br />
&#160;&#160;&#160;在Tomcat安装目录找到conf文件夹下的server.xml.打开在Host节点下编辑
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">Resource&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #ff0000">name</span><span style="color: #0000ff">="jdbc/emp"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />auth</span><span style="color: #0000ff">="Container"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />type</span><span style="color: #0000ff">="javax.sql.DataSource"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />username</span><span style="color: #0000ff">="sa"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />password</span><span style="color: #0000ff">="sa"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />driverClassName</span><span style="color: #0000ff">="com.microsoft.jdbc.sqlserver.SQLServerDriver"</span><span style="color: #ff0000">&#160;&#160;&#160;&#160;url</span><span style="color: #0000ff">="jdbc:microsoft:sqlserver://localhost;DatabaseName=pubs"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />maxActive</span><span style="color: #0000ff">="8"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />maxIdle</span><span style="color: #0000ff">="4"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">/></span></div>
name:属性值可随意取值,但不允许为空.<br />
除Auth属性值固定其它都随需求而变.<br />
例如:username的值,随你数据库登录名而变动.<br />
接下来,我们需要在Tomcat 5.5\conf\Catalina\localhost路径下新建一个和工程名同样的xml文件.<br />
假设你新建的Web工程名叫JdbcDataSource,则JdbcDataSource.xml.<br />
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&#160;version="1.0"&#160;encoding="UTF-8"</span><span style="color: #0000ff">?></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Context</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">Resource&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #ff0000">name</span><span style="color: #0000ff">="jdbc/emp"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />auth</span><span style="color: #0000ff">="Container"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />type</span><span style="color: #0000ff">="javax.sql.DataSource"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />username</span><span style="color: #0000ff">="sa"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />password</span><span style="color: #0000ff">="sa"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />driverClassName</span><span style="color: #0000ff">="com.microsoft.jdbc.sqlserver.SQLServerDriver"</span><span style="color: #ff0000">&#160;&#160;&#160;url</span><span style="color: #0000ff">="jdbc:microsoft:sqlserver://localhost;DatabaseName=pubs"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />maxActive</span><span style="color: #0000ff">="8"</span><span style="color: #ff0000">&#160;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />maxIdle</span><span style="color: #0000ff">="4"</span><span style="color: #ff0000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">/></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span></div>
看清楚了吧,其实就是把你在server.xml输入的拷贝过来就是了.<br />
好了,我们现在切换到IDE,在当前的工程web.xml下再进行一次配置.<br />
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">resource-ref</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&#160;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">res-ref-name</span><span style="color: #0000ff">></span><span style="color: #000000">jdbc/emp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">res-ref-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&#160;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">res-type</span><span style="color: #0000ff">></span><span style="color: #000000">javax.sql.DataSource</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">res-type</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&#160;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">res-auth</span><span style="color: #0000ff">></span><span style="color: #000000">Container</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">res-auth</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">resource-ref</span><span style="color: #0000ff">></span><span style="color: #000000">&#160;&#160;&#160;&#160;</span></div>
一切配置Ok,接下来我们来测试是否可行.<br />
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080">&#160;1</span><img id="Codehighlighter1_0_59_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_59_Open_Text.style.display='none'; Codehighlighter1_0_59_Closed_Image.style.display='inline'; Codehighlighter1_0_59_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_0_59_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_0_59_Closed_Text.style.display='none'; Codehighlighter1_0_59_Open_Image.style.display='inline'; Codehighlighter1_0_59_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span id="Codehighlighter1_0_59_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&#160;*/</span><span id="Codehighlighter1_0_59_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">&#160;2</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;*&#160;Tomcat5.5连接池配置<br />
</span><span style="color: #008080">&#160;3</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;*&#160;数据库为Ms2000<br />
</span><span style="color: #008080">&#160;4</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;*&#160;</span><span style="color: #808080">@author</span><span style="color: #008000">&#160;NiuNiu<br />
</span><span style="color: #008080">&#160;5</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;*<br />
</span><span style="color: #008080">&#160;6</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&#160;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">&#160;7</span><span style="color: #000000"><img id="Codehighlighter1_89_629_Open_Image" onclick="this.style.display='none'; Codehighlighter1_89_629_Open_Text.style.display='none'; Codehighlighter1_89_629_Closed_Image.style.display='inline'; Codehighlighter1_89_629_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_89_629_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_89_629_Closed_Text.style.display='none'; Codehighlighter1_89_629_Open_Image.style.display='inline'; Codehighlighter1_89_629_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&#160;</span><span style="color: #0000ff">class</span><span style="color: #000000">&#160;Tomcat5_5_Pool&#160;</span><span id="Codehighlighter1_89_629_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_89_629_Open_Text"><span style="color: #000000">{&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080">&#160;8</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;</span><span style="color: #0000ff">public</span><span style="color: #000000">&#160;</span><span style="color: #0000ff">static</span><span style="color: #000000">&#160;Connection&#160;getConnection()<br />
</span><span style="color: #008080">&#160;9</span><span style="color: #000000"><img id="Codehighlighter1_135_627_Open_Image" onclick="this.style.display='none'; Codehighlighter1_135_627_Open_Text.style.display='none'; Codehighlighter1_135_627_Closed_Image.style.display='inline'; Codehighlighter1_135_627_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_135_627_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_135_627_Closed_Text.style.display='none'; Codehighlighter1_135_627_Open_Image.style.display='inline'; Codehighlighter1_135_627_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&#160;&#160;&#160;&#160;</span><span id="Codehighlighter1_135_627_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_135_627_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Connection&#160;con</span><span style="color: #000000">=</span><span style="color: #0000ff">null</span><span style="color: #000000">;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_168_516_Open_Image" onclick="this.style.display='none'; Codehighlighter1_168_516_Open_Text.style.display='none'; Codehighlighter1_168_516_Closed_Image.style.display='inline'; Codehighlighter1_168_516_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_168_516_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_168_516_Closed_Text.style.display='none'; Codehighlighter1_168_516_Open_Image.style.display='inline'; Codehighlighter1_168_516_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff">try</span><span style="color: #000000">&#160;</span><span id="Codehighlighter1_168_516_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_168_516_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000">//</span><span style="color: #008000">初始化查找</span><span style="color: #008000"><br />
</span><span style="color: #008080">13</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Context&#160;initCtx&#160;</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000">&#160;InitialContext();<br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000">//</span><span style="color: #008000">得到dataSource</span><span style="color: #008000"><br />
</span><span style="color: #008080">15</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Context&#160;envCtx&#160;</span><span style="color: #000000">=</span><span style="color: #000000">(Context)initCtx.lookup(</span><span style="color: #000000">"</span><span style="color: #000000">java:comp/env</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;DataSource&#160;dataSource</span><span style="color: #000000">=</span><span style="color: #000000">(DataSource)envCtx.lookup(</span><span style="color: #000000">"</span><span style="color: #000000">jdbc/emp</span><span style="color: #000000">"</span><span style="color: #000000">);&#160;&#160;&#160;&#160;<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_377_418_Open_Image" onclick="this.style.display='none'; Codehighlighter1_377_418_Open_Text.style.display='none'; Codehighlighter1_377_418_Closed_Image.style.display='inline'; Codehighlighter1_377_418_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_377_418_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_377_418_Closed_Text.style.display='none'; Codehighlighter1_377_418_Open_Image.style.display='inline'; Codehighlighter1_377_418_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff">try</span><span style="color: #000000">&#160;</span><span id="Codehighlighter1_377_418_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_377_418_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;con</span><span style="color: #000000">=</span><span style="color: #000000">dataSource.getConnection();<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img id="Codehighlighter1_443_512_Open_Image" onclick="this.style.display='none'; Codehighlighter1_443_512_Open_Text.style.display='none'; Codehighlighter1_443_512_Closed_Image.style.display='inline'; Codehighlighter1_443_512_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_443_512_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_443_512_Closed_Text.style.display='none'; Codehighlighter1_443_512_Open_Image.style.display='inline'; Codehighlighter1_443_512_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span><span style="color: #000000">&#160;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&#160;(SQLException&#160;e)&#160;</span><span id="Codehighlighter1_443_512_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_443_512_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000">//</span><span style="color: #008000">&#160;TODO&#160;Auto-generated&#160;catch&#160;block</span><span style="color: #008000"><br />
</span><span style="color: #008080">21</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;e.printStackTrace();<br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_544_610_Open_Image" onclick="this.style.display='none'; Codehighlighter1_544_610_Open_Text.style.display='none'; Codehighlighter1_544_610_Closed_Image.style.display='inline'; Codehighlighter1_544_610_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_544_610_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_544_610_Closed_Text.style.display='none'; Codehighlighter1_544_610_Open_Image.style.display='inline'; Codehighlighter1_544_610_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span><span style="color: #000000">&#160;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&#160;(NamingException&#160;e)&#160;</span><span id="Codehighlighter1_544_610_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_544_610_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #008000">//</span><span style="color: #008000">&#160;TODO&#160;Auto-generated&#160;catch&#160;block</span><span style="color: #008000"><br />
</span><span style="color: #008080">25</span><span style="color: #008000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span><span style="color: #000000">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;e.printStackTrace();<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span><span style="color: #0000ff">return</span><span style="color: #000000">&#160;con;<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&#160;&#160;&#160;&#160;}</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div>
如果getConnection()方法返回非空,就表示我们上述做的操作都正确了.<br />
<br />
注意:<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; 我们需要把DB驱动包也要拷贝到Tomcat 5.5\common\lib目录下.<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Context envCtx =(Context)initCtx.lookup("java:comp/env");<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; DataSource dataSource=(DataSource)envCtx.lookup("jdbc/emp");&#160;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; java:comp/env是固定的,但在WebLogic服务器则可以不需要写上.<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; jdbc/emp就是你所注册的名啦.<br />
参考资料:<a href="http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html">http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html</a>
<img src ="http://www.blogjava.net/niuniu/aggbug/253455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/niuniu/" target="_blank">牛--牛</a> 2009-02-05 22:04 <a href="http://www.blogjava.net/niuniu/archive/2009/02/05/JDBCDataSources.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts2初探</title><link>http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html</link><dc:creator>牛--牛</dc:creator><author>牛--牛</author><pubDate>Wed, 04 Feb 2009 15:20:00 GMT</pubDate><guid>http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html</guid><wfw:comment>http://www.blogjava.net/niuniu/comments/253326.html</wfw:comment><comments>http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/niuniu/comments/commentRss/253326.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/niuniu/services/trackbacks/253326.html</trackback:ping><description><![CDATA[从事Web方向工作,了解一些实用的框架是必不可小的.<br />
例如Struts,现在它已经"升"级到Struts2,它并不是一个版本的延升,而是由Struts和WebWork的结合,吸取了两者的精华,从而合二为一,因此诞生了...之取名为Struts2.<br />
为了需要,也开始了学习Struts之旅.<br />
<br />
<font color="#ff0000"><strong>Struts2初探<br />
实现—>[简捷问候语]<br />
</strong>   <font color="#000000">兵器:</font><br />
MyEclipse5.5<br />
Tomcat5.5<br />
Jdk1.5<br />
<font color="#000000">主角:<br />
</font>            Struts2  <br />
<a title="Struts2官方下载(版本号struts-2.0.14)" href="http://apache.etoak.com/struts/binaries/struts-2.0.14-all.zip">点击之处下载Struts2</a><br />
<font color="#000000">装备准备其全,<font color="#ff0000">Go Go Go<br />
</font>1.首先新建一个Web工程,空壳壳如下:<br />
</font> <img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_a.jpg" alt="" /><br />
<font color="#000000">2.使用Struts2,我们需要要引用它的包,一般情况下我们只需要五个包就足够了.<br />
五个包分别是:<br />
</font>           commons-logging-1.0.4.jar<br />
freemarker-2.3.8.jar<br />
ognl-2.6.11.jar<br />
struts2-core-2.0.11.1.jar<br />
xwork-2.0.4.jar<br />
<font color="#000000">  把这五个包复制到工程lib目录下,然后在src目录下新建一个名为struts.xml的xml文件.<br />
要想Struts2起到作用,进行工作我们需要在web.xml配置文件,增加Struts2的核心Filter.<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 配置Struts2核心过滤器 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">struts2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">></span><span style="color: #000000">org.apache.struts2.dispatcher.FilterDispatcher</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    <br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> Struts2 Mapping </span><span style="color: #008000">--></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000">struts2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000">/*</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">></span></div>
提示:如果忘记Struts2核心Filter路径可以在struts2-core-2.0.11.1.jar下找到.<br />
<br />
<font color="#000000">至此再在工程建立一个包,并在该包建立一个控制器类.控制器非常简单,就如一个普通的PoJo类.(<font color="#ff0000">Struts2.java</font>)<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">package</span><span style="color: #000000"> com.company.struts.demo.action;<br />
</span><span style="color: #008080"> 2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><br />
</span><span style="color: #008080"> 3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServletRequest;<br />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts2.ServletActionContext;<br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img id="Codehighlighter1_136_181_Open_Image" onclick="this.style.display='none'; Codehighlighter1_136_181_Open_Text.style.display='none'; Codehighlighter1_136_181_Closed_Image.style.display='inline'; Codehighlighter1_136_181_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_136_181_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_136_181_Closed_Text.style.display='none'; Codehighlighter1_136_181_Open_Image.style.display='inline'; Codehighlighter1_136_181_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span id="Codehighlighter1_136_181_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_136_181_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080"> 7</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * Struts2初探<br />
</span><span style="color: #008080"> 8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * <br />
</span><span style="color: #008080"> 9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * </span><span style="color: #808080">@author</span><span style="color: #008000"> NiuNiu<br />
</span><span style="color: #008080">10</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /> * <br />
</span><span style="color: #008080">11</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" /> </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_204_553_Open_Image" onclick="this.style.display='none'; Codehighlighter1_204_553_Open_Text.style.display='none'; Codehighlighter1_204_553_Closed_Image.style.display='inline'; Codehighlighter1_204_553_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_204_553_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_204_553_Closed_Text.style.display='none'; Codehighlighter1_204_553_Open_Image.style.display='inline'; Codehighlighter1_204_553_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Struts2 </span><span id="Codehighlighter1_204_553_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_204_553_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    String hi;<br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #008000">//</span><span style="color: #008000"> 处理用户请求方法<br />
</span><span style="color: #008080">17</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #008000">//</span><span style="color: #008000"> 当action未指定method属性时 默认指向execute方法</span><span style="color: #008000"><br />
</span><span style="color: #008080">18</span><span style="color: #008000"><img id="Codehighlighter1_296_427_Open_Image" onclick="this.style.display='none'; Codehighlighter1_296_427_Open_Text.style.display='none'; Codehighlighter1_296_427_Closed_Image.style.display='inline'; Codehighlighter1_296_427_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_296_427_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_296_427_Closed_Text.style.display='none'; Codehighlighter1_296_427_Open_Image.style.display='inline'; Codehighlighter1_296_427_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" /></span><span style="color: #000000">    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String execute() </span><span id="Codehighlighter1_296_427_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_296_427_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        HttpServletRequest request </span><span style="color: #000000">=</span><span style="color: #000000"> ServletActionContext.getRequest();<br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        request.setAttribute(</span><span style="color: #000000">"</span><span style="color: #000000">hi</span><span style="color: #000000">"</span><span style="color: #000000">, getHi());<br />
</span><span style="color: #008080">23</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">success</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img id="Codehighlighter1_431_457_Open_Image" onclick="this.style.display='none'; Codehighlighter1_431_457_Open_Text.style.display='none'; Codehighlighter1_431_457_Closed_Image.style.display='inline'; Codehighlighter1_431_457_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_431_457_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_431_457_Closed_Text.style.display='none'; Codehighlighter1_431_457_Open_Image.style.display='inline'; Codehighlighter1_431_457_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span id="Codehighlighter1_431_457_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/** */</span><span id="Codehighlighter1_431_457_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
</span><span style="color: #008080">28</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />     * get / set<br />
</span><span style="color: #008080">29</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />     * <br />
</span><span style="color: #008080">30</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />     </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img id="Codehighlighter1_483_499_Open_Image" onclick="this.style.display='none'; Codehighlighter1_483_499_Open_Text.style.display='none'; Codehighlighter1_483_499_Closed_Image.style.display='inline'; Codehighlighter1_483_499_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_483_499_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_483_499_Closed_Text.style.display='none'; Codehighlighter1_483_499_Open_Image.style.display='inline'; Codehighlighter1_483_499_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getHi() </span><span id="Codehighlighter1_483_499_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_483_499_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> hi;<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img id="Codehighlighter1_532_551_Open_Image" onclick="this.style.display='none'; Codehighlighter1_532_551_Open_Text.style.display='none'; Codehighlighter1_532_551_Closed_Image.style.display='inline'; Codehighlighter1_532_551_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_532_551_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_532_551_Closed_Text.style.display='none'; Codehighlighter1_532_551_Open_Image.style.display='inline'; Codehighlighter1_532_551_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> setHi(String hi) </span><span id="Codehighlighter1_532_551_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_532_551_Open_Text"><span style="color: #000000">{<br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">this</span><span style="color: #000000">.hi </span><span style="color: #000000">=</span><span style="color: #000000"> hi;<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br />
</span><span style="color: #008080">39</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div>
<br />
<font color="#000000">还记得struts.xml么？ 呵呵<br />
上述一切都ok,还不能处理用户的请求,为此就是struts.xml发挥作用的时候到了.<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE struts PUBLIC<br />
</span><span style="color: #008080"> 2</span><span style="color: #ff00ff"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"<br />
</span><span style="color: #008080"> 3</span><span style="color: #ff00ff"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    "http://struts.apache.org/dtds/struts-2.0.dtd"</span><span style="color: #0000ff">></span><span style="color: #000000">    <br />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">struts</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">package </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts2"</span><span style="color: #ff0000"> extends</span><span style="color: #0000ff">="struts-default"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> <br />
</span><span style="color: #008080"> 7</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            name:提交时需要指向Action的别名<br />
</span><span style="color: #008080"> 8</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            class:指定Action路径<br />
</span><span style="color: #008080"> 9</span><span style="color: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />         </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">action </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts"</span><span style="color: #ff0000"> class</span><span style="color: #0000ff">="com.company.struts.demo.action.Struts2"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 资源映射 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />            </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">result </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="success"</span><span style="color: #0000ff">></span><span style="color: #000000">/success.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />        </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">package</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">struts</span><span style="color: #0000ff">></span></div>
提示:dtd我是懒得去记的,告诉你一个办法.在struts2-core-2.0.11.1.jar下的struts-2.0.dtd下可找到.<br />
<font color="#000000">简捷的问候语? 哦 还需要一个页面让它来传递信息(<font color="#ff0000">chutanstruts2.jsp</font>).<br />
</font>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img id="Codehighlighter1_2_45_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_45_Open_Text.style.display='none'; Codehighlighter1_2_45_Closed_Image.style.display='inline'; Codehighlighter1_2_45_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_2_45_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2_45_Closed_Text.style.display='none'; Codehighlighter1_2_45_Open_Image.style.display='inline'; Codehighlighter1_2_45_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_2_45_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_2_45_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ page language</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">java</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">  pageEncoding</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">utf-8</span><span style="color: #000000; background-color: #f5f5f5">"</span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 2</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 引入Struts2标签 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 3</span><span style="color: #000000"><img id="Codehighlighter1_72_110_Open_Image" onclick="this.style.display='none'; Codehighlighter1_72_110_Open_Text.style.display='none'; Codehighlighter1_72_110_Closed_Image.style.display='inline'; Codehighlighter1_72_110_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_72_110_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_72_110_Closed_Text.style.display='none'; Codehighlighter1_72_110_Open_Image.style.display='inline'; Codehighlighter1_72_110_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_72_110_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_72_110_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ taglib prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">s</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">/struts-tags</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> </span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">    <br />
</span><span style="color: #008080"> 7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">Struts2初探</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">        <br />
</span><span style="color: #008080"> 8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080"> 9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />   </span><span style="color: #008000">&lt;!--</span><span style="color: #008000"> 这里的struts就是在struts.xml配置Action的别名 </span><span style="color: #008000">--></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />       </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:form </span><span style="color: #ff0000">action</span><span style="color: #0000ff">="struts"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />           </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:textfield </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="hi"</span><span style="color: #ff0000"> label</span><span style="color: #0000ff">="Say"</span><span style="color: #0000ff">>&lt;/</span><span style="color: #800000">s:textfield</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />           </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:submit </span><span style="color: #ff0000">value</span><span style="color: #0000ff">="Go"</span><span style="color: #0000ff">>&lt;/</span><span style="color: #800000">s:submit</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />       </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">s:form</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">></span></div>
结果页(success.jsp):<br />
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left-color: #cccccc; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee; "><span style="color: #008080"> 1</span><img id="Codehighlighter1_2_65_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_65_Open_Text.style.display='none'; Codehighlighter1_2_65_Closed_Image.style.display='inline'; Codehighlighter1_2_65_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_2_65_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2_65_Closed_Text.style.display='none'; Codehighlighter1_2_65_Open_Image.style.display='inline'; Codehighlighter1_2_65_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_2_65_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_2_65_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ page language</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">java</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">  isELIgnored</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">false</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> pageEncoding</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">utf-8</span><span style="color: #000000; background-color: #f5f5f5">"</span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 2</span><span style="color: #000000"><img id="Codehighlighter1_71_110_Open_Image" onclick="this.style.display='none'; Codehighlighter1_71_110_Open_Text.style.display='none'; Codehighlighter1_71_110_Closed_Image.style.display='inline'; Codehighlighter1_71_110_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_71_110_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_71_110_Closed_Text.style.display='none'; Codehighlighter1_71_110_Open_Image.style.display='inline'; Codehighlighter1_71_110_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #000000; background-color: #ffff00">&lt;%</span><span id="Codehighlighter1_71_110_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" alt="" /></span><span id="Codehighlighter1_71_110_Open_Text"><span style="color: #000000; background-color: #f5f5f5">@ taglib prefix</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">s</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5"> uri</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">/struts-tags</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">  </span></span><span style="color: #000000; background-color: #ffff00">%></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 3</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">      <br />
</span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />    </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">success</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080"> 7</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">></span><span style="color: #000000">  <br />
</span><span style="color: #008080"> 8</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080"> 9</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />      Hi </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">font </span><span style="color: #ff0000">color</span><span style="color: #0000ff">=red</span><span style="color: #0000ff">>&lt;</span><span style="color: #800000">s:property </span><span style="color: #ff0000">value</span><span style="color: #0000ff">="hi"</span><span style="color: #0000ff">/>&lt;/</span><span style="color: #800000">font</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />      </span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">/></span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />      I like ${hi}<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" />  </span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">></span><span style="color: #000000"><br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">></span></div>
以下就是项目结构最终图:<br />
<img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_b.jpg" alt="" /><br />
再看最终所要呈现的结果:<br />
<img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_c.jpg" alt="" /><br />
<img src="http://www.blogjava.net/images/blogjava_net/niuniu/37445/o_d.jpg" alt="" /><br />
---------------------------------分割线----------------------------<br />
<strong>注</strong>:<br />
struts.xml必须放在src根目录下<br />
struts.xml必须全都是小写,并且文件名也必须是struts.xml.<br />
</font>
<img src ="http://www.blogjava.net/niuniu/aggbug/253326.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/niuniu/" target="_blank">牛--牛</a> 2009-02-04 23:20 <a href="http://www.blogjava.net/niuniu/archive/2009/02/04/253326.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>