簡體   English   中英

為簡單的RESTful Web服務應用程序獲取錯誤頁面

[英]Getting error page for simple RESTful web service application

這可能是一個非常簡單的問題,可能是一個重復的問題(盡管到目前為止我還沒有找到任何問題),但由於某種原因,我遇到了麻煩,需要盡快解決。

基本上,我正在嘗試使用JAX-RS API創建一個簡單的RESTful Web服務。 不知何故,我無法做到。 這是我第一次接觸Web服務,我可以肯定自己犯了一個愚蠢的錯誤,盡管經過大量的搜索之后我仍然無法解決它。

所以,這是我的項目結構-

在此處輸入圖片說明

MessageResource.java

package com.rest.jersey.messenger.resource;

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

@Path("/messages")
public class MessageResource {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getMessage() {
        return "Hello World";
    }
}

web.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>messenger</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>Jersey_REST_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>com.rest.jersey.messenger.resource</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey_REST_Service</servlet-name>
    <url-pattern>/webapi/*</url-pattern>
  </servlet-mapping>
</web-app>

我打的URL是: http:// localhost:8090 / messenger / webapi / messages

結果:我收到錯誤頁面-

HTTP Status 404 - /messenger/webapi/messages

type Status report
message /messenger/webapi/messages
description The requested resource is not available.

注意:我不使用Maven。 我想手動設置項目。 而且,我正在使用端口8090而不是8080。

[編輯]

啟動Tomcat服務器時出現以下警告:

WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Messenger' did not find a matching property.

我已經嘗試過以下解決方案。 還是一樣的錯誤。

Double click on your tomcat server. 
It will open the server configuration. 
Under server options check ‘Publish module contents to separate XML files’ checkbox

問題是您的Context root 試試這個網址

http://localhost:8090/Messenger/webapi/messages

基本上,上下文根是Web應用程序的名稱。 在這種情況下,它是Messenger而不是messenger 所以解決方案:

  1. 您只需更改項目名稱即可完成。
  2. 為了通過web.xml進行更改,您必須遵循特定於供應商的步驟。 在這里查看更多
  3. 如果要通過eclipse更改它,請檢查此圖像。 在這里查看更多 在此處輸入圖片說明

暫無
暫無

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

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