gpt4 book ai didi

java - Servlet web.xml 过滤器——未找到类异常

转载 作者:行者123 更新时间:2023-12-01 22:40:37 25 4
gpt4 key购买 nike

我在设置过滤器时遇到问题 -我在 web.xml 中定义的过滤器看起来像这样

  <filter>
<filter-name>Log</filter-name>
<filter-class>test.log</filter-class>
</filter>
<filter-mapping>
<filter-name>Log</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

但是我收到以下错误 -

SEVERE: Exception starting filter Log
java.lang.ClassNotFoundException: test.log
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:256)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)

我已经定义了类,但由于某种原因我收到了 Classnotfound 异常。有人可以帮我吗?

编辑 ---

我有一个名为 test 的包和一个名为 log 的类。

             package test;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;

// Implements Filter class
public class log implements Filter {
public void init(FilterConfig config) {

}
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
throws java.io.IOException, ServletException {

// Get the IP address of client machine.
String ipAddress = request.getRemoteAddr();

// Log the IP address and current timestamp.
System.out.println("IP "+ ipAddress + ", Time "
+ new Date().toString());

// Pass request back down the filter chain
chain.doFilter(request,response);
}
public void destroy( ){
/* Called before the Filter instance is removed
from service by the web container*/
}
}

谢谢,

最佳答案

有趣的是,今天我在昨天工作时也遇到了同样的问题。经过调查显示没有任何问题,我得出结论这是一个 Eclipse 环境问题:

  • 停止 tomcat 服务器
  • 清理了项目(项目->清理...)
  • 刷新整个项目(右键单击项目名称 -> 刷新)
  • 重新启动服务器。

问题消失了!

关于java - Servlet web.xml 过滤器——未找到类异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11659047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com