簡體   English   中英

Restful Web 服務問題 - HTTP 狀態 404 - 請求的資源不可用

[英]Restful Web service issue - HTTP Status 404 - The requested resource is not available

我正在嘗試一個寧靜的 Web 服務示例,所以當我要點擊 url 時,我收到 HTTP 狀態 404 - 請求的資源不可用

以下是我的代碼的詳細信息,如果您需要任何其他信息,請告訴我

網頁.xml

<?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>User Management</display-name>
   <servlet>
      <servlet-name>Jersey RESTful 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.tutorialspoint</param-value>
         </init-param>
      </servlet>
   <servlet-mapping>
   <servlet-name>Jersey RESTful Application</servlet-name>
      <url-pattern>/rest/*</url-pattern>
   </servlet-mapping>  
</web-app>

服務類

package com.tutorialspoint;

import java.util.List;

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

@Path("/UserService")
public class UserService {

   UserDao userDao = new UserDao();

   @GET
   @Path("/users")
   @Produces(MediaType.APPLICATION_XML)
   public List<User> getUsers(){
      return userDao.getAllUsers();
   }    
}

所有罐子

在此處輸入圖片說明

Tomcat 網絡應用程序

在此處輸入圖片說明

顯然,您的 URL 應該是http://localhost:8080/UserManagement/rest/UserService/users

您也可以嘗試刪除<url-pattern>/rest/*</url-pattern>

此問題已得到解決,

實際上,我的 web.xml 不在正確的位置,這就是為什么我收到“請求的資源不可用”的原因。 文件 web.xml 應該放在 WEB-INF 文件夾中

我有同樣的錯誤。 在對 servlet 進行貼標時,我通過修改 web.xml 來糾正它。

 <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>org.webservice.messenger.ressources</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>

我的包裹被聲明為:

 <init-param> <param-name>jersey.config.server.provider.packages</param-name> <param-value>org.webservice.messenger.messengers</param-value> </init-param>

當我的課程在包上時:org.webservice.messenger.ressources

我希望現在清楚了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM