簡體   English   中英

使用Google App Engine和Jersey將URL映射到Java方法

[英]Mapping URL to Java methods using Google App Engine and Jersey

我正在嘗試為Jersey運行HelloWorld示例 ,但是失敗了。 這就是我嘗試過的。

我已經像這樣設置了我的appengine-web.xml

<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
  <application>server</application>
  <version>1</version>
</appengine-web-app>

我已經這樣設置了我的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">
    <servlet>
        <servlet-name>server</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
            <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.service</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>server</servlet-name>
        <url-pattern>/helloworld</url-pattern>
    </servlet-mapping>
</web-app>

我有這樣的服務設置

package com;

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

@Path("/helloworld")
public class service {
    @GET
    @Produces("text/plain")
    private String getString(){
        return "hello";
    }
}

我正在使用這些庫

asm-3.3.1.jar jersey-bundle-1.12.jar jersey-core-1.12.jar jersey-server-1.12.jar

這是有關該問題的視頻http://screencast.com/t/oIYKMQw1x

知道我做錯了什么嗎?

謝謝!

堆棧跟蹤

2012年4月23日,上午12:19:27 com.sun.jersey.server.impl.application.RootResourceUriRules嚴重:ResourceConfig實例不包含任何根資源類。 2012年4月23日,上午12:19:27 com.google.appengine.tools.development.ApiProxyLocalImpl日志嚴重:javax.servlet.ServletContext日志:不可用com.sun.jersey.api.container.ContainerException:ResourceConfig實例不包含任何根資源類。 在com.sun.jersey.server.impl.application.RootResourceUriRules。(RootResourceUriRules.java:99)在com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1308)在com.sun。 jersey.server.impl.application.WebApplicationImpl.access $ 700(WebApplicationImpl.java:171)位於com.sun.jersey.server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:777)位於com.sun.jersey。 server.impl.application.WebApplicationImpl $ 13.f(WebApplicationImpl.java:773)在com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193)在com.sun.jersey.server.impl.application com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:768)處的com.sun.jersey.spi.container.servlet.ServletContainer.initiate處的.WebApplicationImpl.initiate(WebApplicationImpl.java:773) (ServletContainer.java:488)在com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate(ServletContainer.java:318)在com.sun.jersey.spi.container.servle t.WebComponent.load(WebComponent.java:607)位於com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:208)位於com.sun.jersey.spi.container.servlet.ServletContainer。 org.mortbay的com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556)的init(ServletContainer.java:373)在org.mortbay的javax.servlet.GenericServlet.init(GenericServlet.java:212) org.mortbay的.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440)org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50處的org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) )的org.mortbay.jetty.servlet.Context.startContext(Context.java:140)的org.mortbay.jetty.webapp.WebAppContext的org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)。 org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)的org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)的startContext(WebAppContext.java:1250) .component.Ab org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)上的org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)上的stractLifeCycle.start(AbstractLifeCycle.java:50) org.mortbay.jetty.Server.doStart(Server.java:224)的org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)的.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) com.google.appengine.tools上com.google.appengine.tools.development.AbstractContainerService.startup(AbstractContainerService.java:239)上的com.google.appengine.tools.development.JettyContainerService.startContainer(JettyContainerService.java:196)。 com.google.appengine.tools.util.Parser $ ParseResult上的development.DevAppServerImpl.start(DevAppServerImpl.java:146)位於com.google.appengine.tools.development.DevAppServerMain $ StartAction.apply(DevAppServerMain.java:189)。 com.g.com.google.appengine.tools.development.DevAppServerMain。(DevAppServerMain.java:128)的applyArgs(Parser.java:48) oogle.appengine.tools.development.DevAppServerMain.main(DevAppServerMain.java:104)

所以我的問題是我正在映射到com.service這是一個類。 我需要映射到包含我的課程的軟件包。

暫無
暫無

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

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