【问题标题】:Jetty Difference between ServletContextHandler and WebAppContext and its usageJetty ServletContextHandler 和 WebAppContext 的区别及用法
【发布时间】:2016-08-26 03:35:21
【问题描述】:

我有几个问题。

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

【问题讨论】:

    标签: servlets jetty


    【解决方案1】:
    1. WebAppContext 代表一个传统的 webapp 就像一个 war 文件,ServletContextHandler 映射到一个 servlet
    2. 如果您的休息服务由 servlet 支持,那么当然可以使用 ServletContextHandler 来构建该休息服务。 JSP 支持是一个 servlet,因此您可以以这种方式运行它。唯一真正的优点或缺点是 WebappContext 使用 web.xml 带来了所有自动部署和连接......如果你不需要它,那么不要使用它并自己连接。
    3. 并非如此,但如果您只是将 WebappContext 用于 jsp 和静态资源,我将只使用 JSPServlet 和 DefaultServlet 用于静态内容。

    有很多不同的方法来做你想做的事。如果您愿意直接处理 servlet 实例,那么完全避免使用 WebAppContext 的整个概念。需要注意的另一件事是,WebappContext 还为已部署的 webapp 提供类加载器隔离,因此这可能是也可能不是您感兴趣的因素。

    【讨论】:

    • 感谢杰西的回答。我尝试仅使用 ServletContextHandler 来处理 JSP 和其他可视项(js、css 等)。但没有一次尝试成功。互联网上的大多数示例都是关于带有 WebAppContext 配置的 JSP。 JSP 的 ServletContextHandler 的一些文档和示例不起作用,其他人也面临同样的问题。如果有一个通过 ServletContextHandler 实现的 JSP 的有效托管项目(例如:github),请告诉我。
    猜你喜欢
    • 2015-03-21
    • 2015-08-24
    • 2018-09-11
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 2011-11-05
    • 2019-06-08
    • 1970-01-01
    相关资源
    最近更新 更多