У меня есть динамический веб-проект с набором jsp и настраиваемым сервлетом контроллера, который прекрасно работает. Но мне также нужно внедрить в нее услугу отдыха, и поэтому я изменил Интернет. XML, чтобы содержать простой сервлет отдыха также. и класс приложения, который вызывает остальной легкий ресурс. Но, когда я добавляю изменения в файл web.xml, он попадает в простой сервлет, но выдает исключение ..
java.lang.ClassNotFoundException: org.scannotation.AnnotationDB$CrossReferenceException
Web.xml:
<servlet>
<display-name>ControllerServlet</display-name>
<servlet-name>ControllerServlet</servlet-name>
<servlet-class>com.example.ControllerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>CollRestApi</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.exampl.RestApiApplication</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/ControllerServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CollRestApi</servlet-name>
<url-pattern>/or/*</url-pattern>
</servlet-mapping>
Rest Api Применение:
public class RestApiApplication extends Application{
private Set<Object> singletons = new HashSet();
private Set<Class<?>> empty = new HashSet();
public RestApiApplication() {
// ADD YOUR RESTFUL RESOURCES HERE
this.singletons.add(new CollRestApi());
}
public Set<Class<?>> getClasses()
{
return this.empty;
}
public Set<Object> getSingletons()
{
return this.singletons;
}}
И CollRestApi .. оказывает услуги ..
@Path("api")@Consumes({ "application/xml", "application/json" })@Produces({application/xml", "application/json" })public class CollRestApi {
/**
* @return
*/
@GET
@Path("ab")
public Response do() {
System.out.println("Inside the do Method.");
}}