코드 그라데이션

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

Spring/MVC 1

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

완벽한 장면 2023. 9. 22. 13:22

JSP 라이브러리 추가하기

build.gradle에

dependencies {
	// 전략
    
    //JSP 추가 시작
	implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
	implementation 'javax.servlet:jstl'
	//JSP 추가 끝
    
    //후략
}

 

 

new-form.jsp : 회원 등록 폼

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<form action="/jsp/members/save.jsp" method="post">
    username: <input type="text" name="username" />
    age:      <input type="text" name="age" />
    <button type="submit">전송</button>
</form>
</body>
</html>

 

실행 화면


 

save.jsp - 회원 저장 JSP

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="inflearn.servlet.domain.member.Member" %>
<%@ page import="inflearn.servlet.domain.member.MemberRepository" %>

<% //여기에 자바 코드를 집어 넣을 수 있다.
    //request, response 그냥 사용 가능 <- 나중에 jsp도 서블릿으로 변환되어서 사용. 문법상 지원됨.
    MemberRepository memberRepository = MemberRepository.getInstance();

    System.out.println("MemberSaveServlet.service");
    String username = request.getParameter("username");
    int age = Integer.parseInt(request.getParameter("age"));

    Member member = new Member(username, age);
    memberRepository.save(member);

%>
<html>
<head>
    <title>Title</title>
</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>

꺽쇠가 없는 부분에서는 그대로 HTTPResponse에 담긴다고 생각하면 된다.

 

실행화면에서 등록하면

저장 잘 되었고,

메인을 클릭하면

여기까지 잘 온다.


회원 목록 JSP
main/webapp/jsp/members.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="inflearn.servlet.domain.member.Member" %>
<%@ page import="java.util.List" %>
<%@ page import="inflearn.servlet.domain.member.MemberRepository" %>
<%
    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>

 

실행해서 데이터 두 개를 집어넣고 확인해보면

다 들어가 있음을 확인할 수 있음.

 


정리

 

서블릿과 JSP의 한계

 

728x90

'Spring > MVC 1' 카테고리의 다른 글

MVC 패턴 - 적용  (0) 2023.09.23
MVC 패턴 - 개요  (0) 2023.09.23
서블릿으로 회원 관리 웹 애플리케이션 만들기  (0) 2023.09.22
회원 관리 웹 애플리케이션 요구사항  (0) 2023.09.22
HTTP 응답 데이터 - API JSON  (0) 2023.09.21
Comments