我是Restful web服务的新手,当我尝试运行我的代码时,我没有收到404错误。 我的项目结构
的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错误。任何人都可以帮我解决?
答案 0 :(得分:1)
问题是这个
<param-value>com.sasi.wb.MyFirstAppilcation</param-value>
jersey.config.server.provider.packages
告诉Jersey要扫描你的@Path
类的包,并注册这些类。未知列出的包将被忽略。你列出的不是一个包,它是一个类,所以你的类永远不会注册。所以只需删除.MyFirstAppilcation