JSP로 회원 관리 웹 애플리케이션 만들기

SHByun·2023년 1월 22일

강의 chap3-3


JSP로 회원 관리 웹 애플리케이션 만들기

1. 라이브러리 추가

//JSP 추가 시작
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation 'javax.servlet:jstl'
//JSP 추가 끝


2. 회원가입 페이지(new-form.jsp)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>

3. 회원 저장

<%@ 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>
  • servlet에서 했던 것처럼 request, response를 사용할 수 있다.
  • <% %>로 자바에서 쓰는 코드를 사용할 수 있다.

4. 회원 목록 조회

<%@ page import="java.util.List" %>
<%@ page import="hello.servlet.domain.member.MemberRepository" %>
<%@ page import="hello.servlet.domain.member.Member" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
MemberRepository memberRepository = MemberRepository.getInstance();
List<Member> members = memberRepository.findAll();
%>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<a href="/index.html">메인</a>
<table>
<thead>
<th>id</th>
<th>username</th>
<th>age</th>
</thead>
<tbody>
<%
for (Member member : members) {
out.write(" <tr>");
out.write(" <td>" + member.getId() + "</td>");
out.write(" <td>" + member.getUsername() + "</td>");
out.write(" <td>" + member.getAge() + "</td>");
out.write(" </tr>");
}
%>
</tbody>
</table>
</body>
</html>

5. 서블릿과 JSP의 한계

  • 굳이 하나의 페이지에 뷰 랜더링, 비즈니스 로직을 함께 써야 하므로 불편하고 가독성이 떨어진다.
  • JAVA 코드, 리포지토리 등 다양한 코드가 모두 JSP에 노출되어 있어 JSP가 너무 많은 역할을 한다.
  • 유지보수가 매우 힘들다.
    -> MVC 패턴의 등장

출처

인프런 강의 - 김영한
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

profile
안녕하세요

0개의 댓글