我正在开发REST API。我正在使用Jersey框架。我正确设置了我的项目。但是当我点击浏览器的URL时,服务器没有响应。服务器控制台中也没有记录任何内容。没有警告没有错误。
我的项目层次结构是
Web.xml中
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>com.sun.rest</display-name>
<welcome-file-list>
<welcome-file>readme.html</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Jersey REST Service</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.sun.rest</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
</web-app>
Status.java
package com.sun.rest;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
@Path("/v1/status/*")
public class Status {
private static final String api_version = "00.01.00"; //version of the api
@GET
@Produces(MediaType.TEXT_HTML)
public String returnTitle() {
return "<p>Java Web Service</p>";
}
@Path("/version")
@GET
@Produces(MediaType.TEXT_HTML)
public String returnVersion() {
return "<p>Version:</p>" + api_version;
}
}
响应
答案 0 :(得分:1)
你不需要/ * /在你的道路上。如果您从路径中删除它,那将解决您的问题。