2017-01-17 11 views
0

스트럿츠 어플리케이션을위한 간단한 웹 서비스를 제공하기 위해 저지를 사용하려고합니다.저지/스트럿츠 어플리케이션에서

나는 다음과 같은 오류를 web.xml에

com.sun.jersey.api.client.UniformInterfaceException 
Message: GET http://localhost:8080/shumer/rest/employee/get returned a response status of 404 

서블릿 선언을 얻을 클라이언트 조치를 호출 할 때

<servlet> 
    <servlet-name>JAX-RS Servlet</servlet-name> 
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class> 
    <init-param> 
     <param-name>spring.autowire</param-name> 
     <param-value>byName</param-value> 
    </init-param> 
    <load-on-startup>3</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>JAX-RS Servlet</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

서버 자원

@Path("employee") 
public class EmployeeResource { 

    @Autowired 
    EmpDao empDao; 

    @GET 
    @Produces(MediaType.APPLICATION_JSON) 
    public List<Employee> get(@QueryParam("empCode") String empCode) throws Exception { 

      EmpCriteria criteria = new EmpCriteria(); 
      criteria.setEmpCode(empCode); 


      return empDao.searchByCondition(criteria); 
     } 

} 

클라이언트 액션

,194,782,

나는 /get과 자원 URL의 끝과 함께, 그리고 EmployeeResource @Path 주석에 /이라는 선도자가 있거나없이 이것을 시도했다. 내 생각 엔 Jersey 서블릿이 리소스를 처리하기 위해 리소스가 어디에 배치되어야 하는지를 선언해야하는 곳이 있지만 그것을 파악할 수는 없다고 생각합니다. 올바른 방향의 한 점을 높이 평가할 것입니다. 나는 서블릿 요소에 다음 INIT-PARAM를 추가하고 그것은 여전히 ​​작동하지 않습니다

편집 get 메소드 쓰기에

<init-param> 
    <param-name>com.sun.jersey.config.property.packages</param-name> 
    <param-value>shumer.rest.resource</param-value> 
</init-param> 
+0

어떤 버전의 저지를 사용하고 있습니까? –

답변

0

(내 자원 클래스이고이 패키지는) @Path ("/ get")