날아라쩡글이의 블로그입니다.

URL과 URI의 차이 본문

중앙 HTA (2106기) story/model2(MVC패턴)

URL과 URI의 차이

날아라쩡글이 2021. 12. 13. 08:04
반응형

URL

  • Uniform Resource Location
  • 리소스의 위치를 나타냄
  • 링크를 클릭해서 가면 해당 리소스가 존재한다.
  • 자원의 실질적인 위치

URI

  • Uniform Resource Identifier
  • 자원의 위치가 아닌 어떤 요청인지 구별하기위한 수단
  • 요청을 식별하기 위한 유일한 주소를 정의한 부분이다. 
  • 실질적인 경로에 뭔가 존재하지 않아도된다. 

클라이언트의 요청을 프론트 컨트롤러가 받고 무조건 실행된다. 
@webserlet으로 ("*.hta")처럼 URI를 mapping하면 프론트컨트롤러의 모든 요청을 접수받는다. 

컨트롤러의 갯수가 높으면 java의 프레임워크인 spring에서 지원을 해줘, 요청 URL하나당 클래스가 아닌 메소드 1개로 만들 수 있다. 

요청 핸들러 메소드 get과 post방식으로 만들 수 있다. 

 요청URI가 뭔지 알아야한다. contextpath가 식별자로 씌이고 톰켕에 배포시 웹app의 식별정보를 의미한다. 

 insert,update,delete는 재요청 URL이며, select(조회)는 JSP의 내부이동으로 이동된다. 

리다이렉트 요청 

  • 재요청 URL을 응답으로 제공한다. 
  • 응답이 완료되면 요청객체와 응답객체는 즉시 사라진다. 
  • 재요청 URL로 보낸요청이 서버로 전달되면 새로운 요청객체와 응답객체가 생성된다. 
  • 리다이랙션 이동은 요청객체를 이용하여 다른 JSP(View)에 데이터를 전달할 수 없다.
    • 요청객체와 응답객체를 클라이언트로 보내는 순간 사라지기 때문
  • 따라서, 컨트롤러에서의 수행작업이 저장하기/삭제하기/변경하기 등의 작업을 수행한 경우에는 다른 JSP에게 ㅈ전달할 데이터가 없기 때문에, 조회하기 작업을 수행하는 URL을 재요청하는 응답을 보낸다. 

 

포워딩으로 이동하기

  • 컨트롤러에서 뷰에 표현할 데이터를 조회하는 작업을 수행하는 경우에 사용된다. 
  • 컨트롤러는 비즈니스 로직을 호출해서 데이터를 획득한다. 
  • 획득된 데이터를 요청객체의 속성(값 혹은 객체)으로 저장한다. 
  • 요청객체에 저장된 속성(값 혹은 객체)을 표현해주는 뷰 페이지로 포워딩 방식으로 내부이동한다. 
  • 내부이동할 때는 처음 요청이 접수되었을 때 생성된 요청객체와 응답객체가 다음 JSP(View)로 전달된다. 
  • 뷰페이지는 요청 객체와 응답객체를 전달받는다. 
  • 뷰페이지에서는 요청객체에 속성으로 저장된 데이터를 조회해서 표현한다. 
  • 속성으로 저장된 데이터는 EL과 JSTL을 이용하면 자바코드없이 간단하게 표현할 수 있다. 

select와 update, insert, delete의 주소 정의하기 

 

설정보다 관습, 구성보다 관습(CoC)

  • spring은 경로를 안넣어도된다. 
    • 많은 사람들이 관례와 관습으로 한다고 정의하고 프레임워크를 만들어낸다. 
    • 사용할 것이라고 가정하고 프레임워크를 만들었다. 
    • 개발방법론 중에 하나이다. 정해진이름 폴더에 필요한 폴더를 넣으면 된다.
    • 한사람을 위한 개발이 아닌 관례대로 개발이 이뤄진다고 생각하는 방법이다.
반응형

'중앙 HTA (2106기) story > model2(MVC패턴)' 카테고리의 다른 글

JSTL(fmt태그)  (0) 2021.12.15
JSTL(Core태그)  (0) 2021.12.14
EL  (0) 2021.12.13
MVC패턴을 웹 개발방식에 사용하는 model2개발방식  (0) 2021.12.10
Comments