与this question相关,是一个默认servlet的概念,它在servlet容器中为静态内容提供标准(即使事实上是一个),或者它的使用是否限制部署到Tomcat / Jetty?
例如,1显示了获取默认调度程序的方法:
final RequestDispatcher rd = getServletContext().getNamedDispatcher("default");
从快速搜索看来,这似乎也适用于Jetty。这种技术在获取默认servlet方面有多广泛?对于具有默认servlet的servlet容器,它是否始终是静态内容servlet?
答案 0 :(得分:4)
这不是标准,但如果没有它,appservers就无法提供静态内容。这是至关重要的。
[编辑]我看到你编辑并以更清晰的方式阐述了你的问题:
例如,[1]显示了这种方法 获取默认调度程序:
最终RequestDispatcher rd = 。getServletContext()方法getNamedDispatcher( “默认”);
从快速搜索看来,这似乎是这样 也适用于Jetty。多么广泛 这项技术是否有助于获得 一个默认的servlet?对于servlet 具有默认值的容器 servlet,它总是一个静态内容 小服务程序?
在这种情况下,它可能是事实上的标准,但我不会太依赖它,并且肯定不会针对实现特定细节或甚至事实标准进行编码。问问自己:将请求分派给defaultservlet的意义/价值是什么?没错。
答案 1 :(得分:2)
Servlet不需要默认的servlet。但是,如果定义了名称,则名称必须为“default”。无法想象没有默认servlet的容器。所以你可以认为它是标准的。
见SRV.11.1,
部分4。如果前三个规则都没有导致servlet匹配,那么容器将会 尝试提供适合所请求资源的内容。如果是“默认” servlet是为应用程序定义的,它将被使用。
答案 2 :(得分:0)
只要servlet容器标准是Servlet API,就可以看到没有DefaultServlet这样的东西。最广泛使用的servlet容器有一些默认设置可以开箱即用。但实现某个接口或抽象类并不是“标准”要求,因此容器可以运行。 (即使没有任何servlet,容器也可以运行)。