繁体   English   中英

迁移到 Jersey 2.x 在调用我的 api 时出现 404 错误

[英]Migrating to Jersey 2.x getting 404 errors while calling my api's

我正在从 com.sun.jersey 1.x 迁移到 org.glassfish.jersey 2.x,

我的 web.xml 看起来像:

     <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- Bean Configuration -->
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:application-context.xml</param-value>
</context-param>

<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>webservices</param-value>
</context-param>

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<listener>
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

<servlet>
    <servlet-name>jersey-servlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.jersey.series.spring.security.service</param-value>
    </init-param>
    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.xyz.webservices</param-value>
    </init-param>
    <!-- Enable / Disable Jersey Tracing and Logging. -->
    <init-param>
        <param-name>jersey.config.server.tracing</param-name>
        <param-value>${jersey.enable.trace}</param-value>
    </init-param>
    <init-param>
        <param-name>jersey.disable.wadl</param-name>
        <param-value>${jersey.disable.wadl}</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>jersey-servlet</servlet-name>
    <url-pattern>/api/*</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>

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

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

因此,在 com.xyz.webservices.resources 下定义的资源,无论何时被称为 '/app/api/data' 都会说 404 页面未找到。 我在这里做错了吗?

我通过修改我的 web.xml 使代码工作:

    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>com.jersey.series.spring.security.service,com.xyz.webservices</param-value>
    </init-param>

    <!-- Enable / Disable Jersey Tracing -->
    <init-param>
        <param-name>jersey.config.server.tracing</param-name>
        <param-value>${jersey.enable.trace}</param-value>
    </init-param>
    <init-param>
        <param-name>jersey.disable.wadl</param-name>
        <param-value>${jersey.disable.wadl}</param-value>
    </init-param>

    <!-- Enabling Jackson Feature and Logging -->
    <init-param>
        <param-name>jersey.config.server.provider.classnames</param-name>
        <param-value>org.glassfish.jersey.jackson.JacksonFeature,org.glassfish.jersey.filter.LoggingFilter,org.glassfish.jersey.server.filter.EncodingFilter,org.glassfish.jersey.message.DeflateEncoder,org.glassfish.jersey.message.GZipEncoder</param-value>
    </init-param>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM