﻿<?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-J路漫</title><link>http://www.blogjava.net/cossins/</link><description>走上这条路不是我的错，但是走下来我就错了。</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 11:42:50 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 11:42:50 GMT</pubDate><ttl>60</ttl><item><title>//////struts2拦截器</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301194.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 20:51:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301194.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301194.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301194.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301194.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301194.html</trackback:ping><description><![CDATA[struts2内建的拦截器<br />
配置拦截器<br />
拦截器栈的使用<br />
<img src ="http://www.blogjava.net/cossins/aggbug/301194.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 04:51 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301194.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>//////strtus2中的标签</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301193.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 20:49:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301193.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301193.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301193.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301193.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301193.html</trackback:ping><description><![CDATA[ <img src ="http://www.blogjava.net/cossins/aggbug/301193.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 04:49 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301193.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>//////在struts2中配置资源文件</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301192.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 20:47:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301192.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301192.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301192.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301192.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301192.html</trackback:ping><description><![CDATA[  <img src ="http://www.blogjava.net/cossins/aggbug/301192.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 04:47 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301192.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sturts2的异常处理机制</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301191.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 20:03:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301191.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301191.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301191.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301191.html</trackback:ping><description><![CDATA[脱离了和代码的耦合（在action中声明和抛出异常）。<br />
采用拦截器的方式捕获异常。<br />
为了使用Struts2的异常处理机制，必须打开Struts2的异常映射功能，需要一个拦截器.如struts-default.xml中，配置文件开启了异常映射。<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">interceptors</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">interceptor&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="exception"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.opensymphony.xwork.interceptor.ExceptionMapping&nbsp;Interceptor"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">interceptors</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">interceptor-stack&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="defaultStack"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">interceptor-ref&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="exception"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">interceptor-stack</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">interceptors</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span></div>
<br />
手动抛出异常验证Struts2框架，输出异常信息。<br />
{<br />
<br />
}
<img src ="http://www.blogjava.net/cossins/aggbug/301191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 04:03 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>result的配置</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301188.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 17:44:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301188.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301188.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301188.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301188.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301188.html</trackback:ping><description><![CDATA[result告诉struts2框架, 当Action处理结束后，系统下一步做什么。<br />
Struts2提供了两种配置方式，<br />
全局结果：&lt;result&gt;作为&lt;global-results&gt;的子元素配置<br />
局部结果:&lt;result&gt;作为&lt;action&gt;的子元素配置<br />
<br />
局部结果的属性 name,type,location,parse.<br />
parse默认值为true，指定是否可以在实际视图名字中使用OGNL表达式。<br />
type默认值为dispatcher.<br />
<br />
struts2内建的结果类型,在struts-default.xml中定义的.<br />
chain&nbsp;，dispatcher，freemaker，httpheader，redirect，redirect-action，stream，velocity，xslt，plainText。 <br />
<br />
plainText结果类型：将结果制定的试图显示为普通文本处理，这种结果类型使用很局限，主要用于显示视图的码源。<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">result&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="plainText"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="location"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/welcome.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">param&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="charset"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">GBK</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">param</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&gt;</span></div>
<br />
动态结果<br />
login.jsp<br />
--传入target参数<br />
<br />
LoginAction.java<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img id="Codehighlighter1_46_198_Open_Image" onclick="this.style.display='none'; Codehighlighter1_46_198_Open_Text.style.display='none'; Codehighlighter1_46_198_Closed_Image.style.display='inline'; Codehighlighter1_46_198_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_46_198_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_46_198_Closed_Text.style.display='none'; Codehighlighter1_46_198_Open_Image.style.display='inline'; Codehighlighter1_46_198_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;LoginAction&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;ActionSupport</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_46_198_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_46_198_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;target;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;String&nbsp;tip;<br />
<img id="Codehighlighter1_143_196_Open_Image" onclick="this.style.display='none'; Codehighlighter1_143_196_Open_Text.style.display='none'; Codehighlighter1_143_196_Closed_Image.style.display='inline'; Codehighlighter1_143_196_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_143_196_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_143_196_Closed_Text.style.display='none'; Codehighlighter1_143_196_Open_Image.style.display='inline'; Codehighlighter1_143_196_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;execute()&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_143_196_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_143_196_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTip(</span><span style="color: #000000">"</span><span style="color: #000000">欢迎。</span><span style="color: #000000">"</span><span style="color: #000000">)；<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;SUCCESS;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<br />
struts.xml<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">action&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="login"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="LoginAction"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">result&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="success"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/${target}.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span></div>
需要强调的是,Action类中必须含有target这个属性。
<img src ="http://www.blogjava.net/cossins/aggbug/301188.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 01:44 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301188.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>action类访问ServletAPI</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301185.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 17:03:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301185.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301185.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301185.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301185.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301185.html</trackback:ping><description><![CDATA[<p>Action访问ServletAPI<br />
struts2的一个重大改良之处就是与ServletAPI的解耦。不过，对于Web应用而言，不访问ServletAPI几乎是不可能的。例如跟踪HTTPSession的状态。Struts2框架提供了一种轻松的方式来访问ServletAPI。通常需要访问的对象是HttpServletRequest,HttpServletSession,ServletContext,这三类也代表了JSP的内置对象中的request,session,application.</p>
<p>方法有：<br />
1&nbsp;Object get(Object key):类似于条用HttpServletRequest的getAttribute(String name)<br />
2&nbsp;Map getApplication:返回对象为map,模拟了ServletContext。<br />
3&nbsp;Static ActionContext().getContext()，获取ActionContext实例。<br />
4&nbsp;Map getParameters()<br />
5&nbsp;void setApplication(Map application)<br />
6&nbsp;void setSession(Map session)<br />
用一个2方法，获取ActionContext实例，通过该对象的getApplication()和getSession()的put（key,value）方法，实现访问ServletAPI。<br />
<br />
一个用ActionContext().getContext()获取ServletContext的例子<br />
index.jsp<br />
</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img id="Codehighlighter1_2_60_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_60_Open_Text.style.display='none'; Codehighlighter1_2_60_Closed_Image.style.display='inline'; Codehighlighter1_2_60_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_2_60_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2_60_Closed_Text.style.display='none'; Codehighlighter1_2_60_Open_Image.style.display='inline'; Codehighlighter1_2_60_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" /><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2_60_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2_60_Open_Text"><span style="background-color: #f5f5f5; color: #000000">@page&nbsp;language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">java</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;contentType</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;text/html;&nbsp;charset=GBK</span><span style="background-color: #f5f5f5; color: #000000">"</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br />
<img id="Codehighlighter1_66_103_Open_Image" onclick="this.style.display='none'; Codehighlighter1_66_103_Open_Text.style.display='none'; Codehighlighter1_66_103_Closed_Image.style.display='inline'; Codehighlighter1_66_103_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_66_103_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_66_103_Closed_Text.style.display='none'; Codehighlighter1_66_103_Open_Image.style.display='inline'; Codehighlighter1_66_103_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" /></span><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_66_103_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_66_103_Open_Text"><span style="background-color: #f5f5f5; color: #000000">@&nbsp;taglib&nbsp;prefix</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">s</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;uri</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">/struts-tags</span><span style="background-color: #f5f5f5; color: #000000">"</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">struts2.demo1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:form&nbsp;</span><span style="color: #ff0000">action</span><span style="color: #0000ff">="login"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:textfield&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="username"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:password&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="password"</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">s:submit&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">s:form</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
<br />
welcome.jsp<br />
<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img id="Codehighlighter1_2_60_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2_60_Open_Text.style.display='none'; Codehighlighter1_2_60_Closed_Image.style.display='inline'; Codehighlighter1_2_60_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_2_60_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_2_60_Closed_Text.style.display='none'; Codehighlighter1_2_60_Open_Image.style.display='inline'; Codehighlighter1_2_60_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" /><span style="background-color: #ffff00; color: #000000">&lt;%</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_2_60_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_2_60_Open_Text"><span style="background-color: #f5f5f5; color: #000000">@page&nbsp;language</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">java</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;contentType</span><span style="background-color: #f5f5f5; color: #000000">=</span><span style="background-color: #f5f5f5; color: #000000">"</span><span style="background-color: #f5f5f5; color: #000000">&nbsp;text/html;&nbsp;charset=GBK</span><span style="background-color: #f5f5f5; color: #000000">"</span></span><span style="background-color: #ffff00; color: #000000">%&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.01&nbsp;Transitional//EN"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">struts2.demo1</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">title</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">head</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;本站访问次数：${applicationScope.counter&nbsp;}</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;${sessionScope.user&nbsp;},你已经登陆</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;${requestScope.tip&nbsp;}<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">body</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">html</span><span style="color: #0000ff">&gt;</span></div>
<br />
LoginAction类的execute()<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img id="Codehighlighter1_41_470_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_470_Open_Text.style.display='none'; Codehighlighter1_41_470_Closed_Image.style.display='inline'; Codehighlighter1_41_470_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" /><img style="display: none" id="Codehighlighter1_41_470_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_41_470_Closed_Text.style.display='none'; Codehighlighter1_41_470_Open_Image.style.display='inline'; Codehighlighter1_41_470_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;String&nbsp;execute()&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;Exception&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_41_470_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_41_470_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ActionContext&nbsp;ctx</span><span style="color: #000000">=</span><span style="color: #000000">ActionContext.getContext();<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Integer&nbsp;counter</span><span style="color: #000000">=</span><span style="color: #000000">(Integer)&nbsp;ctx.getApplication().get(</span><span style="color: #000000">"</span><span style="color: #000000">counter</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_175_193_Open_Image" onclick="this.style.display='none'; Codehighlighter1_175_193_Open_Text.style.display='none'; Codehighlighter1_175_193_Closed_Image.style.display='inline'; Codehighlighter1_175_193_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_175_193_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_175_193_Closed_Text.style.display='none'; Codehighlighter1_175_193_Open_Image.style.display='inline'; Codehighlighter1_175_193_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(counter</span><span style="color: #000000">==</span><span style="color: #0000ff">null</span><span style="color: #000000">)</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_175_193_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_175_193_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter</span><span style="color: #000000">=</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img id="Codehighlighter1_198_224_Open_Image" onclick="this.style.display='none'; Codehighlighter1_198_224_Open_Text.style.display='none'; Codehighlighter1_198_224_Closed_Image.style.display='inline'; Codehighlighter1_198_224_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_198_224_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_198_224_Closed_Text.style.display='none'; Codehighlighter1_198_224_Open_Image.style.display='inline'; Codehighlighter1_198_224_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">else</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_198_224_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_198_224_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;counter</span><span style="color: #000000">=</span><span style="color: #000000">counter</span><span style="color: #000000">+</span><span style="color: #000000">1</span><span style="color: #000000">;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctx.getApplication().put(</span><span style="color: #000000">"</span><span style="color: #000000">counter</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;counter);<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctx.getSession().put(</span><span style="color: #000000">"</span><span style="color: #000000">user</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;getUsername());<br />
<img id="Codehighlighter1_387_443_Open_Image" onclick="this.style.display='none'; Codehighlighter1_387_443_Open_Text.style.display='none'; Codehighlighter1_387_443_Closed_Image.style.display='inline'; Codehighlighter1_387_443_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_387_443_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_387_443_Closed_Text.style.display='none'; Codehighlighter1_387_443_Open_Image.style.display='inline'; Codehighlighter1_387_443_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(getUsername().equals(</span><span style="color: #000000">"</span><span style="color: #000000">ming</span><span style="color: #000000">"</span><span style="color: #000000">)</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">getPassword().equals(</span><span style="color: #000000">"</span><span style="color: #000000">123456</span><span style="color: #000000">"</span><span style="color: #000000">))</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_387_443_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_387_443_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setTip(</span><span style="color: #000000">"</span><span style="color: #000000">欢迎您,</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">getUsername());<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;SUCCESS;<br />
<img id="Codehighlighter1_448_469_Open_Image" onclick="this.style.display='none'; Codehighlighter1_448_469_Open_Text.style.display='none'; Codehighlighter1_448_469_Closed_Image.style.display='inline'; Codehighlighter1_448_469_Closed_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" /><img style="display: none" id="Codehighlighter1_448_469_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_448_469_Closed_Text.style.display='none'; Codehighlighter1_448_469_Open_Image.style.display='inline'; Codehighlighter1_448_469_Open_Text.style.display='inline';" alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff">else</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_448_469_Closed_Text"><img alt="" src="http://www.blogjava.net/Images/dot.gif" /></span><span id="Codehighlighter1_448_469_Open_Text"><span style="color: #000000">{<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;ERROR;<br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
</span><br />
<br />
另外，
<p>虽然Struts2提供了ActionContext来访问ServletAPI，但是并不能直接获得ServletAPI的实例。但是Struts2提供了一下接口，<br />
1&nbsp;ServletContextAware：实现该接口的Action可以直接访问ServletContext实例。<br />
2&nbsp;ServletRequestAware：实现该接口的Action可以直接访问HttpServletRequest实例。<br />
3&nbsp;ServletResponseAware<br />
例如<br />
Action类<br />
public class LoginAciton implements Action,ServletResponseAwre{<br />
&nbsp;private HttpServletResponse response;<br />
&nbsp;private String username;<br />
&nbsp;private String password;<br />
&nbsp;....//setter getter<br />
&nbsp;public void serServletResponse(HttpServletResponse response){<br />
&nbsp;&nbsp;this.response=response;<br />
&nbsp;}<br />
&nbsp;public String execute() throws Exception{<br />
&nbsp;&nbsp;Cookie c = new Cookie("user",getUsername);<br />
&nbsp;&nbsp;c.setMaxAge(60*60);<br />
&nbsp;&nbsp;response.addCookie(c);<br />
&nbsp;&nbsp;return SUCCESS;<br />
&nbsp;}<br />
}<br />
//通过HttpServletResponse为系统添加Cookies对象。<br />
jsp页面<br />
&lt;body&gt;<br />
从系统中读出Cooki值：${cookies.user.value}&lt;br&gt;<br />
&lt;/body&gt;</p>
<p>=======虽然可以在Action中获得HttpServleResponse对象，但是希望通过它来生成服务器相应是不可能的。即使在Struts2中获得了HttpServletResponse对象，也不要尝试直接在Action中对客户端生成相应。没有任何实际意义。</p>
<img src ="http://www.blogjava.net/cossins/aggbug/301185.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 01:03 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301185.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>简单的登陆界面</title><link>http://www.blogjava.net/cossins/archive/2009/11/05/301179.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 16:05:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/05/301179.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301179.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/05/301179.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301179.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301179.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: index.jsp&lt;%@page&nbsp;language="java"&nbsp;contentType="&nbsp;text/html;&nbsp;charset=GBK"%&gt;&lt;%@&nbsp;taglib&nbsp;prefix="s"&nbsp;uri="/struts-tags"%&gt;&lt;!DOCTYPE&nbsp;HTML&nbsp;PUB...&nbsp;&nbsp;<a href='http://www.blogjava.net/cossins/archive/2009/11/05/301179.html'>阅读全文</a><img src ="http://www.blogjava.net/cossins/aggbug/301179.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-05 00:05 <a href="http://www.blogjava.net/cossins/archive/2009/11/05/301179.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web.xml和struts.xml的最基本配置</title><link>http://www.blogjava.net/cossins/archive/2009/11/04/301178.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 15:52:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/04/301178.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301178.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/04/301178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301178.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301178.html</trackback:ping><description><![CDATA[<p>struts.xml<br />
</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #0000ff">&lt;?</span><span style="color: #ff00ff">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"&nbsp;</span><span style="color: #0000ff">?&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;!</span><span style="color: #ff00ff">DOCTYPE&nbsp;struts&nbsp;PUBLIC<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;"-//Apache&nbsp;Software&nbsp;Foundation//DTD&nbsp;Struts&nbsp;Configuration&nbsp;2.0//EN"<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;"http://struts.apache.org/dtds/struts-2.0.dtd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">struts</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">constant&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts.enable.DynamicMethodInvocation"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">constant&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="struts.devMode"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="false"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">/&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">package&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="default"</span><span style="color: #ff0000">&nbsp;&nbsp;extends</span><span style="color: #0000ff">="struts-default"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">action&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="login"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="com.ming.LoginAction"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">result&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="success"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/welcome.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">result&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="error"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/fail.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">result</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">package</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">&lt;!--</span><span style="color: #008000">&nbsp;Add&nbsp;packages&nbsp;here&nbsp;</span><span style="color: #008000">--&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">struts</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /></span></div>
<p>&nbsp;web.xml</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><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 />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">web-app&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="WebApp_9"</span><span style="color: #ff0000">&nbsp;version</span><span style="color: #0000ff">="2.4"</span><span style="color: #ff0000">&nbsp;xmlns</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/j2ee"</span><span style="color: #ff0000">&nbsp;xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #ff0000">&nbsp;xsi:schemaLocation</span><span style="color: #0000ff">="http://java.sun.com/xml/ns/j2ee&nbsp;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">display-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Struts&nbsp;Blank</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">display-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">struts2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-class</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">struts2</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/*</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">filter-mapping</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">index.html</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">welcome-file</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">welcome-file-list</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /><br />
<img alt="" align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">web-app</span><span style="color: #0000ff">&gt;</span></div>
 <img src ="http://www.blogjava.net/cossins/aggbug/301178.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-04 23:52 <a href="http://www.blogjava.net/cossins/archive/2009/11/04/301178.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>actionsupport 继承的接口</title><link>http://www.blogjava.net/cossins/archive/2009/11/04/301177.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 15:47:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/04/301177.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301177.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/04/301177.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301177.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301177.html</trackback:ping><description><![CDATA[推荐Action继承ActionSupport类，提供了一些方法和接口。查看API。<br />
<br />
public class ActionSupport implemengts Action,Validateable,ValidationAWare,TextProvider,LoacalProvider,Serializable{<br />
............<br />
}<br />
<br />
ActionSupport完全符合一个Action的要求，我们可以直接使用ActionSupport作为业务控制器，实际上，如果配置Action没有指定class属性，则系统会自动使用ActionSupport类作为Action的处理类。
<img src ="http://www.blogjava.net/cossins/aggbug/301177.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-04 23:47 <a href="http://www.blogjava.net/cossins/archive/2009/11/04/301177.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts常量的配置</title><link>http://www.blogjava.net/cossins/archive/2009/11/04/301176.html</link><dc:creator>南朝</dc:creator><author>南朝</author><pubDate>Wed, 04 Nov 2009 15:45:00 GMT</pubDate><guid>http://www.blogjava.net/cossins/archive/2009/11/04/301176.html</guid><wfw:comment>http://www.blogjava.net/cossins/comments/301176.html</wfw:comment><comments>http://www.blogjava.net/cossins/archive/2009/11/04/301176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/cossins/comments/commentRss/301176.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/cossins/services/trackbacks/301176.html</trackback:ping><description><![CDATA[<p>常量的配置，可以用struts.xml配置也可以用struts.properties文件配置。<br />
1&nbsp;struts.properties文件放在classes路径下，Struts2框架就可以加载了。由key-value对组成。<br />
2&nbsp;也可以在struts.xml中配置常量来实现对Struts2的配置,如<br />
&lt;constant name="struts.custom.il8n.resources" value="mess"/&gt;<br />
3&nbsp;除此之外也可以在web.xml中配置FilterDispatcher时候配置Sturts2属性，采用为FilterDispatcher配置初始化参数的方式来配置struts2，如，<br />
&lt;filter&gt;<br />
&lt;filter-name&gt;sturts&lt;/filter-name&gt;<br />
&lt;filter-calss&gt;org.apache.struts2.dispatcher.FilterDispatcher&lt;/filter-calss&gt;<br />
&nbsp;&lt;int-param&gt;<br />
&nbsp;&nbsp;&lt;param-name&gt;struts.custom.il8n.resources&lt;/param-name&gt;<br />
&nbsp;&nbsp;&lt;param-value&gt;mess&lt;/param-value&gt;<br />
&nbsp;&lt;/int-param&gt;<br />
&lt;/filter&gt;<br />
推荐第二种,第一种是为了保持WebWork的向后兼容性。</p>
<p><br />
Struts2默认会加载struts.xml,struts-default.xml,struts-plugin.xml。</p>
<p>可以在struts.xml中用<br />
&lt;include file="sturts-part1.xml"/&gt;<br />
包含其他配置文件。为了增加可读性。<br />
</p>
<br />
<br />
Sturts2中有大量常量可以配置，用来设置struts2框架的功能自己查api.
<img src ="http://www.blogjava.net/cossins/aggbug/301176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/cossins/" target="_blank">南朝</a> 2009-11-04 23:45 <a href="http://www.blogjava.net/cossins/archive/2009/11/04/301176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>