본문 바로가기

👩‍💻 BackEnd/🌿 스프링 [Spring]

[Spring MVC] JSP 활용 방법 및 MVC 패턴의 등장 배경

  • 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 화면을 그리는 일로 분리를 하자.