2

独自の REST Web サービスの構築を開始したばかりで、この優れたチュートリアルを実行することから始めました: http://www.vogella.com/articles/REST/article.html#first_project

ただ、よく分からないことがあります。サービスへのパスに関係しています。

hello リソースのパスは次のようになりました。

http://localhost:8080/de.vogella.jersey.first/rest/hello

これはチュートリアルのデフォルトです。

ただし、これをより便利なリンクに変更したいと思います。たとえば、次のようになります。

http://localhost:8080/mywebservice/resources/hello

それを達成するために、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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>mywebservice</display-name>
  <servlet>
    <servlet-name>Jersey REST Service</servlet-name>
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
    <init-param>
      <param-name>com.sun.jersey.config.property.packages</param-name>
      <param-value>de.vogella.jersey.first</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>/resources/*</url-pattern>
  </servlet-mapping>
</web-app> 

表示名と URL パターンを変更しましたが、効果がありません。古いパスからリソースを取得できますが、必要なパスを使用してリソースにアクセスできません。

何故ですか?web.xml の表示名はこれとは関係ありませんか?

4

3 に答える 3

1

Webapp のコンテキスト名を変更しています。戦争 (webapp アーカイブ) の形式でデプロイする場合、戦争の名前はコンテキスト名になります。

以下の例では、その名前で動的 Web プロジェクトを作成しています。適切に名前を変更する必要があります。

于 2012-07-11T01:02:05.867 に答える