提前致谢。我是 web 服务的新手,当我尝试使用 java 部署 restful web 服务时,它会生成一个异常。我正在使用带有 JAX-RS 的 RESTful Java来学习 Web 服务,根据本书第 3 章,我尝试构建示例,部署示例后会生成异常,我知道,我错过了一些东西,但我没有不知道我错过了什么。以下是我的示例代码。
<?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>RestfulTest</display-name>
<servlet>
<servlet-name>Rest</servlet-name>
<servlet-class>com.restfultest.controller.ShoppingApplication</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Rest</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
以下是课程
public class ShoppingApplication extends Application {
private Set<Object> singletons = new HashSet<Object>();
private Set<Class<?>> empty = new HashSet<Class<?>>();
public ShoppingApplication() {
singletons.add(new CustomerResources());
}
@Override
public Set<Class<?>> getClasses() {
return empty;
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}
当发生异常后尝试部署应用程序时。
java.lang.ClassCastException: com.restfultest.controller.ShoppingApplication cannot be cast to javax.servlet.Servlet
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
这是我知道的愚蠢问题,ShoppingApplication
不是 servlet 类,而是根据本书,它是 servlet 类。要调用此服务,我使用chrome
restful 客户端。请建议我如何使用 chrome restful 客户端以及如何使用此客户端发送XML
或JSON
请求。