김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다.
https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C
서블릿을 사용해 만들어본 코드들은 아래와 같습니다.
1. 회원 가입을 할 수 있는 MemberFormServlet
전송 버튼을 누르면 회원정보를 저장해주는 /servlet/members/save로 post요청을 날린다.
post로 날라온 요청을 회원가입시키는 서블릿 MemberSaveServlet
회원가입 폼에서 username=lee, age=20이라고 날려보면 위의 응답 html은 다음과 같다.
가입된 모든 멤버들을 보여주는 MemberListServlet
응답 html은 아래와 같습니다.
서블릿의 도움으로 html에 자바코드를 삽입하여 동적인 문서 응답이 가능합니다. 하지만 수많은 write를 봐도 이건 아니다 싶습니다...
하여 우리는 템플릿 엔진이 필요합니다.
템플릿 엔진으로
지금까지 서블릿과 자바 코드만으로 HTML을 만들어보았습니다. 서블릿 덕분에 동적으로 원하는 HTML을 마음껏 만들 수 있습니다. 정적인 HTML 문서라면 화면이 계속 달라지는 회원의 저장 결과라던가, 회원 목록 같은 동적인 HTML을 만드는 일은 불가능 할 것입니다.
그런데, 코드에서 보듯이 이것은 매우 복잡하고 비효율 적입니다.
자바 코드로 HTML을 만들어 내는 것 보다 차라리 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드를 넣을 수 있다면 더 편리할 것입니다. 이것이 바로 템플릿 엔진이 나온 이유입니다. 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해서 동적으로 변경할 수 있습니다.
템플릿 엔진에는 JSP, Thymeleaf, Freemarker, Velocity등이 있습니다. 다음 포스팅에는 JSP로 동일한 작업을 진행해보겠습니다.
참고
JSP는 성능과 기능면에서 다른 템플릿 엔진과의 경쟁에서 밀리면서, 점점 사장되어 가는 추세입니다.
'Spring > spring mvc' 카테고리의 다른 글
MVC패턴이란 (0) | 2021.06.25 |
---|---|
jsp로 회원정보 받기 (0) | 2021.06.25 |
HTTP 응답 데이터 (HTML, API JSON) (0) | 2021.06.25 |
HttpServletRespone 기본 사용법 (0) | 2021.06.25 |
Http요청 데이터 (0) | 2021.06.25 |