Jinie.log
로그인
Jinie.log
로그인
[SPRING] 게시판만들기4 [ MVC 프레임워크]
🐷Jinie (juniorDeveloper)
·
2020년 11월 30일
팔로우
0
Spring
mvc프레임워크
0
JSP/MVC/SPRING
목록 보기
54/81
1. MVC 프레임워크 구조
MVC 2아키텍처는 하나의 Controller에서 모든 파일을 분기처리한다.
이것은 유지보수와 개발을 어렵게 만든다.
즉, 지금까지 연습한 MVC 2아키텍처의 Servlet을 좀 더 쪼갤 예정이다.
프레임워크에서 제공하는 Controller를 사용하면
우리가 직접 Contoller를 만들지 않아도 된다.
Spring MVC는 DispatcherServlet을 시작으로 다양한 객체들이 사요호작용하면서 클라이언트의 요청을 처리
하지만, MVC 프레임워크에서 제공하는 Controller는 기능과 구조가 복잡해서 바로적용하기 어려움
따라서 MVC 프레임워크를 통해 스프링MVC프레임워크의 구조를 미리 연습하기
2. Controller interface 만들기
Controller interface를 만들어서
String handlerRequest(HttpServletRequest request, HttpServletResponse response); 메서드를 만들어주었다.
구체적인 Controller 클래스를 구현하기위해 모든 Controller를 같은 타입으로 관리하기 위한 인터페이스 처리라고 생각하면 된다.
HandlerMapping을 통해 Controller객체를 검색하고 검색된 Controller를 실행한다.
이때 어떤 Controller 객체가 검색되더라도 같은 코드로 실행하기위해서 최상위 인터페이스를 만든다.
3. Controller들
실질적인 요청처리는 각각의 Controller에서 담당한다.
이런식으로 select, delete의 분기처리된 부분을 모두 설정해준다.
4. ViewResolver
.do 확장자가 아닌 return값에 ./과 .jsp를 붙여서 jsp파일로 연결시켜준다.
5. HandlerMapping
HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션
Map은 키와 값으로 구성된 Entry객체를 저장하는 구조를 가지고 있는 자료구조
값은 중복 저장될 수 있지만 키는 중복 저장될 수 없다.
만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치
HashMap은 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능
HashMap 값 추가 : map.put(key, value); 이용
map.remove(1); //key값 1 제거
map.clear(); //모든 값 제거
6. DispatcherServlet
Controller를 구성하는 요소 중 DisparcherServlet은 클라이언트의 요청을 가장먼저 받아들이는 Front Controller이다.
init():
딱 한 번만 호출됩니다.
서블릿 컨테이너가 서블릿 객체를 생성한 후 호출합니다.
서블릿이 작업하는데 필요한 자원을 준비시키는 코드를 넣습니다.
.do(지정한 확장자)가 실행이 되면, DispatcherServlet을 web.xml이 실행해준다.
DispatcherServlet이 ViewResolver 와 HandlerMapping 객체를 생성한다.
🐷Jinie (juniorDeveloper)
ᴘᴇᴛɪᴛs ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ = ᴘʟᴀɪsɪʀ 💕
팔로우
이전 포스트
[SPRING] 게시판만들기3 [ Model 2 / Controller(Servlet) ]
다음 포스트
[SPRING] 게시판만들기 5 [ Spring MVC ]
0개의 댓글
댓글 작성