코드 그라데이션
JSP로 회원 관리 웹 애플리케이션 만들기 본문
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