Apache Tomcat Servlet 404故障排除

我维护一个使用3个Java servlet进行文件下载/上传和数据传输的GWT Web应用程序。 我有我的servlet映射的罪恶地方,并没有在几个月内触及他们,就在几天前,当我试图访问我的servlets时,我开始收到404错误。 我似乎甚至无法通过从WEB-INF / classes目录(即/ servlet / com / company / project / servletname)input完整path来访问servlet。

不幸的是,这些都是从一个共享的托pipe计划中运行的,我没有权限访问tomcat或者其他任何东西。 在我向托pipe服务提供者发出问题单之前,我只想检查一下我的关于servlet的假设是否正确,并查看是否有任何应对这种情况的步骤。

是否需要重新启动tomcat才能使用新的servlet上传到“WEB-INF / classes”目录? 是否需要重新启动tomcat才能读取对“WEB-INF”目录中web.xml的更改?

如果我把一个.class文件放在/WEB-INF/classes/foo/bar.class,我应该可以通过“ http://www.mydomain.com/servlet/foo/bar ”直接访问它,或者我需要不等待tomcat识别这个新的类文件? 还是必须将其包含在现有的web.xml servlet映射文件中?

谢谢你的帮助

是否需要重新启动tomcat才能使用新的servlet上传到“WEB-INF / classes”目录?

这取决于,如果你的

是否需要重新启动tomcat才能读取对“WEB-INF”目录中web.xml的更改?

这取决于,如果你的

如果我把一个.class文件放在/WEB-INF/classes/foo/bar.class,我应该可以通过“ http://www.mydomain.com/servlet/foo/bar ”直接访问它,或者我需要不等待tomcat识别这个新的类文件?

不,如果您的上下文是可重新加载的,该类将立即可用于webapp类加载器,请参阅上文。

还是必须将其包含在现有的web.xml servlet映射文件中?

要通过HTTP访问你的类(假设它扩展了HttpServlet),它将需要web.xml的映射(假设你正在使用直的http servlet)