RESTful API - 一直出现 HTTP 500 错误

我正在为我的应用程序制作一个简单的 RESTful API。我在我的项目中制作了另一个包(另一个包是我的主要 java 类、servlet 和模型)。然后我制作了我的资源文件,非常简单,如下所示:


package com.java.api;


import javax.ws.rs.GET;

import javax.ws.rs.Path;

import javax.ws.rs.core.Response;


@Path("webservice")

public class ZipcodeService {


    @GET

    @Path("/lookup")

    public Response lookup() {

        return Response.ok().entity("Los Angeles").build();

    }

}

这是我的 web.xml:


<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.1" id="WebApp_ID"

         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee

         http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" 

         xmlns="http://xmlns.jcp.org/xml/ns/javaee" 

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">


    <display-name>parking-space-booking-system</display-name>

    <welcome-file-list>

        <welcome-file>index.html</welcome-file>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

    <servlet>

        <servlet-name>Jersey Web Application</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.java.api</param-value>

        </init-param>

        <load-on-startup>1</load-on-startup>

    </servlet>

    <servlet-mapping>

        <servlet-name>Jersey Web Application</servlet-name>

        <url-pattern>/webservice/*</url-pattern>

    </servlet-mapping>

</web-app>

我没有使用 Maven。我正在使用 Netbeans IDE 和 Tomcat 服务器。我将 Jersey 2.25 的所有 jar 文件上传到 WEB-INF/lib 文件夹。我正在尝试使用 web.xml 来修复它,但我没有更多的想法。这是我的项目的结构:

http://img3.mukewang.com/610a5ab9000155ae03410386.jpg

慕森卡
浏览 424回答 2
2回答

慕少森

您需要查看(并发布)您的 Tomcat 日志。看看catalina.out。在我看来,您的 web.xml 没有关闭 web-app 标签,但这可能只是因为您没有发布完整的 web.xml。此外,您需要将应用程序打包为 WAR 文件。Tomcat 期望您的 Web 应用程序 WAR 文件位于该webapps目录下。编辑:未找到该方法,因此相应的 JAR 实际上不在类路径(lib 文件夹)中。org.glassfish.jersey.CommonProperties.getValue

慕盖茨4494581

也许你的库有问题。root causejava.lang.NoSuchMethodError: org.glassfish.jersey.CommonProperties.getValue(..服务器初始化表明您忘记添加一些库(可能它不在您的 Jersey 2.25 中,请检查它)。您也可以尝试使用其他版本的 Jersey。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java