https://blog.csdn.net/qq_23994787/article/details/73612870
按照上面java初级入门教程上开发项目后,使用tomcat运行项目出现 java.lang.ClassNotFoundException: com.filter.HtmlFilter
20-Oct-2020 09:42:33.360 严重 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.filterStart Exception starting filter [HtmlFilter]
java.lang.ClassNotFoundException: com.filter.HtmlFilter
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
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:4637)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5282)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3839)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:291)
at org.apache.catalina.core.StandardContext.backgroundProcess(StandardContext.java:5612)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1389)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1393)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1393)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1361)
at java.lang.Thread.run(Thread.java:748)
20-Oct-2020 09:42:33.361 严重 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate container log file
20-Oct-2020 09:42:33.368 严重 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors
20-Oct-2020 09:42:33.372 信息 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.core.StandardContext.reload Reloading Context with name [] is completed
首先我们确定 web.xml里的 filter路径配置没错,那就是 WEB-INF 里面的 classes 和 lib目录缺失了,下面我们通过 Artifacts 打包项目生成 classes和lib
我项目根目录是 testj
0.首先加载apache的类库 , Project Structure -> Libraries ,设置apache/lib目录
1.配置 Artifacts , Project Structure -> Artifacts ,设置Artifacts输出目录,记得勾选include in project build
2.Build Artifacts
3.Artifacts建好后把artifacts输出目录的 WEB-INF 里的classes和lib 复制 到你项目WEB-INF
4.配置项目的Modules->Paths 和 Modules->Dependencies
5.配置tomcat域名,运行startup.bat ,启动tomcat 访问域名即可
<Host name="www.testj.com" appBase="E:\project\idea_project\testj\web"
unpackWARs="true" autoDeploy="true" xmlNamespaceAware="false" xmlValidation="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="E:\project\idea_project\testj\web" reloadable="true" crossContext="true"></Context>
</Host>
开发java网页项目参考:https://blog.csdn.net/qq_23994787/article/details/73612870
artifacts建立参考:https://blog.csdn.net/qq_36523667/article/details/78584488
web-inf目录参考:https://www.cnblogs.com/DDiamondd/p/10836972.html