• struts2--convention-plugin--零配置


      1 <?xml version="1.0" encoding="UTF-8" ?>
      2 <!DOCTYPE struts PUBLIC
      3     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
      4     "http://struts.apache.org/dtds/struts-2.0.dtd">
      5 
      6 <struts>
      7     <!-- 指定Web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding方法 -->
      8     <constant name="struts.i18n.encoding" value="UTF-8" />
      9     <!-- 指定Struts 2默认的ObjectFactory Bean,该属性默认值是spring -->
     10     <constant name="struts.objectFactory" value="spring" />
     11     <!-- 该属性指定整合Spring框架时,是否缓存Bean实例,该属性只允许使用true和 false两个属性值,它的默认值是true。通常不建议修改该属性值 -->
     12     <constant name="struts.objectFactory.spring.useClassCache"
     13         value="true" />
     14     <!-- 指定spring框架的装配模式装配方式有: name, type, auto, and constructor (name 是默认装配模式) -->
     15     <constant name="struts.objectFactory.spring.autoWire" value="name" />
     16     <!-- 该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为false。 -->
     17     <constant name="struts.enable.DynamicMethodInvocation" value="false" />
     18     <!-- 设置浏览器是否缓存静态内容,默认值为true,开发阶段最好false -->
     19     <constant name="struts.serve.static.browserCache " value="false" />
     20     <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false,开发阶段最好true -->
     21     <constant name="struts.configuration.xml.reload" value="true" />
     22     <!-- 访问静态方法 -->
     23     <constant name="struts.ognl.allowStaticMethodAccess" value="true" />
     24     <!-- 开发模式,发布时要设置为false -->
     25     <constant name="struts.devMode" value="false" />
     26     <constant name="struts.ui.theme" value="simple" />
     27     
     28     <!-- 指定jsp文件所在的目录地址,所有的结果页面默认都存储在WEB-INF/content
     29     <constant name="struts.convention.result.path" value="/WEB-INF/content/" />
     30     -->
     31     
     32     <!-- 用于配置类名后缀,默认为Action,设置后,Struts2只会去找这种后缀名的类做映射 -->
     33     <constant name="struts.convention.action.suffix" value="Action" />
     34     <!-- 设置即使没有@Action注释,依然创建Action映射。默认值是false。因为Convention-Plugin是约定优于配置的风格,
     35             可以不通过注解根据预先的定义就能访问相应Action中的方法 -->
     36     <constant name="struts.convention.action.mapAllMatches" value="true" />
     37     <!-- 用于配置包路径。默认包路径包含action,actions,struts,struts2的所有包都会被struts作为含有Action类的路径来搜索。-->
     38     <constant name="struts.convention.package.locators" value="action" />
     39     <!-- Default parent package for action mappins 使用front转换器 -->
     40     <constant name="struts.convention.default.parent.package" value="front" />
     41     <!-- 该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理。如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开 -->   
     42     <!-- 会导致Config Browser Plugin 无效-->
     43        <constant name="struts.action.extension" value="3d" />   
     44         
     45     <!-- <package>元素可以把逻辑上相关的一组Action、Result、Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包被其他的package继承,比如“<package name="helloworld"  extends="struts-default">”中,helloworld这个包就继承了struts-default这个包。 -->
     46     <!-- 没找到action -->
     47     <package name="default" extends="struts-default">
     48     
     49         <interceptors>        
     50             <interceptor-stack name="secureDefaultStack">
     51                 <interceptor-ref name="defaultStack">
     52                     <!-- 防止漏洞 -->
     53                     <param name="params.excludeParams">(.*.|^|.*|[(&#39;|"))(c|C)lass(.|(&#39;|")]|[).*,^dojo..*,^struts..*,^session..*,^request..*,^application..*,^servlet(Request|Response)..*,^parameters..*,^action:.*,^method:.*</param>
     54                 </interceptor-ref>
     55             </interceptor-stack>
     56         </interceptors>
     57     
     58         <default-interceptor-ref name="secureDefaultStack" />
     59        
     60        <default-action-ref name="notFound" />
     61         <action name="notFound" class="com.maker.app.action.NotFoundAction">
     62             <result name="success">/404.jsp</result>
     63             <result name="error">/404.jsp</result>
     64             <result name="input">/404.jsp</result>
     65         </action>
     66         
     67     </package>
     68 
     69     <package name="base" extends="struts-default">
     70     
     71         <result-types>
     72             <result-type name="json" class="org.apache.struts2.json.JSONResult">
     73                 <param name="ignoreHierarchy">false</param>
     74                 <param name="excludeProperties">locale</param>
     75                 <param name="excludeNullProperties">true</param>
     76             </result-type>
     77         </result-types>
     78 
     79         <!-- 重新定义过滤器,配置方法级别的校验,注意如果改版本请从版本中取出struts-default.xml copy update -->
     80         <interceptors>
     81             <interceptor-stack name="defaultParentStack">
     82                 <interceptor-ref name="exception" />
     83                 <interceptor-ref name="alias" />
     84                 <interceptor-ref name="servletConfig" />
     85                 <interceptor-ref name="i18n" />
     86                 <interceptor-ref name="prepare" />
     87                 <interceptor-ref name="chain" />
     88                 <interceptor-ref name="scopedModelDriven" />
     89                 <interceptor-ref name="modelDriven" />
     90                 <interceptor-ref name="fileUpload" />
     91                 <interceptor-ref name="checkbox" />
     92                 <interceptor-ref name="multiselect" />
     93                 <interceptor-ref name="staticParams" />
     94                 <interceptor-ref name="actionMappingParams" />
     95                 <interceptor-ref name="params">
     96                     <param name="excludeParams">(.*.|^|.*|[(&#39;|"))(c|C)lass(.|(&#39;|")]|[).*,^dojo..*,^struts..*,^session..*,^request..*,^application..*,^servlet(Request|Response)..*,^parameters..*,^action:.*,^method:.*</param>
     97                 </interceptor-ref>
     98                 <interceptor-ref name="conversionError" />
     99                 <interceptor-ref name="validation">
    100                     <param name="excludeMethods">input,back,cancel,browse</param>
    101                     <!-- 配置方法级别的校验 -->
    102                     <param name="validateAnnotatedMethodOnly">true</param>
    103                 </interceptor-ref>
    104                 <interceptor-ref name="workflow">
    105                     <param name="excludeMethods">input,back,cancel,browse</param>
    106                 </interceptor-ref>
    107                 <interceptor-ref name="debugging" />
    108             </interceptor-stack>
    109 
    110             <!-- The completeStack is here for backwards compatibility for applications 
    111                 that still refer to the defaultStack by the old name -->
    112             <interceptor-stack name="completeStack">
    113                 <interceptor-ref name="defaultStack" />
    114             </interceptor-stack>
    115 
    116             <!-- Sample execute and wait stack. Note: execAndWait should always be 
    117                 the *last* interceptor. -->
    118             <interceptor-stack name="executeAndWaitStack">
    119                 <interceptor-ref name="execAndWait">
    120                     <param name="excludeMethods">input,back,cancel</param>
    121                 </interceptor-ref>
    122                 <interceptor-ref name="defaultStack" />
    123                 <interceptor-ref name="execAndWait">
    124                     <param name="excludeMethods">input,back,cancel</param>
    125                 </interceptor-ref>
    126             </interceptor-stack>
    127         </interceptors>
    128         <default-interceptor-ref name="defaultParentStack" />
    129 
    130     </package>
    131     
    132     <!-- 前端默认包 -->
    133     <package name="front" extends="default">
    134 
    135         <result-types>
    136             <result-type name="json" class="org.apache.struts2.json.JSONResult">
    137                 <param name="ignoreHierarchy">false</param>
    138                 <param name="excludeProperties">locale,texts,errorMessages,errors,fieldErrors</param>
    139                 <param name="excludeNullProperties">true</param>
    140             </result-type>
    141         </result-types>
    142 
    143     </package>
    144 
    145 </struts>
    struts.xml

    参考:

    convention-plugin帮助页

    dependence

    在maven repository search :convention-plugin

    使用 config Browser Plugin 查看Struts2运行期间可通过此插件查看Struts2的配置情况

    在maven repository search :Configuration Browser Plugin


    maven web 基本架构

    project

      -src/main/java

      -src/main/resource

      -src/main/webapp/*在eclipse上maven模式,不显示在工程上,相当于webRoot*/

        --META-INF

        --WEB-INF

        --index.jsp

      -test/main/java

      -test/main/resource

      -target

      -pom.xml

    给笨笨的自己提个醒>_<~
  • 相关阅读:
    GFS文件系统和在RedHat Linux下的配置
    FastDFS connect timed out
    大型高并发高负载网站的系统架构
    FastDFS 上传文件
    FastDFS常见命令
    FastDFS安装、配置、部署
    分布式文件系统FastDFS原理介绍
    Jenkins+Maven+Svn搭建持续集成环境持续集成和自动部署
    Java中的向上转型和向下转型
    Java中的final修饰符
  • 原文地址:https://www.cnblogs.com/ephuizi/p/4539742.html
Copyright © 2020-2023  润新知