首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Jersey 2提供静态文件服务

使用Jersey 2提供静态文件服务
EN

Stack Overflow用户
提问于 2014-11-06 01:09:19
回答 1查看 11.7K关注 0票数 6

我对Jersey和servlets都是新手,所以希望我能错过一些简单的东西……

我已经启动并运行了一个Jersey应用程序(v2.13),使用Guice (3.0)进行依赖注入,以及src/main/webapp中的一些静态文件。如果我将我的Jersey servlet映射到/*以外的任何地方,并请求webapp文件夹中的静态文件,它将不会出现任何问题。如果我将我的Jersey servlet映射到根目录,那么对静态文件的任何请求都会得到一个404。

我真的更喜欢将Jersey servlet映射到根目录,但我也需要能够提供静态内容。有什么方法可以做到这一点吗?也许是为了将Jersey servlet映射到根目录,但忽略对/assets/*或类似内容的请求?

这是我的web.xml:

代码语言:javascript
复制
<filter>
    <filter-name>guice-filter</filter-name>
    <filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>guice-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
    <listener-class>com.example.MyGuiceServletContextListener</listener-class>
</listener>

<servlet>
    <servlet-name>Jersey Web Application</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.example.MyResourceConfig</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Web Application</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-06 01:45:59

我被指向this问题并得到了我的答案。基本上,我只需要将Jersey servlet更改为一个过滤器,并提供一个静态内容正则表达式作为初始化参数。现在,我在根目录挂载了servlet,静态文件按照我想要的方式提供。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26763039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档