关于struts2demo无法启动的奇怪问题

该demo来自慕课网,传送门
报错信息如下:

三月 29, 2016 1:22:38 上午 org.apache.catalina.core.AprLifecycleListener init

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: F:\WorkTools\MyEclipse\binary\com.sun.java.jdk7.win32.x86_64_1.7.0.u45\bin;F:\WorkTools\MyEclipse\plugins\com.genuitec.eclipse.server.embedded.tomcat.core_13.0.0.me201503191638\tomcat70\bin

三月 29, 2016 1:22:39 上午 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["http-bio-8080"]

三月 29, 2016 1:22:39 上午 org.apache.coyote.AbstractProtocol init

信息: Initializing ProtocolHandler ["ajp-bio-8009"]

三月 29, 2016 1:22:39 上午 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 479 ms

三月 29, 2016 1:22:39 上午 org.apache.catalina.core.StandardService startInternal

信息: Starting service Catalina

三月 29, 2016 1:22:39 上午 org.apache.catalina.core.StandardEngine startInternal

信息: Starting Servlet Engine: Apache Tomcat/7.0.56

我想错误应该是指struts.xml的第19行吧?附上其的代码:


<?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="default" namespace="/" extends="struts-default">
        <!-- 注册拦截器 -->
        <interceptors>
            <interceptor name="mytimer" class="com.imooc.interceptor.TimerInterceptor"/>
        </interceptors>
    
        <action name="timer" class="com.imooc.action.TimerAction">
            <result>/success.jsp</result>
            <!-- 为Action显示引用拦截器后,默认的拦截器defaultStack不再生效,需要手工引用 -->
            <interceptor-ref name="defaultStackz"></interceptor-ref><!--这是第19行 -->
            <!-- 引用拦截器 -->
            <interceptor-ref name="mytimer"/>
        </action>
    </package></struts>

求救啊各位大神T0T。
会不会和环境有关?我用的是jdk1.8和tomcat8


繁星点点滴滴
浏览 435回答 2
2回答

哈士奇WWW

你默认拦截器的名字写错了吧?你看你的报错信息:Caused by: Unable to find interceptor class referenced by ref-name defaultStackz -,应该是defaultStack

慕森卡

找不到19行拦截器对应的类,你看你类名是不是写错了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java