- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在查看一个使用 Jetty 的应用程序,它有很多不同的相关对象:
service = new Server(Integer.valueOf(System.getenv("PORT")));
final ServletContextHandler servletContextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
MyAppServlet myAppServlet = new MyAppServlet();
ServletHolder myAppServletServletHolder = new ServletHolder(myAppServlet);
final String serviceName = 'abc';
servletContextHandler.addServlet(myAppServletServletHolder, ("/"+ serviceName));
service.setHandler(servletContextHandler);
所以看起来层次结构是:
Server
ServletContextHandler
ServletHolder
Servlet
Server的含义很明显,看起来Servlet就是实现实际应用程序的脚本。
但是ServletContextHandler的含义不太清楚。您能否给出一个简单的解释,不需要太多 Java 生态系统的背景,只需要一般的编程经验?是为了在不同的应用程序(servlet)之间共享配置变量吗?它有哪些有用的应用?
最后,我不知道为什么我们需要 ServletHolder,而不是仅仅将 Servlet 提供给 ServletContextHandler。
以下内容有点相关,但我认为不是很仔细。它与这个问题只有一类重叠:What's the difference between a ServletHandler and a ServletContextHandler in Jetty?
最佳答案
服务器 - 服务器本身。 (是的,应该是显而易见的)
ServletContextHandler - 上下文,提供javax.servlet.ServletContext
中定义的范围。
您可以拥有 [0..n] ServletContextHandler
实例。
它们不得映射到相同的上下文路径。
负责:
示例:
/
代表 root
对 http://machine.com/foo
的请求将命中 ServletContext
并处理其中为资源 /foo
映射的任何内容
/app
用于特定于应用程序
对 http://machine.com/app/bar
的请求将命中 /app
处的 ServletContext
并处理其中为资源 /bar
映射的任何内容
ServletContext
的属性ServletHolder - 特定 servlet 的配置
每个 Servlet 都可以配置为:
注意:过滤器还有一个等效的 FilterHolder
Servlet - 用于处理请求并生成响应的低级端点资源
这使用标准 Servlet 行为处理原始请求。
Filter - 位于 Servlet 之前的组件,可以参与请求/响应处理。
关于java - 服务器、ServletContextHandler、ServletHolder、Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50067107/
我正在查看一个使用 Jetty 的应用程序,它有很多不同的相关对象: service = new Server(Integer.valueOf(System.getenv("PORT"))); fin
我有一个带有 Spring 的项目和一些服务。我正在尝试在其中包含一些休息服务。问题是嵌入式 jetty 服务器位于 @Service 实例内,由于多种原因我无法触及它。因此,我尝试根据我的新要求配置
我认为它只是禁用了与身份验证相关的所有功能,但很难找到明确讨论此问题的文档。 最佳答案 构造函数中的 options 参数是 ServletContextHandler 的一项旧功能(早于 Jetty
我正在尝试开始使用嵌入式 Jetty 服务器。我只是想根据请求路径将请求映射到不同的 servlet。 创建 ServletHandler 并向其添加 servlet 与创建 ServletConte
我在 Jetty 中有以下代码: ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHand
我正在使用嵌入式 Jetty 创建静态网站。 ServletContextHandler.setResourceBase("...") 是否与 ResourceHandler.setResourceB
我是一名优秀的程序员,十分优秀!