【问题标题】:Unable to create simple java restapi in eclipse无法在eclipse中创建简单的java rest api
【发布时间】:2023-03-29 02:25:01
【问题描述】:

我正在关注此链接以在 Eclipse 中创建一个简单的 Java restApi:https://www.youtube.com/watch?v=5jQSat1cKMo

但是,我收到 404 响应并且控制台报告错误

java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer.class

这是一个动态的web项目,web.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
 <display-name>JavaAPI</display-name>
 <servlet>
   <servlet-name>JAVA_API</servlet-name>
   <servlet-class>org.glassfish.jersey.servlet.ServletContainer.class</servlet-class>
   <init-param>
     <param-name>jersey.config.server.provider.packages</param-name>
     <param-value>test</param-value>
   </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
   <servlet-name>JAVA_API</servlet-name>
   <url-pattern>/rest/*</url-pattern>
 </servlet-mapping>
 </web-app>

Hello.java 是:

package test;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/hello")
public class Hello {

@GET
@Produces(MediaType.TEXT_XML)
public String sayHello() {
    String resource = "<? xml version='1.0' ?>" +
"<hello> Hi eesh, hello from xml</hello>";
    return resource;
}

@GET
@Produces(MediaType.APPLICATION_JSON)
public String sayHelloJASON() {
    String resource = null;
    return resource;
}

@GET
@Produces(MediaType.TEXT_HTML)
public String sayHelloHTML() {
    String resource = "<h1> hi eesh, from html</h1>";
    return resource;
}
}

tomcat版本是8.5,jax-rs-2.25..

localhost:8080 在 chrome 浏览器中以及在 tomcat 服务器上执行程序时不显示 apache 主页...我得到以下响应..

我已经在其他链接中提到了这个问题:

org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException java.lang.ClassNotFoundException: com.sun.jersey.spi.container.servlet.ServletContainer Jersey Services with Tomcat and Eclipse

我已经尝试了大多数解决方案,但似乎都不起作用。此外,我想在不将其转换为 maven 项目的情况下执行此操作。

感谢任何帮助。

【问题讨论】:

标签: java eclipse http-status-code-404 classnotfoundexception tomcat8.5


【解决方案1】:

servlet-class 应包含完全限定的类名.class 扩展名只是磁盘上文件名的一部分,而不是类名的一部分。删除它。

【讨论】:

  • 这行得通,但问题是代码的 html 部分首先执行,而不是 xml 部分,而在本教程中则相反。
猜你喜欢
  • 2021-12-17
  • 2015-05-30
  • 1970-01-01
  • 2017-09-22
  • 1970-01-01
  • 2014-12-20
  • 2013-11-04
  • 1970-01-01
  • 2012-05-18
相关资源
最近更新 更多