Java 未找到Jersey Rest API 404
我试图学习如何在java上创建RESTAPI,但在测试时遇到了问题 当我尝试在localhost:8080/restService/prueba上获取时,我发现404找不到 本地主机也一样:8080/restService/vendedores 我尝试了一千种方法来制作URI,这只是我最后一次尝试 要部署打包为war的api,请启动java项目,并将.war粘贴到tomcat安装的webapps目录中,然后运行tomcat的startup.bat 这是muyweb.xmlJava 未找到Jersey Rest API 404,java,rest,api,jersey,Java,Rest,Api,Jersey,我试图学习如何在java上创建RESTAPI,但在测试时遇到了问题 当我尝试在localhost:8080/restService/prueba上获取时,我发现404找不到 本地主机也一样:8080/restService/vendedores 我尝试了一千种方法来制作URI,这只是我最后一次尝试 要部署打包为war的api,请启动java项目,并将.war粘贴到tomcat安装的webapps目录中,然后运行tomcat的startup.bat 这是muyweb.xml <?xml ve
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>restService</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<!-- Register resources and providers under com.vogella.jersey.first package. -->
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.arquimeda.capacitacion</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.jackson.JacksonFeature</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/restService/*</url-pattern>
</servlet-mapping>
</web-app>
再服务
泽西岛休息服务
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
com.arquimeda.capacion
jersey.config.server.provider.classnames
org.glassfish.jersey.jackson.JacksonFeature
1.
泽西岛休息服务
/再服务/*
这是我的家属
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.30.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.30.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>2.30.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.30.1</version>
</dependency>
</dependencies>
org.glassfish.jersey.core
泽西服务器
2.30.1
org.glassfish.jersey.containers
jersey容器servlet
2.30.1
org.glassfish.jersey.inject
泽西-hk2
2.30.1
org.glassfish.jersey.media
泽西媒体公司
2.30.1
这是我的密码
package com.arquimeda.capacion;
导入java.util.ArrayList;
导入java.util.List;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.PathParam;
导入javax.ws.rs.products;
导入javax.ws.rs.core.MediaType;
@路径(“/restService”)
公共类服务{
@得到
@路径(“/vendedor/{vend_id}”)
@产生(MediaType.APPLICATION_JSON)
public Vendedor getvendedorprid(@PathParam(“vend_id”)int-id)引发异常{
VendedorDAO VendedorDAO=新VendedorDAO();
系统输出打印号(“hola”);
返回vendedorDAO.GetVendedOrpId(id);
}
@得到
@路径(“/vendedores”)
@生成(“应用程序/json”)
public List getVendedores()引发异常{
/*VendedorDAO VendedorDAO=新VendedorDAO();
系统输出打印号(“hola”);
返回vendedorDAO.getVendedores();
*/
Vendedor vend1=新Vendedor(5,“juan”,1,空,70);
Vendedor vend2=新的Vendedor(5,“juan”,1,空,70);
List lista=new ArrayList();
增加(1);
增加(2);
返回列表a;
}
@得到
@路径(“/prueba”)
@生成(MediaType.TEXT\u PLAIN)
公共字符串getPrueba(){
返回“hola”;
}
}
使用glassfish服务器而不是tomcat。我认为出现问题是因为您提到servlet类是glassfish,并使用了tomcat,请检查
无论是否部署,您还需要创建一个用于登录的用户。
转到TOMCAT_HOME/conf/TOMCAT-users.xml
再加上。。
对于玻璃鱼来说,这可能会对你有所帮助。
谢谢使用glassfish服务器而不是tomcat。我认为出现问题是因为您提到servlet类是glassfish,并使用了tomcat,请检查 无论是否部署,您还需要创建一个用于登录的用户。 转到TOMCAT_HOME/conf/TOMCAT-users.xml 再加上。。 对于玻璃鱼来说,这可能会对你有所帮助。
谢谢请尝试以下url。因为路径也被配置为restService
localhost:8080/restService/restService/vendedores
请尝试下面的url。因为路径也被配置为restService
localhost:8080/restService/restService/vendedores