如何指定struts2配置文件的路径?
如何指定struts2配置文件的路径?
如题,我现在在用MyEclipse搭框架,想把所有的的配置文件都放在web-inf/cfg/目录下的,这样好统一管理.
看见书上写可以使用init param配个config参数的,然后指定配置文件的目录.但试了n久都没成功,老报
空指针异常.....
把那个config参数去掉,再把struts.xml文件放到src目录就又好了......郁闷.
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>WEB-INF/cfg/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</filter>
------解决方案--------------------在搭建的时候 会让你选择配置文件的目录啊 你选下就可以了!!
------解决方案--------------------在搭建的时候???你的意思是MyEclipse有 struts2 的插件了??
------解决方案--------------------URL没学好吧,
<param-value>WEB-INF/cfg/struts.xml</param-value>
WEB-INF前面要加/改成
<param-value>/WEB-INF/cfg/struts.xml</param-value>
------解决方案--------------------
顶起,楼主servlet学的不怎么好吧,建议加强下
------解决方案--------------------同志,其实,两种方式我都试过了,都不行的...
------解决方案--------------------<param-value>../cfg/struts.xml </param-value>
加载时是用的类中的路径,所以根目录是WEB-INF/classes,所以要向上一层才能找到。不过还是建议楼主把配置文件放到src下,要不在struts.xml中include其它配置文件的时候每个都要写../,影响可读性
------解决方案--------------------web.xml
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>../struts2conf/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>