Java 在动态web中显示404
显示未找到的404。我认为路径是正确的,没有显示错误。 让我来帮你 .java文件Java 在动态web中显示404,java,ajax,xml,servlets,Java,Ajax,Xml,Servlets,显示未找到的404。我认为路径是正确的,没有显示错误。 让我来帮你 .java文件 @Path("/foods") public class FoodService { List<Food> foods; ArrayList<Food> foodCart = new ArrayList<>(); public FoodService() { foods = FoodController.getFoodList();
@Path("/foods")
public class FoodService {
List<Food> foods;
ArrayList<Food> foodCart = new ArrayList<>();
public FoodService() {
foods = FoodController.getFoodList();
}
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Food> getFoodList() {
return foods;
}
@Path(“/foods”)
公共级餐饮服务{
列出食物清单;
ArrayList foodCart=新的ArrayList();
公共食品服务{
foods=FoodController.getFoodList();
}
@得到
@产生(MediaType.APPLICATION_JSON)
公共列表getFoodList(){
归还食物;
}
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"
version="3.1">
<display-name>Food Service</display-name>
<servlet>
<servlet-name>food_service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>foodservice</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>food_service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file></welcome-file>
</welcome-file-list>
</web-app>
餐饮服务
餐饮服务
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
餐饮服务
1.
餐饮服务
/休息/*
我试图获取值的链接:您可以尝试用类FoodService所在的包名替换显示名和参数值标记值
请参阅,以防混淆。因为您使用的是Servlet Spec 3.1,所以您使用的是相当现代的Glassfish版本。在这种情况下,您的生活太艰难了。我建议删除您的
web.xml
,或者将其改为基本为空:
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
这样,您就可以使用
http://localhost:8080//rest/foods
其中webapp name
是您的web应用程序的名称。我更改了您所说的方式。但仍在上面的链接中显示404您的web应用程序名称是什么?food\u service。但我创建的包是foodservice。我没有更改web.xml。我只是删除了然后你的url就是http://localhost:8080/food_service/rest/foods
。在本例中,包名与URL无关。
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/rest")
public class RestApplication extends Application {
// intentionally empty
}