이 기사는 주로 SpringMVC의 Restfull에 대한 지원의 관련 내용을 다음과 같이 연구합니다.
편안한 아키텍처 는 인기있는 인터넷 소프트웨어 아키텍처입니다. 명확하게 구성되고 표준을 준수하며 이해하기 쉽고 확장하기 쉬우므로 점점 더 많은 웹 사이트에서 채택되고 있습니다. RESTful Architecture는 URL을 지정합니다. 편안한 형식의 URL은 어떻게 생겼습니까? 우리가 요청하는 URL은 일반적으로 다음과 같습니다.
http : //...../xxx.action? id = 001 & type = aaa
REST의 URL 스타일은 어떻게 생겼습니까? 일반적으로 그것은 다음과 유사합니다.
http : //..../xxx/001
따라서 REST에는 매우 명백한 기능이 있습니다. URL을 간결하게 만들고 매개 변수를 URL을 통해 서버로 전달하십시오. SpringMVC는 또한이 REST 스타일 URL을 지원합니다. 테스트 할 컨트롤러를 정의해 봅시다.
// 제품 정보 쿼리 제품 정보, 출력 JSON, restful@requestmapping ( "/itemsview/{id}") public @responsebody itemscustom itemsview (@pathvariable ( "id") 정수 ID) 예외 {itemsCustom itemsCustom = itemsService.finditemSbyId (id); 반품 itemscustom;} @ResponseBody 는 itemsCustom JSON으로 변환하는 데 사용되는 주석이며 @PathVariable 주석은 휴식과 관련이 있습니다. @RequestMapping(value=”/ itemsView/{id}”) 의 {id}는 자리 표시자를 나타냅니다. 여기에 전달 된 값은 @PathVariable 로 표시된 공식 매개 변수로 전달됩니다. 공식 매개 변수가 자리 표시 자의 변수와 동일하다면 더 이상 주석에이를 지정할 수 없습니다. 그렇지 않으면이 자리 표시 자의 변수 (즉, ID)를 주석에 지정해야합니다. 이러한 방식으로 매개 변수는 URL을 통해 공식 매개 변수로 전달 될 수 있습니다.
그러나 이것은 작동하지 않으며 여전히 프론트 엔드 컨트롤러에서 REST를 구성해야합니다.
<!-SpringMVC의 프론트 엔드 컨트롤러 디스패처 서비스, REST 구성-> <Servlet> <Servlet-name> SpringMvc_rest </servlet-name> org.springframework.serb.servlet.dispatcherServlet </servlet-param> <parame-name> contextconfordopody. <Param-value> classpath : Spring/Springmvc.xml </param-value> </init-param> </servlet> <servlet-mapping> <servlet-name> springmvc_rest </servlet-name> <Url-pattern>/</url-pattern> </servlet-mapping>
모든 URL (/)을 가로 채면이 구성은 이전에 구성된 프론트 엔드 컨트롤러와 충돌하지 않으며 공존 할 수 있습니다. 이 구성 후에는 브라우저에 http : // localhost : 8080/springmvc_study/itemsview/1을 입력하여 브라우저에 반환 된 데이터를 테스트 할 수 있습니다. JSON 데이터 문자열이 반환되는 것을 볼 수 있습니다.
그러나 문제가 있습니다. 위의 구성을 사용하면 모든 URL이 가로 채고 정적 리소스가 가로 채게됩니다. 따라서 DispatcherServlet은 정적 리소스를 구문 분석하지만 오류가 발생하므로 정적 리소스를 구문 분석하지 않도록 설정해야합니다. 좋다:
<!-JS, CSS, IMG를 포함한 정적 자원 구문 분석 ...-> <MVC : Resources Location = "/JS/"Mapping = "/JS/**"> </MVC : Resources> <MVC : Resources Location = "/img/"Mapping = "/img/**"> </MVC : Resources>
다른 정적 리소스가있는 경우 정적 자원을 구문 분석하지 않도록 설정해야합니다. 정적 자원에 액세스 할 때 직접 액세스 할 수 있습니다.
위의 내용은 SpringMVC의 Restfull 지원에 대한 간단한 토론에 대한이 기사의 모든 내용이며, 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!