异常启动过滤器[struts2] java.lang.ClassNotFoundException:top.xgystudy.util.EditorStrutsFilter

时间:2017-09-17 03:26:20

标签: java

我使用strut2 + hibernate构建一个简单的项目。当我为这个项目启动tomcat时,它显示:

Exception starting filter [struts2]
java.lang.ClassNotFoundException: top.xgystudy.util.EditorStrutsFilter
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:512)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:493)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:264)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4590)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5233)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:630)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1842)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

九月 17, 2017 10:05:48 上午 org.apache.catalina.core.StandardContext startInternal
严重: One or more Filters failed to start. Full details will be found in the appropriate container log file
九月 17, 2017 10:05:48 上午 org.apache.catalina.core.StandardContext startInternal
严重: Context [/strut_test] startup failed due to previous errors

我尝试了很多方法来解决这个异常并在互联网上搜索信息。但是我不能解决这个问题。我是初学者,请帮助我。 这是我的代码:

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <display-name>test_belog</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>top.xgystudy.util.EditorStrutsFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

sturts.xml

<?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="/my_action" extends="struts-default">


         <action name="deal" class="top.xgystudy.action.Deal" method="add_article">
            <result>/head.html </result>

        </action>
        <action name="deal" class="top.xgystudy.action.Deal" method="he">
            <result>/r.jsp </result>

        </action>
           <action name="deal" class="top.xgystudy.action.Deal" method="show_article">
            <result>/show.jsp </result>

        </action>
    </package>
</struts>

EditorStrutsFilter.java :这是我定义的新过滤器。

package top.xgystudy.util;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;

public class EditorStrutsFilter extends StrutsPrepareAndExecuteFilter {
    public void doFilter(ServletRequest req, ServletResponse res,
             FilterChain chain) throws IOException, ServletException {
         HttpServletRequest request = (HttpServletRequest) req;
         String url = request.getRequestURI();        
         System.out.println(url);        
         if (url.contains("/jsp/")) {            
             System.out.println("使用自定义过滤器");            
             chain.doFilter(req, res);        
         }else{            
             System.out.println("使用默认过滤器");            
             super.doFilter(req, res, chain);        
        }
     }
}

我也导入了罐子,包括: 公地文件上传-1.3.1.jar
公地IO-2.4.jar
公地lang3-3.1.jar
共享记录-1.1.3.jar
 freemarker的-2.3.19.jar
Javassist进行-3.15.0.GA.jar
OGNL-3.0.5.jar
Struts2的核心 - 2.3.4.jar
xwork-core-2.3.4.jar

0 个答案:

没有答案