- webapp 폴더 밑에 있는 파일은 호출이 가능하다.
JSP
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
- JSP 문서라는 의미. 반드시 이렇게 시작해야함.
- 그 외에는 html 문서와 동일하게 아래에 작성해 나가면 됨.
- JSP는 서버 내부에서 Servlet 으로 변환된다. 이 모습은 Servlet 클래스를 구현한 모습으로 변환된다고 함!
실행 방법
- 실행 시, 주소 줄에 .jsp 까지 적어줘야 파일을 찾아가 실행시킬 수 있음.
Import 방법
<%@ page import="com.hello.servlet.domain.member.Member" %>
<%@ page import="com.hello.servlet.domain.member.MemberRepository" %>
<%@ page import="java.util.List" %>
자바코드 사용
<%
MemberRepository memberRepository = MemberRepository.getInstance();
List<Member> members = memberRepository.findAll();
%>
- <% ~ %> 안에는 자바 코드를 그대로 가져와 입력할 수 있음.
<li>id=<%=member.getId()%></li>
<li>username=<%=member.getUsername()%></li>
<li>age=<%=member.getAge()%></li>
- <%= ~~ %> 는 자바코드를 출력할 수 있음.
서블릿과 JSP의 한계
- 서블릿으로 개발할 때는 화면을 위한 html을 생성하는 부분이 자바 코드와 섞여있어서 코드 가독성이 좋지 못했다.
- JSP를 사용하자 html 코드를 작성하기 편리했고, 반복문을 사용하여 리스트를 불러오는 등의 동적인 코드를 자바 코드를 적용하면 되니 편리했다.
- 하지만, 비즈니스 로직과 뷰 화면의 코드가 모두 한 파일에 작성되니 코드가 너무 길었고, JSP에서 데이터를 조회하는 등의 너무 많은 역할을 하는 것을 발견할 수 있었다. 이또한 가독성 문제, 유지보수의 문제가 빈번하게 일어날 것 같다.
MVC 패턴의 등장
- 비즈니스 로직은 서블릿 처럼 다른 곳에서 처리하고, JSP 는 목적에 맞게 HTML 화면을 그리는 일로 분리를 하자.
'👩💻 BackEnd > 🌿 스프링 [Spring]' 카테고리의 다른 글
[Spring MVC] Section 4. MVC 프레임워크 만들기 (0) | 2024.01.13 |
---|---|
[Spring MVC] MVC 패턴 한계 (0) | 2024.01.11 |
[Springboot] DAO 설계 (0) | 2023.09.03 |
[Springboot] 로깅 라이브러리 - Logback (0) | 2023.08.31 |
[SpringBoot] REST API (GET, POST, PUT, DELETE) 작성방법 (0) | 2023.08.31 |