Restful Web服务中的错误

时间:2015-11-27 16:41:37

标签: java rest jersey restful-url jersey-client

我是Restful web服务的新手,当我尝试运行我的代码时,我没有收到404错误。 我的项目结构 enter image description here

的index.jsp

<a href="webapi/firstApp"> link</a>

Web.xml

<servlet>
        <servlet-name>Jersey Web Application</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.sasi.wb.MyFirstAppilcation</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Jersey Web Application</servlet-name>
        <url-pattern>/webapi/*</url-pattern>
    </servlet-mapping>

MyFirstAppilcation:

package com.sasi.wb;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/firstApp")
public class MyFirstAppilcation {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getMsg(){
        return "Got It";
    }
}

URL: http://localhost:8004/webserivcetraning/webapi/firstApp

我不知道我错过了什么。当我尝试单击index.jsp中的链接时出现404错误。任何人都可以帮我解决?

1 个答案:

答案 0 :(得分:1)

问题是这个

<param-value>com.sasi.wb.MyFirstAppilcation</param-value>

jersey.config.server.provider.packages告诉Jersey要扫描你的@Path类的包,并注册这些类。未知列出的包将被忽略。你列出的不是一个包,它是一个类,所以你的类永远不会注册。所以只需删除.MyFirstAppilcation

即可