1
我见过一些关于这个主题的帖子,但他们没有帮我找到问题。我试图让泽西2.22 GAE SDK 25年9月1日去的,但我不断收到404泽西岛和谷歌应用程序引擎(GAE)不适合我
控制台说:
Nov 05, 2015 4:02:57 PM org.glassfish.jersey.server.ServerRuntime$Responder mapException
FINE: WebApplicationException (WAE) with no entity thrown and no ExceptionMappers have been found for this WAE. Response with status 404 is directly generated from the WAE.
javax.ws.rs.NotFoundException: HTTP 404 Not Found
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:323)
我的类看起来是这样的:
package com.jt.jjbackend;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class JJServlet {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayHello(){
return "Hello";
}
}
这里是我的web.xml:
<?xml version="1.0" encoding="utf-8" standalone="no"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.jt.jjbackend</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
我以前http://localhost:8888/rest/hello我认为这是正确的,因为我得到一个不同的当我输入一个虚假链接时,控制台出现错误。我还添加了一个正常的测试servlet,它工作得很好。
我在做什么错或什么是俯瞰?非常感谢您的帮助。
斯蒂芬
非常感谢。而已。抱歉发布这样一个愚蠢的问题。另一方面,我会期待一个更有用的错误信息。再次感谢! – Stephan
@Stephan在大多数情况下,在启动时,服务器中会记录一个异常,表示没有注册根资源类。我不知道你是否得到了。但通常这是一个迹象,如果你知道你拥有资源类,那么在配置中会出现一些错误。但是你是对的,如果你在启动时没有得到这个错误信息,很难说出404 –
的原因。不幸的是它只记录了问题修复后发现的资源: “根资源类:\t \t com .jt.jjbackend.JJServlet“ 否则根本就没有关于根资源的信息。 – Stephan