使用JAX-RS创建RESTful Web服务并将其部署到tomcat

我正在尝试使用JAX-RS创建和部署RESTful Web服务并将其部署到tomcat。我不想使用任何IDE。在Tomcat中,webapps

\中具有以下目录结构

notifire\WEB-INF\

|

---> web.xml

|

---> \classes/Notifier.class

|

---> \lib\javax.ws.rs-api-2.0

我的web.xml包含:

<servlet>

<servlet-name>Web Service Servlet</servlet-name>

<servlet-class>javax.ws.rs.core.Application</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Web Service Servlet</servlet-name>

<url-pattern>/webservice/*</url-pattern>

</servlet-mapping>

并且从文件Notifier.class编译了类文件Notifier.java

import javax.ws.rs.GET;

import javax.ws.rs.Path;

import javax.ws.rs.Produces;

import javax.ws.rs.core.Context;

import javax.ws.rs.core.UriInfo;

@Path("notifier")

public class Notifier {

@Context

private UriInfo context;

@GET

@Produces("text/html")

public String getHTML() {

return "<p></p>";

}

}

当我尝试访问Web服务时http://localhost:8080/notifire/webservice/notifier,出现以下错误:

--type例外报告

--message类javax.ws.rs.core.Application不是Servlet

--description服务器遇到内部错误,阻止其满足此请求。

任何帮助表示赞赏。

回答:

您的Servlet类错误。不知道为什么不使用IDE,但是有一个Maven原型可以使用Jersey开发人员定义的适当类为您布置项目结构。我的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.pluralsight</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>

我涵盖所有的这本课程在这里。

以上是 使用JAX-RS创建RESTful Web服务并将其部署到tomcat 的全部内容, 来源链接: utcz.com/qa/426174.html

回到顶部