首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jersey映射混淆

Jersey映射混淆
EN

Stack Overflow用户
提问于 2014-02-21 22:32:21
回答 1查看 4.3K关注 0票数 1

谁能用通俗易懂的英语解释一下这是如何工作的(或者至少为什么我的结构不能)?我希望泽西servlet资源中有一个名为ExportLicenseInfo的函数(我称之为ExportResource )来映射到http://example.com/myApp/export/software_licenses.{year}-{month}.{format},例如:http://example.com/myApp/export/software_licenses_2013-10.csv

Web.xml中的Servlet配置:

代码语言:javascript
复制
<servlet>
    <servlet-name>ExportServlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.mycompany.app.ExportApplication</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

我在web.xml中的servlet映射:

代码语言:javascript
复制
<servlet-mapping>
    <servlet-name>ExportServlet</servlet-name>
    <url-pattern>/export</url-pattern>
</servlet-mapping>

我的带有@Path注释的代码:

代码语言:javascript
复制
@Path("/export")
public class ExportResource {

    ...

    @GET
    @Produces({"text/csv", "application/json"})
    @Path("/software_licenses_{year: [0-9][0-9][0-9][0-9]}-{month: [0-1][0-9]}.{format}")
    public String ExportLicenseInfo( ... ) {
    ...
    }

当我试图访问资源时,我会得到404。泽西岛追踪日志:

代码语言:javascript
复制
Feb 21, 2014 2:41:46 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 6 * LoggingFilter - Request received on thread http-bio-8080-exec-67
6 > GET http://localhost:8080/app/export/software_licenses_2013-10.csv
6 > host: localhost:8080
6 > connection: keep-alive
6 > cache-control: max-age=0
6 > accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
6 > user-agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36
6 > accept-encoding: gzip,deflate,sdch
6 > accept-language: en
6 > cookie: JSESSIONID=DB64E0B066BDEE8CABFC94686AD6ACDC.test; JSESSIONIDSSO=61B51CEED61F8F6CE8A8DB46B38BAC9F; i18next=en

Feb 21, 2014 2:41:46 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 6 * LoggingFilter - Response received on thread http-bio-8080-exec-67
6 < 404
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-21 23:14:05

尝试像下面这样映射:

代码语言:javascript
复制
<servlet-mapping>
<servlet-name>ExportServlet</servlet-name>
<url-pattern>/export/*</url-pattern>
</servlet-mapping>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21946520

复制
相关文章

相似问题

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