-
일일이 자바 코드로 HTML을 만들어 내는 것 보다 차라리 HTML 문서에 동적으로 변경해야 하는 부분만
자바 코드를 넣을 수 있다면 더 편리할 것이다 => 템플릿 엔진 이용
🔎 템플릿 엔진을 사용하면 HTML 문서에서 필요한 곳만 코드를 적용해 동적으로 변경할 수 있다
종류) JSP, Thymeleaf, Freemarker 등
💡 JSP
- JSP는 자바 코드를 그대로 다 사용할 수 있다
- <% ~~ %> : 이 부분에 자바 코드를 입력할 수 있다
- <%= ~~ %> : 이 부분에 자바 코드를 출력할 수 있다
- 실행시 .jsp 까지 적어야 한다.
📌 JSP 라이브러리 추가
- build.gradle
//JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'javax.servlet:jstl' //JSP 추가 끝
📌 각 폼 JSP 파일을 작성한다
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
* JSP 문서라는 뜻으로 JSP 문서는 이렇게 시작해야 한다.
- 회원 저장 JSP
<%@ page import="hello.servlet.domain.member.MemberRepository" %> <%@ page import="hello.servlet.domain.member.Member" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% // request, response 사용 가능 MemberRepository memberRepository = MemberRepository.getInstance(); System.out.println("save.jsp"); String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); System.out.println("member = " + member); memberRepository.save(member); %> <html> <head> <meta charset="UTF-8"> </head> <body> 성공 <ul> <li>id=<%=member.getId()%></li> <li>username=<%=member.getUsername()%></li> <li>age=<%=member.getAge()%></li> </ul> <a href="/index.html">메인</a> </body> </html>
❗️ 회원 저장 JSP를 보면 코드의 상위 절반은 회원을 저장하기 위한 비즈니스 로직이고,
나머지 하위 절반은 결과를 보여주기 위한 뷰 영역이다 => MVC 패턴 등장
'Spring' 카테고리의 다른 글
FrontController 패턴, 어댑터 패턴 (0) 2022.04.18 MVC 패턴 (0) 2022.04.18 서블릿 Servlet (0) 2022.04.18 메시지, 국제화 (0) 2022.04.18 웹 시스템 구성, 서블릿, 멀티 쓰레드 (0) 2022.04.13