Struts2 part 1:快速入门


 

 

导入jar包,struts-2.3.4\apps\struts2-blank.war 中所有jar包

struts2-core-2.3.1.1.jar:Struts 2框架的核心类库
xwork-core-2.3.1.1.jar:Command模式框架,WebWork和Struts2都基于xwork
ognl-3.0.3.jar:对象图导航语言(Object Graph Navigation Language), struts2框架通过其读写对象的属性
freemarker-2.3.18.jar:Struts 2的UI标签的模板使用FreeMarker编写
commons-logging-1.1.x.jar:ASF出品的日志包,Struts 2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。
commons-fileupload-1.2.2.jar: 文件上传组件,2.1.6版本后需要加入此文件
commons-io-2.0.1.jar:传文件依赖的jar包
commons-lang-2.5.jar:对java.lang包的增强

 

在web.xml中配置Struts2过滤器,过滤器配置/* , 但是struts2 默认处理.action结尾请求,分发到相应Action类

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

编写jsp页面

//request.jsp
<a href="${pageContext.request.contextPath }/request.action">请求</a>
//success.jsp

 Action类,方法名称必须是execute

package demo01;
public class RequestAction {
public String execute() {
return "success";
}
}

 编写struts.xml文件

<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />

<package name="default" namespace="/" extends="struts-default">
<action name="request" class="demo01.RequestAction">
<result name="success">/demo01/success.jsp</result>
</action>
</package>

</struts>

 如果不能联网,手动引入dtd约束

 

 

Struts2的配置文件由StrutsPrepareAndExecuteFilter负责加载,加载顺序

init_DefaultProperties(); // [1]   ----------  org/apache/struts2/default.properties 
init_TraditionalXmlConfigurations(); // [2] --- struts-default.xml,struts-plugin.xml,struts.xml
init_LegacyStrutsProperties(); // [3] --- 自定义struts.properties
init_CustomConfigurationProviders(); // [5] ----- 自定义配置提供
init_FilterInitParameters() ; // [6] ----- web.xml
init_AliasStandardObjects() ; // [7] ---- Bean加载

default.properties 该文件保存在 struts2-core-2.3.7.jar 中 org.apache.struts2包里面  (常量的默认值)
struts-default.xml 该文件保存在 struts2-core-2.3.7.jar  (Bean、拦截器、结果类型 )
struts-plugin.xml 该文件保存在struts-Xxx-2.3.7.jar  (在插件包中存在 ,配置插件信息 )
struts.xml 该文件是web应用默认的struts配置文件 (实际开发中,通常写struts.xml )
struts.properties 该文件是Struts的默认配置文件  (配置常量 )
web.xml 该文件是Web应用的配置文件 (配置常量 )

默认action配置,客户端访问action,action未找到,会使用默认action,一般用于默认的错误处理页面

<default-action-ref name="action元素的name属性" />

action默认处理类配置,客户端访问action,action可以找到,但类没有找到,会执行action默认处理类


<default-class-ref class="完成类名" />

 


struts中默认常量在default.properties中,常量还可以在struts.xml中配置


<constant name="struts.devMode" value="true" />

 struts.properties中


 struts.devMode = true

 web.xml中


<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.devMode</param-name>
<param-value>true</param-value>
</init-param>
</filter>

 这三个位置都可配置常量

   指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出
<constant name="struts.i18n.encoding" value="UTF-8"/>
该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts2处理。
如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开
<constant name="struts.action.extension" value="action"/>
设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭
<constant name="struts.serve.static.browserCache" value="false"/>
当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开
<constant name="struts.configuration.xml.reload" value="true"/>
开发模式下使用,这样可以打印出更详细的错误信息
<constant name="struts.devMode" value="true" />
默认的视图主题
<constant name="struts.ui.theme" value="simple" />
与spring集成时,指定由spring负责action对象的创建
<constant name="struts.objectFactory" value="spring" />
该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性
为 false
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
上传文件的大小限制
<constant name="struts.multipart.maxSize" value=“10701096"/>

 struts2配置文件分离

<include file="struts-part1.xml"/>

 


 


 


 


 


 


 


 


 


 


 


 


 


 












  • 大小: 116 KB












本站声明
本文转载自:http://mvplee.iteye.com/blog/2240060     作者:mvplee     发布日期:2015-09-02     本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。


 
© 2014-2016 ITdaan.com 粤ICP备14056181号