今天尝试配置了一下struts2.5,和2.3还是有差别的,网上资料也比较少,简直是一脸蒙逼~先把搜来的配置贴上,以后有机会了还是要多研究一下!
1.将struts.xml放在src下,删除没必要的 添加类似
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.objectFactory" value="spring"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<include file="struts-default.xml" />
<package name="default" extends="struts-default" namespace="/" strict-method-invocation="false">
<global-allowed-methods>*</global-allowed-methods>
<action name="register" class="com.ssh.action.RegisterAction" method="execute">
<result name="input">/Register.jsp</result>
<result name="success">/Success.jsp</result>
<result name="error">/Fail.jsp</result>
</action>
</package>
</struts>
2.在WEB-INF 下的web.xml中添加类似
<filter>
<filter-name>struts-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>struts-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>
org.apache.struts2.tiles.StrutsTilesListener
</listener-class>
</listener>
<listener>
<listener-class>org.apache.struts2.dispatcher.listener.StrutsListener</listener-class>
</listener>
如果listener不加会报错
3.拷入applicationContext.xml到web.xml同级别
内容暂时只保留beans部分
下面继续总结struts2.3的学习笔记!
struts.xml配置文件:
默认命名空间不需要指明 namespace="/",在一个命名空间下面不允许配置两个相同的Action
好处:
1.业务更加清晰明了
2.开始一些组件应用,它脱离于业务开发,比如:文件上传、文件下载、验证码
<!--
注册其他strust配置文件到struts.xml中,指明的是classPath下面的文件和引入顺序无关
1.分包可以将大量的Action配置包含在其他文件中,让程序和业务更加清晰!
2.高内聚 低耦合
-->
<include file="struts-login.xml"></include>
<include file="struts-user.xml"></include>
struts-default.xml,名副其实的核心文件,配置了非常丰富的功能,
包括页面参数值注入到Action、数据类型转换工厂、拦截器工厂、验证工厂等,
jsp、freemaker、velocity主题模版以及处理文件上传,
指明页面返回的类型,如dispatcher、redirect、redirectAction、plainText、chain等...
<!-- 打印页面的源代码 -->
<result name="plainText" type="plainText">/loginSuccess.jsp</result>
<!-- 重定向 和转发 -->
<result name="redirect" type="redirect">/loginSuccess.jsp?username=${username}&password=${password}</result>
<result name="redirectAction" type="redirectAction">login_update.action</result>
<!-- 链表结构 -->
<!-- 如果是重定向action时候是不需要斜线,如果chain是不需要加.action -->
<result name="chain" type="chain">login_update</result>