搭建Struts2的开发环境及配置有关问题

搭建Struts2的开发环境及配置问题
搭建struts2的开发环境
     1、加jar包
(1)commons-fileupload-1.3.1jar
(2)commons-io-2.2.jar
(3)commons-lang3-3.1.jar
(4)commons-logging-1.1.3.jar
(5)freemarker-2.3.19.jar
(6)javassist-3.11.0.GA.jar
(7)ognl-3.0.6.jar
(8)struts2-core-2.3.16.3.jar
(9)xwork-core-2.3.16.3.jar
     2、web.xml配置
直接复制就行,每个工程的web.xml都是一样的
     3、struts.xml配置:可以直接复制struts.xml到src下。
struts.xml配置文件中的属性意义:
<!-- 配置Struts可以受理的请求的扩展名.默认情况下可以应答action 或没有扩展名的-->
   
<constant name="struts.action.extension" value="action,do"></constant>

<!-- 配置开发模式:修改不用重启服务器 --> 
   
<constant name="struts.devMode" value="true"/> 

<!--打开允许动态方法调用的开关,默认是false-->
 
 <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

<!-- 打开静态方法调用的限制 -->
  
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>


<!--
  package:包。struts使用package来组织模块。
  name 属性  必须。用于其他的包引用当前包。name为任意
  extends:当前包继承哪个包,继承的,即可以继承其中的所有的配置,通常情况下继承   struts-default
  struts-default这个包在struts-default.xml文件中定义。
  namespace属性是可选的,如果它没有给出,则以“/”为默认值。
            若有一个非默认值,则想要调用这个包里的Action,则必须把这个命名空间加到有关的URL里
             namespace="/java"      http://localhost:8080/Struts2Demo/java   
-->
   
<package name="com.mystruts.action" extends="struts-default">



<!--
   配置一个action:一个struts2的请求就是一个action
   name:对应一个struts2请求的名字,(或对一个servletPath,但去除/和扩展名)不包含扩展名
   class 的默认值为:com.opensymphony.xwork2.ActionSupport(ActionSupport为默认的类)  属性为Action的实现类
   method 的默认值为:execute
   result:结果。表示action方法执行后可能返回的一个结果,所以一个action节点可能会有多个result节点,多个result子节点使用name来区分。有name和type两个属性
        name 标识一个result,和action方法的返回值对应,默认值为success
        type:表示结果的类型,默认值为dispatcher(转发到结果)
              在struts-default包的result-type节点的name属性中定义
              常用的有:
               >dispatcher(默认的):转发。同Servlet中的转发
               >redirect:重定向
               >redirectAction:重定向到一个Action
                  注意:通过redirect的响应类型也可以便捷的实现redirectAction的功能
               >chain:转发到一个Action
    
<action name="mesave" class="com.mystruts.action.User" method="save">
    	<result name="success" type="dispatcher">success.jsp</result>
    	<result name="login" type="redirect">login.jsp</result>
		<!--重定向到一个Action-->
    	<result name="index" type="redorectAction">  <!-- 有两个参数 -->
    		<param name="actionName">testAction</param><!--  和下面的action name对应-->
    		<param name="namespace">/name</param><!--  和下面的namespace对应-->
		</result>
<!--转发到一个Action-->
        <result name="test" type="chain">
    		<param name="actionName">testAction</param>
    		<param name="namespace">/name</param>
    	</result>
    </action>
<package name="testPackage" namespace="/name" extends="struts-default">
    <action name="testAction" class="com.mystruts.action.TestAction">
       <result>/pages/success.jsp</result>    
	</action>
</package>