我是Jersey的REST Web服务新手(使用tomcat
)
我有一个HelloWorld
源代码:(在RestApp
软件包中)
package com.ss.hh;
...
@Path("/hello")
public class HelloWorld {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getMessage(){
return "Hello jersey";
}
}
下面是web.xml
:
<servlet>
<servlet-name>jersey-serlvet</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.ss.hh</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey-serlvet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
在pom.xml
中:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.19</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-servlet</artifactId>
<version>1.19</version>
</dependency>
为什么我在http://localhost:8080/hello
中无法获得Hello jersey
消息?
更新
我将jersey-servlet
替换为jersey-container-servlet-core
文件,并将web.xml
配置更改如下:
<servlet>
<servlet-name>Jersey REST Service</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.ss.hh</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
但它不会显示任何内容:http://localhost:8080/FirstRestApp/helloFirstRestApp
是项目名称。
2条答案
按热度按时间toe950271#
在URL中添加根上下文路径:
尝试
http://localhost:8080/FirstRestApp/hello
更新:
我创建的小项目正是你想要的一些修改,它是为我工作的罚款。
https://github.com/darsh9292/FirstRestApp
hfwmuf9z2#
如果IDE是
IntelliJ IDEA
,则URL应如下所示:(无项目名称)