2016-04-20 108 views
0

我尝试在Tomcat服务器上使用Jersey时出现问题。当我运行我的服务器,然后尝试去的URL“http://localhost:8080/RssApp/rest/test”我有以下的错误(RssApp是我的项目的名称):Tomcat与泽西岛上的错误

com.sun.jersey.api.container.ContainerException:本ResourceConfig实例不包含任何根资源类。

这里是我的web.xml文件:

<!DOCTYPE web-app PUBLIC 
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd" > 

<web-app> 
<display-name>Archetype Created Web Application</display-name> 

<servlet> 
    <servlet-name>CreateAccount</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>com.team.RssServlet.CreateAccount</param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>CreateAccount</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

,在这里我的servlet:

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

@Path("test") 
public class CreateAccount{ 
@GET 
@Produces(MediaType.TEXT_PLAIN) 
public String getIt() { 
    return "Got it!"; 
} 
} 

我互联网上阅读,它可能来自

c om.sun.jersey.config.property.packages

就像一个错误的名称或什么的,所以只是为了看看我有什么类型的错误,我删除了“ES”末到刚才:

com.sun.jersey.config.property.packag

我期待一个错误,但我没有开过,然后当我尝试用URL“http://localhost:8080/RssApp/rest/test”我的浏览器中显示我“明白了! “大声笑。

我有点失落,而且我对JEE和网络都很陌生。

感谢您的帮助。

+0

什么是CreateAccount包? –

回答

1

您正在将com.team.RssServlet.CreateAccount设置为Class的名称,而不是您有休息类服务的程序包。

此外,该值应该是一个包名称,你是包括大写字母(坏习惯)

+0

是的,谢谢你,那是;)。 – king

+0

很高兴帮助你! –