gpt4 book ai didi

java - Servlet 不初始化

转载 作者:行者123 更新时间:2023-11-28 23:55:51 25 4
gpt4 key购买 nike

我在我的项目中使用了 servlet。今天一切都很好。我使用 GWT,但我认为这不重要。在我的服务器端,我需要获取这样的上下文路径

path = ConfAppServer.getRealContextPath() + "/docviewer";
logger.debug("Path = " + path);

但是在日志文件中我得到以下信息

Path = null/docviewer

ConfAppServer 类包含服务器端配置。运行 servlet ConfigServlet 时会设置一些设置。

public class ConfAppServer {
private static String realContextPath;
public static String getContextPath() {
return contextPath;
}

public static String getRealContextPath() {
return realContextPath;
}
}

public class ConfAppServlet extends HttpServlet {

public void init(ServletConfig config) throws ServletException {
LOG.info("begin ConfAppServlet init");
}

但是我没有得到最后的日志信息。 Servlet 不初始化。这是我的 web.xml 文件

<servlet>
<description>Servlet to identify and download the application settings</description>
<servlet-name>ConfAppServlet</servlet-name>
<servlet-class>com.myproject.servlet.ConfAppServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

但是当我在 Eclipse 中运行我的项目时,servlet 工作正常。但是当我在服务器上部署 war 时,servlet 停止工作。

我将 Eclipse Indigo 与默认内部服务器一起使用。我的外部服务器是 Apache Tomcat 7

请帮助我解决我的问题。我应该怎么办?为什么这个 servlet 没有初始化以及如何修复它?

编辑在我的 tomcat 日志文件中,我找到了这一行

ERROR:  'C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\null\docviewer

编辑 2我在我的日志文件中发现了错误

Dec 03, 2014 10:14:26 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet ConfAppServlet as unavailable
Dec 03, 2014 10:14:26 AM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /egr threw load() exception
java.lang.ClassNotFoundException: by.avest.crypto.pkcs11.provider.AvestProvider
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:127)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1043)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4957)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5284)
at org.apache.catalina.core.StandardContext$3.call(StandardContext.java:5279)
at java.util.concurrent.FutureTask$Sync.innerRun(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)

编辑 3我将缺少的类添加到 lib 文件夹中,一切正常。这很奇怪,因为我没有更改与此类相关的任何内容。谢谢大家的帖子!

最佳答案

尝试在 init 方法中调用 super.init(config)

关于java - Servlet 不初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27270436/

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