为了账号安全,请及时绑定邮箱和手机立即绑定

RESTful API - 一直出现 HTTP 500 错误

RESTful API - 一直出现 HTTP 500 错误

慕森卡 2021-08-04 17:15:05
我正在为我的应用程序制作一个简单的 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 来修复它,但我没有更多的想法。这是我的项目的结构:
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

您需要查看(并发布)您的 Tomcat 日志。看看catalina.out。在我看来,您的 web.xml 没有关闭 web-app 标签,但这可能只是因为您没有发布完整的 web.xml。

此外,您需要将应用程序打包为 WAR 文件。Tomcat 期望您的 Web 应用程序 WAR 文件位于该webapps目录下。

编辑:

未找到该方法,因此相应的 JAR 实际上不在类路径(lib 文件夹)中。

org.glassfish.jersey.CommonProperties.getValue


查看完整回答
反对 回复 2021-08-04
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

也许你的库有问题。


root cause


java.lang.NoSuchMethodError: org.glassfish.jersey.CommonProperties.getValue(..

服务器初始化表明您忘记添加一些库(可能它不在您的 Jersey 2.25 中,请检查它)。您也可以尝试使用其他版本的 Jersey。


查看完整回答
反对 回复 2021-08-04
  • 2 回答
  • 0 关注
  • 423 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信