JSP, Servlet 디자인 패턴

강정우·2022년 8월 11일
0

JSP, Servlet, JDBC

목록 보기
14/19
post-thumbnail
  • 디자인 패턴 책 추천

front controller pattern

  • 기존의 우리가 했던 MVC 패턴이다. 이의 단점은
  • 현재 servlet으로 작성된 파일들은 모두 HttpServlet을 상속받고 있다. 저게 있어야만 이 클래스 파일이 웹에서 작동할 수 있다.
    근데 단점이 있다. 웹에서 작동하다보니 http는 어어어어엄청나게 많은 기능을 갖고있다.
    즉, 무겁다 그럼 mvc패턴 대로 작성할 때 con이 많이질수록 servlet이 계속 늘어나면 점점 프로그램이 무거워지고 로딩이 느려진다.
  • 이를 방지하고자 나온 개념이 front controller이다.

main에서 값은 .do로 넘긴다.

  • 원래 url mapping값을 따라 각 servlet을 갔지만 이제 servlet을 하나로 합칠꺼기 때문에 main에서 servlet으로 넘길 때 구별할 수 있는 대책이 필요하다. 이를 .do로써 풀어간다.

servlet은 한개만

  • 이제 새로운 디자인 패턴을 배워보자 이를 하기에 여러개로 쪼갰던 servlet파일을 다시 하나로 합쳐야 한다.
  • 그럼 어떻게 servlet은 main에서 무얼 요청했는지 알 수 있단 말인가? 바로 request 객체의 URI에서 알 수있다.
  • 위의 URI를 찍어보면 이렇게 나오는데 위의 빨간 박스를 지우면 된다. 빨간 박스는 context path값이라고도 하며 프로젝트 명이다. 위와 같이 substring을 사용하면 가능하다.

1객체 1역할을 준수하기위해

  • servlet이었던 파일들은 1개의 servlet으로 바뀌었으며 여러개의 con을 맡고있던 역할을은 java의 class로 대체함으로써 프로그램의 무게를 확 줄였다.
  • main에서 요청한 url에 따라 각기의 다른 class con으로 넘겨지고 상황에 맞는 command 객체를 생성하여 최종적으로 sql문을 실하기위한, 또 sql문 실행 후 결과값을 반환받는 controller의 역할을 하는 객체를 완성하였다.
  • 또한 interface를 구현할 때 다음과 같이 구현한다면 훨씬 편하게 할 수 있다.
profile
智(지)! 德(덕)! 體(체)!

0개의 댓글