2017-02-01 19 views
2

Я пытаюсь создать простой веб-службы со ссылкой на сайте: http://www.connect2java.com/webservices/jax-rs-applicationpath-annotationno-web-xml-example-in-jersey/Как избавиться от этой ошибки: «WEB-INF lib javax.servlet-api-3.0.1.jar) - jar не загружен. См. Servlet Spec 2.3, раздел 9.7.2."

Я использую

NetBeans IDE 8.0.2

Java 8.0 JDK 1.7

JBoss Server

Вот мой код:

RestfulApplicationPathAnnotationExample.java:

package com.connect2java.RestfulApplicationPathAnnotationExample; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 
import javax.ws.rs.core.Response; 

@Path("/hello") 
public class RestfulApplicationPathAnnotationExample { 
    @GET 
    @Produces(MediaType.TEXT_HTML)  
    public Response sayHello() { 

     String str ="<H1>Hi!!! welcome to @ApplicationPath Annotation Example in Restful webservices </H1> "; 

     return Response.status(200).entity(str).build(); 

    } 

} 

MyApplication.java:

package com.connect2java.RestfulApplicationPathAnnotationExample; 

import javax.ws.rs.ApplicationPath; 

import org.glassfish.jersey.server.ResourceConfig; 

    @ApplicationPath("resources") 
    public class MyApplication extends ResourceConfig { 
     public MyApplication() { 
      packages("com.connect2java.RestfulApplicationPathAnnotationExample"); 
     } 

    } 

web.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

выход запуска:

run output

ошибка отображается на сервере:

13:06:39,832 INFO [TomcatDeployer] undeploy, ctxPath=/RestfulApplicationPathAnnotationExample, warUrl=.../tmp/deploy/tmp7253522143789622225RestfulApplicationPathAnnotationExample-exp.war/ 
13:06:40,253 INFO [TomcatDeployer] deploy, ctxPath=/RestfulApplicationPathAnnotationExample, warUrl=.../tmp/deploy/tmp3990284126749515271RestfulApplicationPathAnnotationExample-exp.war/ 
13:06:40,316 INFO [WebappClassLoader] validateJarFile(C:\jboss\server\default\.\tmp\deploy\tmp3990284126749515271RestfulApplicationPathAnnotationExample-exp.war\WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

Структура программы:

enter image description here

Я получаю "Hello World" выход на веб-странице по следующему адресу:

http://localhost:8080/RestfulApplicationPathAnnotationExample/

Но когда я пытаюсь этот URL:

http://localhost:8080/RestfulApplicationPathAnnotationExample/resources/hello

Я получаю сообщение об ошибке:

HTTP Status 404 - /RestfulApplicationPathAnnotationExample/resources/hello 

The requested resource (/RestfulApplicationPathAnnotationExample/resources/hello) is not available. 

Может кто-нибудь помочь мне, пожалуйста?

+0

Пожалуйста, сделайте ** ** ** не предлагайте свой код в изображениях, но вносите их в свой вопрос! Подобно тому, что отладка может быть выполнена дружественными другими пользователями путем копирования, а не ввода из ваших изображений! – geisterfurz007

ответ

0

WEB-INF\lib\javax.servlet-api-3.0.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2.”

Это предупреждение (а не об ошибке). Вам не следует развертывать классы jar containg javax.servlet. Контейнер будет игнорировать его. Просто удалите javax.servlet-api-3.0.1.jar с вашего .war

О вашей проблеме пути, кажется, трикотаж опущен @ApplicationPath("resources"). Попытайтесь добавить / префикс как here@ApplicationPath("/resources")

 Смежные вопросы

  • Нет связанных вопросов^_^