struts2的struts.xml配置问题, 困扰多日, 求高手搭救!!多谢啦

object_allen 2015-12-19 10:01:27
按照教材写一个struts2入门程序, 项目结构如图

struts.xml配置如下

web.xml配置如下

Hello.jsp对应的acton类

jsp页面如下

总是报如下错
严重: Dispatcher initialization failed
Unable to load configuration. - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:7:50
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4574)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5193)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: Action class [allen.Helloaction] not found - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:7:50
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:486)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:429)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:556)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:295)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:264)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
... 17 more

十二月 19, 2015 10:03:13 下午 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:7:50
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:493)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4574)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5193)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: Unable to load configuration. - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:7:50
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:967)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:435)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:479)
... 14 more
Caused by: Action class [allen.Helloaction] not found - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:7:50
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:486)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:429)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:556)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:295)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:264)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
... 17 more

十二月 19, 2015 10:03:13 下午 org.apache.catalina.core.StandardContext startInternal
严重: One or more Filters failed to start. Full details will be found in the appropriate container log file
十二月 19, 2015 10:03:13 下午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/strutsRUMEN] startup failed due to previous errors
十二月 19, 2015 10:03:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Tomcat\tomcat8\webapps\docs
十二月 19, 2015 10:03:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Tomcat\tomcat8\webapps\docs has finished in 99 ms
十二月 19, 2015 10:03:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Tomcat\tomcat8\webapps\examples
十二月 19, 2015 10:03:13 下午 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
十二月 19, 2015 10:03:13 下午 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
十二月 19, 2015 10:03:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Tomcat\tomcat8\webapps\examples has finished in 666 ms
十二月 19, 2015 10:03:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Tomcat\tomcat8\webapps\host-manager
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Tomcat\tomcat8\webapps\host-manager has finished in 63 ms
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Tomcat\tomcat8\webapps\manager
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Tomcat\tomcat8\webapps\manager has finished in 78 ms
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Tomcat\tomcat8\webapps\myfirst
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Tomcat\tomcat8\webapps\myfirst has finished in 47 ms
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory D:\Tomcat\tomcat8\webapps\ROOT
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deployment of web application directory D:\Tomcat\tomcat8\webapps\ROOT has finished in 46 ms
十二月 19, 2015 10:03:14 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-nio-8080"]
十二月 19, 2015 10:03:14 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-nio-8009"]
十二月 19, 2015 10:03:14 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 4940 ms

...全文
295 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_35117601 2016-12-15
  • 打赏
  • 举报
回复
web.mxl版本错误。javaee版本选择1.6就可以了。或者直接修改web.xml.
object_allen 2016-01-17
  • 打赏
  • 举报
回复
多日后再重新来看这个问题, 发现是eclipse中struts.xml只能放在web-inf文件夹下面的classes文件夹里, 具体原因不详, 还有要讲src中各文件的class文件output到web-inf的classes文件夹下, 再clean一下项目即可
街头小贩 2015-12-19
  • 打赏
  • 举报
回复
引用 5 楼 object_allen 的回复:
Unable to load configuration. - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:10:47 还是在执行到action中的class属性时报错
你的配置文件还是有错误。这个东东确是很难搞,不如spring mvc直观
街头小贩 2015-12-19
  • 打赏
  • 举报
回复
下一个all包,里面有示例和教程
object_allen 2015-12-19
  • 打赏
  • 举报
回复
Unable to load configuration. - action - file:/D:/Tomcat/tomcat8/webapps/strutsRUMEN/WEB-INF/classes/struts.xml:10:47 还是在执行到action中的class属性时报错
object_allen 2015-12-19
  • 打赏
  • 举报
回复
引用 3 楼 xiaofanku 的回复:
[quote=引用 2 楼 object_allen 的回复:] 没有啊,都在webcontent下, 我把struts.xml中action的class属性删掉就可以了,但是对应的action实体类没有用到啊
自已另写一个package

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
 
    <package name="openlab" extends="struts-default">
 
        <action name="index">
            <result>/index.jsp</result>
        </action>
 
    </package>
    <package name="user" namespace="/user" extends="struts-default" >
        <action name="login" class="net.openlab.action.UserAction" method="execute">
             <result name="error">/error.jsp</result>
             <result name="success" type="redirectAction">
                <param name="actionName">home</param>
            </result>
        </action>
        <action name="home" class="net.openlab.action.UserAction" method="userHome">
            <result name="success">/home.jsp</result>
        </action>
    </package>
</struts>
[/quote] 嗯嗯,谢谢 我再琢磨琢磨
街头小贩 2015-12-19
  • 打赏
  • 举报
回复
引用 2 楼 object_allen 的回复:
没有啊,都在webcontent下, 我把struts.xml中action的class属性删掉就可以了,但是对应的action实体类没有用到啊
自已另写一个package

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
 
    <package name="openlab" extends="struts-default">
 
        <action name="index">
            <result>/index.jsp</result>
        </action>
 
    </package>
    <package name="user" namespace="/user" extends="struts-default" >
        <action name="login" class="net.openlab.action.UserAction" method="execute">
             <result name="error">/error.jsp</result>
             <result name="success" type="redirectAction">
                <param name="actionName">home</param>
            </result>
        </action>
        <action name="home" class="net.openlab.action.UserAction" method="userHome">
            <result name="success">/home.jsp</result>
        </action>
    </package>
</struts>
object_allen 2015-12-19
  • 打赏
  • 举报
回复
没有啊,都在webcontent下, 我把struts.xml中action的class属性删掉就可以了,但是对应的action实体类没有用到啊
街头小贩 2015-12-19
  • 打赏
  • 举报
回复
你的jsp文件都在web-inf目录下吧

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧