java - servlet 不可用

标签 java jsp servlets tomcat6 web.xml

我有一个远程 tomcat 6.0.24 服务器,上面有一个网络应用程序。 现在,当我输入映射到服务器上的特定 url ( website/wordbank/xmldictionaryservice ) 时,我会得到以下内容:

HTTP Status 404 - Servlet xmldictionaryserviceservlet is not available

type: Status report

message: Servlet xmldictionaryserviceservlet is not available

description: The requested resource (Servlet xmldictionaryserviceservlet is not available) is not available.

...我期待一个带有文件选择器和提交按钮的小表单。

web.xml 的相关部分在这里:

<web-app>
...
    <servlet>
        <servlet-name>xmldictionaryserviceservlet</servlet-name>
        <servlet-class>wordbank.servlets.XMLDictionaryServiceServlet</servlet-class>
    </servlet>
...
    <servlet-mapping>
        <servlet-name>xmldictionaryserviceservlet</servlet-name>
        <url-pattern>/xmldictionaryservice</url-pattern>
    </servlet-mapping>
...
</web-app>

xmldictionaryservice.jsp 的内容:

<html>
<body>

<form action="xmldictionaryservice" method="post" enctype="multipart/form-data">
<input name="xmlfile" type="file">
<input name="send" type="submit">
</form>

</body>
</html>

目录树是:

webapps
 |
 ...
 +-wordbank
    |
    ...
    +-xmldictionaryservice.jsp
    +-WEB-INF
       |
       +-web.xml
       +-classes
          |
          +-wordbank
             |
             ...
             +-servlets
                |
                ...
                +-XMLDictionaryServiceServlet.class

我已经检查了各种类似的线程,但它们没有帮助我。 有人知道这里出了什么问题吗?

最佳答案

Servlet xmldictionaryserviceservlet is not available

这条特定于 Tomcat 的消息意味着在 Web 应用程序启动期间,Tomcat 的以下操作失败了:

String servletClass = "wordbank.servlets.XMLDictionaryServiceServlet";
String servletUrlPattern = "/xmldictionaryservice";

Servlet servlet = (Servlet) Class.forName(servletClass).newInstance();
servlet.init(servletConfig);
servlets.put(servletUrlPattern, servlet);

所以,可能的原因至少是找不到servlet类,或者servlet的默认构造函数不存在或抛出异常,或者init()方法抛出异常,或者该类根本没有实现 Servlet(阅读:扩展 HttpServlet)。

有关此问题的信息应该在启动过程中尽早出现在服务器日志中。再次读取服务器日志以找到真正的异常和堆栈跟踪,并相应地修复 servlet 类。

关于java - servlet 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11136045/

相关文章:

java - 使用 Avro java api 动态插入枚举符号

偶尔找不到 Eclipse Tomcat jsp 类文件

java - 如何在jsp中显示java中的ArrayList项目?

java - 无效的 VariableDeclaratorId jsp

java - 如何在Eclipse项目中导入javax.servlet API?

java - 扔不工作

java - HTTP 状态 500 - 未找到提供程序 org.glassfish.json.JsonProviderImpl

scala - 从 Scalatra 切换到 Spray : Handling notFound and errors in spray?

javascript - 将编码后的 url 作为参数传递 javascript 函数

Java 代码在处理器速度较慢的 Mac 上运行速度比在 Windows 计算机上运行速度更快?