0

방금 ​​Mac (os x lion)에 netbeans를 설치했으며 저지로 편안한 웹 서비스를 만들려고합니다.편안한 웹 서비스 저지에서 예외가

내 로컬 호스트 : 8080/HelloWorld/test/printHello로 이동하면 404 예외가 발생하므로 내 web.xml을 조사하겠다고 생각했지만 파일을 찾을 수 없습니다.

어디에서 포인터를 가져야하고 무엇을해야합니까? 내 Java 클래스는 아래에 게시됩니다.

@Path("/test") 
public class helloworld { 

    @GET 
    @Path("printHello") 
    @Produces("text/plain") 
    public String printHello() { 
     return "Hello there!"; 
    } 
} 
+0

web.xml이없는 경우 어떻게 응용 프로그램 서버에 배포합니까 ?? 어느 쪽을 사용하고 있습니까? 먼저 Jersey 서블릿을 구성해야합니다. –

+0

glassfish를 사용 중이고 Jersey 서블릿을 구성했습니다. – user1467188

+0

계속 문제가 있습니까? – Ruwantha

답변

4

servlet 3.0 스펙에 따라 web.xml은 선택 사항입니다.

그러나 Netbeans/Eclipse에서 웹 프로젝트를 만들 때 배포 설명자를 가질 수있는 옵션이 제공됩니다. 옵션이 없으면 명시 적으로 web.xml을 작성할 수 있습니다. 그렇습니다. Jersey를 사용하여 쾌적한 웹 서비스를 수행하려면 web.xml이 필요합니다. API는 URL을 기반으로 클래스 매핑을 처리하는 ServletContainer를 노출합니다.

희망이 도움이됩니다. 이

WAR-Project with Maven 
    - src 
     - main 
      - webapp 
       - WEB-INF 
        - web.xml 

사용자가 정의 할 수있는 뉴저지 서블릿 :

1

은 넷빈즈에서의 web.xml은에있는 폴더 구조에서

WAR-Project with Maven 
    - Web Pages 
     - WEB-INF 
      - web.xml 

에 위치한

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="3.0" 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_3_0.xsd"> 
<!-- Jersey --> 
    <servlet> 
     <servlet-name>Jersey Web Application</servlet-name> 
     <servlet-class> 
      com.sun.jersey.spi.container.servlet.ServletContainer 
     </servlet-class> 
     <init-param> 
      <param-name>com.sun.jersey.config.property.packages</param-name> 
      <param-value>package.path.to.your.rest.service;</param-value> 
     </init-param> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Jersey Web Application</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
</web-app> 

이제 다음 URL에서 REST-Service에 액세스 할 수 있습니다.

localhost:8080/HelloWorld/rest/test/printHello 
관련 문제