ame*_*dro 6 java rest tomcat web-services
我正在尝试使用JAX-RS创建和部署RESTful Web服务并将其部署到tomcat.我不想使用任何IDE.在Tomcat中,我在webapps中有以下目录结构
notifire\WEB-INF\
|
---> web.xml
|
---> \classes/Notifier.class
|
---> \lib\javax.ws.rs-api-2.0
Run Code Online (Sandbox Code Playgroud)
我的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>
Run Code Online (Sandbox Code Playgroud)
并且从文件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>";
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试访问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>
Run Code Online (Sandbox Code Playgroud)
我在本课程中介绍了所有这些内容。
| 归档时间: |
|
| 查看次数: |
22140 次 |
| 最近记录: |