0

郵便サービスを使用して web アプリを正常に作成し、jetty にデプロイしました

.

@Path("caas")
public class Cribservice {
  @POST
    @Path("/post")
    @Consumes(MediaType.TEXT_PLAIN) 
    //@Consumes(MediaType.APPLICATION_JSON)
    //@Produces("text/xml")   // sends JSON
    public void setJson(String p) {
        String x = p;
        System.out.println(x);
        run(x);
    }

netbeans を使用してこれを実行すると、すべてのサービスを使用できますが、これを jetty に正常にデプロイした後、サービスにアクセスできません。

リソースの場所にアクセスするには、どのアドレスを使用すればよいですか

:

ローカルホスト:8080/caas/post

ローカルホスト:8080/caas/Cribservice/webresources/caas/post

注 : caas - jetty で指定されたコンテキスト

   Cribservice - class containing the jax-rs service implementation

   caas(2) - @PATH

そして、これは私の Applicationconfig.java がどのように見えるかです:

package org.netbeans.rest.application.config;
import java.util.Set;
import javax.ws.rs.core.Application;

@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {

    public Set<Class<?>> getClasses() {
        return getRestResourceClasses();
    }

    /**
     * Do not modify this method. It is automatically generated by NetBeans REST support.
     */
    private Set<Class<?>> getRestResourceClasses() {
        Set<Class<?>> resources = new java.util.HashSet<Class<?>>();
        resources.add(cribservice.Cribservice.class);
        return resources;
    }
    
}
4

2 に答える 2

0

そのはず

localhost:8080/<NameOfYourProject>/caas/post

8080 で実行するように構成された桟橋を考えると

于 2012-10-30T08:12:01.897 に答える
0

Jersey が正しく設定されていることを確認する必要があります (これを使用していると仮定します)。web.xml では、次を追加する必要があります。

<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>`full_package_of_your_service`</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey REST Service</servlet-name>
    <url-pattern>`/service_path/*`</url-pattern>
</servlet-mapping>

これにより、Jersey にサービスを検索する場所と、Jersey サーブレットのパスがどのように見えるかが指示されます。

その後、あなたのサービスは以下で利用可能になります:http://localhost:8080/<YouAppName>/<service_path>/caas/post

サービスがパッケージに含まれている必要があることに注意してください (これは Jersey が期待するものです)。full_package_of_your_service

于 2012-10-30T21:17:53.220 に答える