학습목표 : Jsp 가 어떻게 Servlet 을 대체했는지 살펴봅니다..
(아마 저처럼 고인물들에게는 잠시 쉬어가는 타임..)
* 초창기 Servlet 의 개념은 앞 시간에 보았듯이, java 프로그램 안에 html 을 넣는 방식이었다면,
Jsp 는 이와는 반대로 html 안에 java 프로그램를 넣은 개념으로 이해하면 쉬울듯..
(물론, 이게 다는 아이지만, 이해하기는 편합니다.)
1. index.html 변경 (jsp 테스트를 위해 추가)
<table>
<tr><th>Model1 - Servlet</th></tr>
<tr><td> - <a href="/join.html">회원가입</a></td></tr>
<tr><td> - <a href="/model1/servlet/member_list">회원List</a></td></tr>
</table>
<!-- 아래 부분 추가 -->
<table>
<tr><th>Model1 - Jsp</th></tr>
<tr><td> - <a href="/jsp/join.html">회원가입</a></td></tr>
<tr><td> - <a href="/jsp/member_list.jsp">회원List</a></td></tr>
</table>
2. WebContent 에 jsp 폴더를 만들고 아래 3개의 파일을 생성합니다.
3. jsp > join.html 작성 (기존 join.html 에서 action 부분만 아래와 같이 수정)
<!-- 값을 입력하기 귀찮아서 그냥 value 에 입력 -->
<form action="/jsp/member_regist.jsp" method="post">
username : <input type="text" name="input_name" value="Kim" />
age : <input type="text" name="input_age" value="30" />
Mobile : <input type="text" name="input_mobile" value="010-1234-5678" />
<button type="submit">전송</button>
</form>
4. member_regist.jsp (회원저장 jsp) , VO, Repository 는 사용하지 않음
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
/* 생각해보니 신기하게도 jsp 는 그 자체로 , HttpServlet 을 상속받나 봐요.. */
String userName = request.getParameter("input_name");
int userAge = Integer.parseInt(request.getParameter("input_age"));
String userMobile = request.getParameter("input_mobile");
%>
<html>
<head>
<meta charset="UTF-8">
<title>새로운 회원을 맞이하세</title>
</head>
<body>
환영합니다. <p>
이름 : <%=userName %><br>
나이 : <%=userName %><br>
모바일 : <%=userMobile %>
</body>
</html>
5. member_list.jsp (Jsp 에서도 서블릿과 동일한 내용으로 처리 가능)
<%@page import="com.study.comm.vo.Members"%>
<%@page import="com.study.comm.repository.Repository_member"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.study.comm.*, java.util.*" %>
<!DOCTYPE html>
<%
/* Repository_member 객체를 얻어온다 , Members 에 있는 값을 가져와야 함. */
Repository_member repository_member = new Repository_member();
// 리스트에 멤버변수를 담는다.
List<Members> list = repository_member.getList();
%>
<html>
<head>
<meta charset="UTF-8">
<title>새로운 회원을 맞이하세</title>
</head>
<body>
<a href="/index.html">[Go Home]</a>
<p>
환영합니다. <p>
<table>
<tr>
<th>Name</th>
<th>Age</th>
<th>Mobile</th>
</tr>
<% for (Members members : list) { %>
<tr>
<td><%=members.getStrName() %></td>
<td><%=members.getIntAge() %></td>
<td><%=members.getStrMobile() %></td>
</tr>
<% } %>
</table>
</body>
</html>
마치며..
여기 과정은 실상 내 개인적으로는 아직도 여전히 모델1에 머물러 있는 고인물인 내가 주로 사용하는 방식임.
jsp 로 front, back 을 다 하는게 복잡하긴 하지만, 난 여전히 여기가 익숙하네요..
'쓰레기통 > [Web MVC 1] 모델1 - 모델2 진행과정' 카테고리의 다른 글
8. [마무리] 정리하고,, 다시 시작.. (0) | 2021.05.04 |
---|---|
3. 프로젝트 생성, 톰캣으로 화면 보기까지 (0) | 2021.05.04 |
7. 원시 Model2, MVC 출현 (2 - view 생성까지) (0) | 2021.05.04 |
7. 원시 Model2, MVC 출현 (1 - view 생성까지) (0) | 2021.04.22 |
5. 원시 Servlet (자바진영의 동적웹 탄생) (0) | 2021.04.22 |