Struts2.1.x 安装及配置

1.下载最新版本struts2

struts下载站点:http://struts.apache.org/ 此处,可下载struts2.1.x.all.zip,该版本包含了所有文件。

2. 获取最小jar集合

解压文件 struts-2.1.8-all/struts-2.1.8/apps/struts2-blank-2.1.8.war ,得到lib目录中的最小struts集合

struts2-core-2.1.6.jar

freemarker-2.3.13.jar

commons-logging-1.0.4.jar

ognl-2.6.11.jar

xwork-2.1.2.jar

commons-fileupload-1.2.1.jar

以上六个文件为支持struts所需要的最小jar集合

特别的,struts2.1.x支持 convention(约定),如果需要约定支持,需要该jar

struts2-convention-plugin-2.1.8.jar

3.新建eclipse web工程,并拷贝jar到工程/web-inf/lib下

4.配置web.xml

--------

        <!-- struts2 -->

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


        <!-- end struts2 -->

---------

5.配置struts.xml

在src目录下,新建struts.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!--开发模式设置开始//--> <!--++++++++++++++++++++++++++++++++++++++++++++++++开发状态 -->
<constant name="struts.devMode" value="true" />
<!-- 国际化资源重新加载 -->
<constant name="struts.i18n.reload" value="true" />
<!-- 配置文件重新加载 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- convention类从新加载 -->
<constant name="struts.convention.classes.reload" value="true" />
<!--++++++++++++++++++++++++++++++++++++++++++++++++开发模式结束 -->
    <!-- 主题 -->
    <constant name="struts.ui.theme" value="simple" />
    <!-- 地区 -->
    <constant name="struts.locale" value="zh_CN" />
    <!-- 国际化编码 -->
    <constant name="struts.i18n.encoding" value="UTF-8" />
    <!-- 扩展-->
    <constant name="struts.action.extension" value="action,do" />
    <!-- 启用动态方法调用 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />

    <!-- 设置Struts 2是否允许在Action名中使用斜线 -->
    <constant name="struts.enable.SlashesInActionNames" value="false" />
    <!-- 结果资源所在路径 -->
    <constant name="struts.convention.result.path" value="/WEB-INF/page"/>

    <!-- action后缀 -->
    <constant name="struts.convention.action.suffix" value="Action"/>

    <!-- 名称首字母小写 -->
    <constant name="struts.convention.action.name.lowercase" value="true"/>
    <!-- 分隔符 一个action名字的获取。比如为HelloWorldAction。按照配置,actionName为hello_world。 -->
    <constant name="struts.convention.action.name.separator" value="_"/>

    <!-- 禁用扫描 -->
    <constant name="struts.convention.action.disableScanning" value="false"/>
    <!-- 默认包 -->
    <constant name="struts.convention.default.parent.package" value="default"/>
    <!--确定搜索包的路径。只要是结尾为action的包都要搜索。basePackage按照默认不用配置,如果配置,只会找以此配置开头的包。locators及locators.basePackage都是一组以逗号分割的字符串。 -->
     <!--
    <constant name="struts.convention.package.locators" value="action"/>
      -->
    <!-- 禁用包搜索 -->
     <!--
    <constant name="struts.convention.package.locators.disable" value="false"/>
      -->
    <!-- 基于什么包 -->
   <constant name="struts.convention.package.locators.basePackage" value="com.action"/>
    <!-- 排除的包 -->
    <constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate.*"/>
    <!-- 包含的包 -->
    <!-- 包括的jar,一般用于大型项目,其action一般打包成jar -->
    <constant name="struts.convention.action.includeJars" value="" />
    <!-- 结果类型 -->
    <constant name="struts.convention.relative.result.types" value="dispatcher,freemarker"/>

    <!-- 如果此值设为true,如果一个action的命名空间为/login,名称为HelloWorldAction。result返回值是success,默认会找到/WEB-INF/pages/login/hello_world.jsp(如果有hello_world_success.jsp就找这个文件,连接符“_”是在<constant name="struts.convention.action.name.separator" value="_"/>中配置的)。如果有一个action的result返回值是“error”,就会找/WEB-INF/pages /login/hello_world_error.jsp。 如果此值设为false,如果一个action的命名空间为/login,名称为HelloWorldAction。result返回值是success,默认会找到/WEB- INF/pages/login/hello_world/index.jsp(如果有success.jsp就找这个文件)。如果有一个action的result返回值是“error”,就会找/WEB-INF/pages /login/hello_world/error.jsp。 -->
    <constant name="struts.convention.result.flatLayout" value="true"/>
    <constant name="struts.convention.action.mapAllMatches" value="false"/>
    <!-- 检查是否实现action -->
    <constant name="struts.convention.action.checkImplementsAction" value="true"/>
    <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
    <constant name="struts.convention.redirect.to.slash" value="true"/>
    <package name="default" extends="struts-default">
       <interceptors>
         <interceptor-stack name="defaultStack">
            <interceptor-ref name="exception" />
            <interceptor-ref name="servletConfig" />
            <interceptor-ref name="actionMappingParams" />
            <interceptor-ref name="staticParams" />
            <interceptor-ref name="params" />
         </interceptor-stack>
       </interceptors>
   </package>
</struts>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值