Spring
JSP
조밈밍
2022. 4. 18. 17:09
일일이 자바 코드로 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 패턴 등장