gpt4 book ai didi

java - Jetty::ServletContextHandler#setContextPath(..) 以及如何将 Servlet 与特定文件扩展名相关联

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:50:38 24 4
gpt4 key购买 nike

我在 Jetty 中有以下代码:

ServletContextHandler contextHandler = new ServletContextHandler(ServletContextHandler.SESSIONS);
contextHandler.setContextPath("/a");
ServletHolder holder = new ServletHolder(MyServlet.class);
contextHandler.addServlet(holder, "/b/*");

"/a" 调用 setContextPath"/b/*" 调用 添加Servlet ?这些路径是否串联起来决定 MyServlet 将服务于哪些请求?

此外,是否可以将 servlet 与特定文件扩展名相关联? IE。通过查看可以说是 URI 的“endsWith”部分,然后分派(dispatch)以例如结尾的 URI。 “.xsd”到特定的 Servlet?还是完全基于“startsWith”逻辑进行调度?

最佳答案

基本符合servlet specification ,其中 URL 由 http://host:port/<context-root>/<servlet-path-spec> 组成,其中上下文根由 setContextPath 定义Servlet路径规范由addServlet的第二个参数定义.因此,您示例中的 servlet 将提供所有以 http://host:port/a/b/ 开头的 URL。 .

Servlet 路径规范还允许定义到文件扩展名的映射,在您的示例中使用符号“*.xsd”,请参阅链接规范中的第 12.2 节。

关于java - Jetty::ServletContextHandler#setContextPath(..) 以及如何将 Servlet 与特定文件扩展名相关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19276717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com