Jetty ServletContextHandler 和 WebAppContext 的区别及使用

Jetty Difference between ServletContextHandler and WebAppContext and its usage

我有几个问题。

  1. WebAppContext 和 ServletContextHandler 的主要区别是什么。
  2. 我的应用程序有页面和 restful 服务。 ServletContextHandler 是否可以用于 Rest 服务而不是 WebAppContext? (这意味着,ServletContextHandler 是否更好地处理 servlet 来管理 calls/requests 到 restful 服务?但是我遇到了 运行 JSP s with ServletContextHandler)有什么优点和缺点?
  3. 如果我使用两个上下文是否有任何缺点:WebAppContext 加载 JSP 和其他静态内容(如 js、css)和 ServletContextHandler 处理对 restful 请求的请求?
  1. WebAppContext 表示传统的 webapp,如 war 文件,ServletContextHandler 映射到 servlet
  2. 如果您的休息服务由 servlet 支持,那么当然可以使用 ServletContextHandler 来堆砌该休息服务。 JSP 支持是一个 servlet,所以您可以 运行 这样。唯一真正的优点或缺点是 WebappContext 通过 web.xml 带来了所有的自动部署和连接......如果你不需要它那么不要使用它并自己连接起来。
  3. 不一定,但是如果您只是将 WebappContext 用于 jsp 和静态资源,我将只使用 JSPServlet 和 DefaultServlet 用于静态内容。

有很多不同的方法可以完成您想做的事情。如果您习惯于直接处理 servlet 实例,那么就完全避免使用 WebAppContext 的整个概念。另一件事是 ware,WebappContext 还为部署的 webapp 提供类加载器隔离,因此这可能是也可能不是您感兴趣的因素或事情。