我有一个远程tomcat 6.0.24服务器,其上有一个web-app。 现在,当我输入映射在服务器上的特定网址(website / wordbank / xmldictionaryservice)时,我得到以下内容:
HTTP状态404 - Servlet xmldictionaryserviceservlet不可用
类型:状态报告
消息:Servlet xmldictionaryserviceservlet不可用
description:请求的资源(Servlet
...我期待一个带有文件选择器和提交按钮的小表单。
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
我检查了各种类似的线程,但他们没有帮助我。 有没有人知道这里有什么问题?
答案 0 :(得分:1)
Servlet xmldictionaryserviceservlet不可用
这个特定于Tomcat的消息意味着在webapp启动期间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类。
答案 1 :(得分:0)
Tomcat正在识别URL,因此尝试加载 XMLDictionaryServiceServlet 来创建实例。似乎加载类 XMLDictionaryServiceServlet 时出现问题,请检查类( XMLDictionaryServiceServlet )是否遵循servlet约定。
您能否粘贴 XMLDictionaryServiceServlet.java的源代码
答案 2 :(得分:0)
重新启动环境可以完成这项工作。它在日食中太频繁了