Jetty ServletContextHandler和WebAppContext之间的区别及其用法

时间:2016-05-01 07:47:13

标签: servlets jetty

我有几个问题。

  1. WebAppContext和ServletContextHandler之间的主要区别是什么。
  2. 我的应用程序有页面和宁静的服务。 ServletContextHandler是否可以用于Rest服务而不是WebAppContext? (这意味着,ServletContextHandler是否更好地处理servlet来管理对restful服务的调用/请求?但是我遇到过运行带有ServletContextHandler的JSP)有什么优缺点?
  3. 如果我使用两个上下文,是否有任何缺点:WebAppContext加载JSP和其他静态内容(如js,css)和ServletContextHandler来处理对restful请求的请求?

1 个答案:

答案 0 :(得分:2)

  1. WebAppContext表示像war文件这样的传统webapp,ServletContextHandler映射到servlet
  2. 如果您的休息服务由servlet支持,那么当然可以使用ServletContextHandler来修复该休息服务。 JSP支持是一个servlet,所以你可以这样运行它。唯一真正的优点或缺点是WebappContext带来了web.xml的所有自动部署和连接......如果你不需要,那就不要使用它并自己连接。
  3. 不是真的,但是如果您只是将WebappContext用于jsp和静态资源,我会使用JSPServlet和DefaultServlet来获取静态内容。
  4. 有很多不同的方法可以做你想做的事。如果您愿意直接处理servlet实例,那么只需完全避免WebAppContext的整个概念。另外需要注意的一点是,WebappContext还为部署的webapp提供了类加载器隔离,因此可能是也可能不是您感兴趣的因素或事物。