【问题标题】:How to dynamically rewrite Jetty's URL handling rule?如何动态改写 Jetty 的 URL 处理规则?
【发布时间】:2019-12-23 17:46:32
【问题描述】:

我有一个现有的 Jetty web 应用程序项目,其中 webapps 文件夹设置如下:

webapps
   |
   | root
       |
       | icons
           |
           | a.jpg

我可以通过访问此 URL 访问a.jpg

http://localhost/icons/a.jpg

我猜这是 Jetty 中可以提供静态内容的默认根文件夹?因为我在任何配置文件中都找不到对“根”文件夹的任何引用。

我想动态更改这个“根”文件夹的位置,这样我就可以这样做(伪代码)

setRoot("C:/myNewRoot/icons")

当我转到http://localhost/icons/a.jpg 时,它会提供C:/myNewRoot/icons/a.jpg 而不是webapps/root/icons/a.jpg

我猜这将涉及某种servletservlet-mapping 来处理/icons/*,但我不知道如何处理。

这可能吗?

【问题讨论】:

    标签: servlets web-applications jetty servlet-filters


    【解决方案1】:

    您无法更改 WebApp / War 文件的基本资源,而不会破坏 WebApp 所依赖的所有其他内容。

    至于“root”和“ROOT”作为可部署名称的含义……

    【讨论】:

    • 如果我不需要更改整个root 文件夹,只需更改icons 位置和URL 处理,可以吗? IE。默认情况下,访问http://localhost/icons/* 将提供来自webapps/root/icons 的静态文件,但是否可以动态更改该 URL 以从其他地方提供图标?
    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    相关资源
    最近更新 更多