Tomcat将“ ping”
Web应用程序的根URL,以验证其是否已成功部署。如果您使用IDE来管理服务器,则它可能会执行其他检查。但是,它被调用了3次却没有一两次,也许确实很奇怪。
结果如何?
@WebServlet( name = "IndexServlet", urlPatterns={ "/", "/home" }, initParams = { @WebInitParam(name = "sortBy", value = Constants.POPULAR) })通过将其显式映射到的URL模式
/,您将其 设置 为Web应用程序的 默认servlet
!每个与任何明确注册的servlet的URL模式都不匹配的请求都将在该servlet中结束。通常,这些请求会击中CSS,JS和图像文件等静态资源。通常,servlet容器已经提供了默认的servlet。例如Tomcat就具有此
DefaultServlet用途。
因此,假设该
index.jsp文件依次引用了一个CSS和JS文件,那么一个请求
/home将调用servlet
3次(浏览器将对该CSS和JS文件获取
index.jsp而不是所需CSS的无法理解的HTML输出。和JS输出)。
摆脱
/URL模式。这是拥有“主页” servlet的错误方法。而是将添加
<welcome-file>home</welcome-file>到
web.xml。除非您真的知道自己在做什么,否则不要从容器中接管默认的Servlet作业。



