zoukankan      html  css  js  c++  java
  • struts2设置加载非默认路径的struts.xml文件解决方案

    方案一:
      首先我们要明白struts2加载配置文件都是从它自己的jar包和WEB-INFclasses两个默认的位置加载的,如果你想改变strusts2中的文件的默认加载路径,可以在web项目的web.xml配置过滤器的时候指定。
    如(配置过虑器的部分代码):
       
    <filter>
          <filter-name>struts2</filter-name>
             <filter-class>
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
            </filter-class>       
            <init-param>
               <param-name>config</param-name>
               <param-value>struts-default.xml,struts-plugin.xml,../STRUTS-XML/struts.xml </param- value>
          </init-param
    >
        </filter>
    我在这里是把struts.xml放在 WEB-INFSTRUTS-XMLstruts.xml 


       上面加载struts.xml是使用的相对路径(相对于WEB-INFclasses目录".."后退退到WEB-INF目录);
    ----------------------------------------------------------------------------------------------
    如果把struts.xml放在 srcSTRUTS-XMLstruts.xml 中,这时既可以使用相对路径,又可以使用绝对路径 ,分别如下:
      绝对路径:<param-value>struts-default.xml,struts-plugin.xml,/STRUTS-XML/struts.xml </param- value>             (这时“/”就是相当于classes目录
      相对路径:<param-value>struts-default.xml,struts-plugin.xml,STRUTS-XML/struts.xml </param- value>          (这时是相对于WEB-INFclasses目录

      ####要注意的是,如果你设置了<param-name>config</param-name>参数,那么struts-default.xml等原来struts2默认加载的文件你也要指定,否则它好像不会自动加载,会出错

    可以加载到struts.xml中(<include file="struts-default.xml"></include>)

    (另外 struts-default.xml,struts-plugin.xml 是不用特殊指定的 struts.xml放到根目录下就可以 在struts.xml 里include 其他的struts.xml 而struts.xml 主要是进行一些配置的(比如字符类型等))
    3.而且使用<include file="../STRUTS-XML/user.xml"/>标签时也要系一个都要指定相对的路径和struts.xml指定一样
    还有一种不用这样配置的方法就是使用<include file="/STRUTS-XML/user.xml"/>
    也就是struts.xml放在默认的位置,只是其它的配置放到其它的地方
    如:

    XML code
    <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="false" /> <include file="STRUTS-XML/user.xml"/></struts>

    我就是把user.xml文件放到了WEB-INFclassesSTRUTS-XML目录下
    这样也可以达到统一管理配置文件,也不用配置<param-name>config</param-name>参数
    方案二:
        和设置struts.properties的自定义路径相同:
        博客地址:http://blog.sina.com.cn/s/blog_7ffb8dd50101402x.html

  • 相关阅读:
    centos7下安装jdk
    在centos7关于防火墙的基本操作
    hadoop的特性
    java中怎么使用combobox,并获取其选中的值
    @suppressWarnings("unchecked")在java中的作用
    The processing instruction target matching "[xX][mM][lL]" is not allowed.
    Invalid byte 2 of 2-byte UTF-8 sequence解决方案
    Nmap
    XSS-笔记
    sql盲注-笔记
  • 原文地址:https://www.cnblogs.com/kabi/p/5182770.html
Copyright © 2011-2022 走看看