按照网上说的试了很多方法都不行,都是报找不到action的异常,放到src目录下就没问题了
这是我的配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>config</param-name>
<!--也试过struts-default.xml,struts-plugin.xml,/WEB-INF/config/struts.xml同样不可以-->
<param-value>struts-default.xml,struts-plugin.xml,../config/struts.xml</param-value>
</init-param>
</filter>
放到WEB-INF/config目录下,访问action的时候的异常:
16:57:15,109 WARN [ServletUrlRenderer] No configuration found for the specified
action: 'login' in namespace: ''. Form action defaulting to 'action' attribute'
s literal value.
16:57:16,000 WARN [ServletUrlRenderer] No configuration found for the specified
action: 'login' in namespace: ''. Form action defaulting to 'action' attribute'
s literal value.
16:57:16,171 WARN [Dispatcher] Could not find action or result
There is no Action mapped for namespace / and action name login_rand. - [unknown
location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy
.java:178)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.j
ava:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(St
rutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(D
efaultActionProxyFactory.java:47)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.jav
a:478)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(Exec
uteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
lter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
at java.lang.Thread.run(Thread.java:619)
启动的时候的信息:
16:56:46,687 INFO [XmlConfigurationProvider] Unable to locate configuration fil
es of the name struts-base.xml, skipping
16:56:46,687 INFO [XmlConfigurationProvider] Parsing configuration file [../config/struts.xml]
到底应该怎么配啊,难道只能放到src目录下吗?配置文件多了看着实在不爽啊,管理也不方便
3 个解决方案
#1
在struts2的配置路径中默认是在/WEB-INF/classes下这样可能有一些不方便,比如我们的所有配置文件在/WEB-INF/conf下面,其实配置比较简单就是如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>../conf/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
本来认为成功,结果启动不起来报错,原因是因为更改了config后会把默认的和现有的不能存在继承关系只好包含进来就可以修改struts.xml文件
<struts>
<include file="struts-default.xml" />
.....
</struts>
填上这个就可以了一切OK。
--------------------
以上转自http://blog.sina.com.cn/s/blog_438308750100dsl6.html
--------------------
此类问题建议楼主多搜搜百度谷歌,通常都能找到答案。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>../conf/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
本来认为成功,结果启动不起来报错,原因是因为更改了config后会把默认的和现有的不能存在继承关系只好包含进来就可以修改struts.xml文件
<struts>
<include file="struts-default.xml" />
.....
</struts>
填上这个就可以了一切OK。
--------------------
以上转自http://blog.sina.com.cn/s/blog_438308750100dsl6.html
--------------------
此类问题建议楼主多搜搜百度谷歌,通常都能找到答案。
#2
解决了……
不是配置的不对。。
是包含的不对……
我的struts.xml文件里还包含了一个自定义的配置文件
放到WEB-INF/config之后就不能那样写了。。也要跟着改
改成这个样子
就可以了,晕死。
同样谢谢这位大哥
不是配置的不对。。
是包含的不对……
我的struts.xml文件里还包含了一个自定义的配置文件
<include file="struts-base.xml"/>
放到WEB-INF/config之后就不能那样写了。。也要跟着改
改成这个样子
<include file="../config/struts-base.xml"/>
就可以了,晕死。
同样谢谢这位大哥
#3
将conf文件夹设置成源文件目录就可以了。
#1
在struts2的配置路径中默认是在/WEB-INF/classes下这样可能有一些不方便,比如我们的所有配置文件在/WEB-INF/conf下面,其实配置比较简单就是如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>../conf/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
本来认为成功,结果启动不起来报错,原因是因为更改了config后会把默认的和现有的不能存在继承关系只好包含进来就可以修改struts.xml文件
<struts>
<include file="struts-default.xml" />
.....
</struts>
填上这个就可以了一切OK。
--------------------
以上转自http://blog.sina.com.cn/s/blog_438308750100dsl6.html
--------------------
此类问题建议楼主多搜搜百度谷歌,通常都能找到答案。
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>../conf/struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
本来认为成功,结果启动不起来报错,原因是因为更改了config后会把默认的和现有的不能存在继承关系只好包含进来就可以修改struts.xml文件
<struts>
<include file="struts-default.xml" />
.....
</struts>
填上这个就可以了一切OK。
--------------------
以上转自http://blog.sina.com.cn/s/blog_438308750100dsl6.html
--------------------
此类问题建议楼主多搜搜百度谷歌,通常都能找到答案。
#2
解决了……
不是配置的不对。。
是包含的不对……
我的struts.xml文件里还包含了一个自定义的配置文件
放到WEB-INF/config之后就不能那样写了。。也要跟着改
改成这个样子
就可以了,晕死。
同样谢谢这位大哥
不是配置的不对。。
是包含的不对……
我的struts.xml文件里还包含了一个自定义的配置文件
<include file="struts-base.xml"/>
放到WEB-INF/config之后就不能那样写了。。也要跟着改
改成这个样子
<include file="../config/struts-base.xml"/>
就可以了,晕死。
同样谢谢这位大哥
#3
将conf文件夹设置成源文件目录就可以了。