반응형
# MVC02_04 Controller용 JSP와 View용 JSP
- MVC02 > WebContent 우 클릭 > New > JSP File 클릭 후 test02.jsp 이름으로 생성
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.bit.model.*" %>
<%
// import 없이 아래와 같이 사용 가능
// kr.bit.model.MyCalc c = new kr.bit.model.MyCalc();
// import 시 : page import="kr.bit.model.*" 아래와 같이 사용 가능
MyCalc c = new MyCalc();
int v = c.hap(1, 300);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<td>1 ~ 300 까지의 총합</td>
<td><%=v %></td>
</tr>
</table>
</body>
</html>
## JSP 이용한 회원관리 프로그램 만들기
- MVC02 > WebContent 우 클릭 > New > Folder 클릭 후 member 폴더 생성
### 회원 가입 JSP 생성 (memberInsert.jsp)
- 우선 member 폴더에 기존 MVC01에서 작업한 memberRegister.html 파일 가져와서 작업.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>MVC02_신규 회원 가입</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<h1>회원가입화면</h1>
<form action="memberInsert.jsp" method="POST" >
<table class="table table-bordered">
<tr>
<td>아이디</td>
<th><input type="text" name="id" /></th>
</tr>
<tr>
<td>패스워드</td>
<th><input type="password" name="pass" /></th>
</tr>
<tr>
<td>이름</td>
<th><input type="text" name="name" /></th>
</tr>
<tr>
<td>나이</td>
<th><input type="text" name="age" /></th>
</tr>
<tr>
<td>이메일</td>
<th><input type="text" name="email" /></th>
</tr>
<tr>
<td>전화번호</td>
<th><input type="text" name="phone" /></th>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="가입" class="btn btn-primary"/>
<input type="reset" value="취소" class="btn btn-warning"/>
</td>
</tr>
</table>
</form>
</body>
</html>
- member 폴더 우 클릭 > New > JSP File 클릭 후 memberInsert.jsp 생성 (Controller용 JSP : 자바소스코드로 구성)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.bit.model.*" %>
<%
// 파라미터 수집 (VO 이용)
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
String pass = request.getParameter("pass");
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
String email = request.getParameter("email");
String phone = request.getParameter("phone");
// 파라미터 수집(VO)
// MemberVO vo = new MemberVO(id, pass, name, age, email, phone);
MemberVO vo = new MemberVO();
vo.setId(id);
vo.setPass(pass);
vo.setName(name);
vo.setAge(age);
vo.setEmail(email);
vo.setPhone(phone);
MemberDAO dao = new MemberDAO();
int cnt = dao.memberInsert(vo);
// PrintWriter out = response.getWriter();
// 가입 성공
if ( cnt > 0 ) {
// 다시 회원 리스트 보기로 가야함.
response.sendRedirect("memberList.jsp");
// 가입 실패 -> 예외 객체를 만들어서 WAS에게 던지자.
} else {
throw new ServletException("not insert");
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
- member 폴더 우 클릭 > New > JSP File 클릭 후 memberList.jsp 생성 (View 용 JSP : 화면에 응답만)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="kr.bit.model.*" %>
<%@ page import="java.util.*" %>
<%
//1. 클라이언트 요청 받기 (memberList.do)
MemberDAO dao = new MemberDAO();
// 2. 회원 전체 리스트 가져오기(Model 연동)
ArrayList<MemberVO> list = dao.memberList();
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<meta name='viewport' content='width=device-width, initial-scale=1'>
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css'>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'></script>
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js'></script>
</head>
<body>
<table class="table table-bordered">
<tr>
<td>번호</td>
<td>아이디</td>
<td>비밀번호</td>
<td>이름</td>
<td>나이</td>
<td>이메일</td>
<td>전화번호</td>
</tr>
<%
for (MemberVO vo : list) {
%>
<tr>
<td><%=vo.getNum() %></td>
<td><%=vo.getId() %></td>
<td><%=vo.getPass() %></td>
<td><%=vo.getName() %></td>
<td><%=vo.getAge() %></td>
<td><%=vo.getEmail() %></td>
<td><%=vo.getPhone() %></td>
</tr>
<%
}
%>
</table>
</body>
</html>
### 작동 확인
- 회원가입 후 회원 리스트 정상출력 확인 가능.
반응형
'인프런 강의 학습 > MVC 프레임워크_나프1탄' 카테고리의 다른 글
인프런 MVC 프레임워크는 내손에 32일차 : MVC02_07 MVC02정리 및 Model 2방식 (0) | 2021.06.09 |
---|---|
인프런 MVC 프레임워크는 내손에 31일차 : MVC02_05~06 회원리스트 및 삭제 구현 (0) | 2021.06.09 |
인프런 MVC 프레임워크는 내손에 29일차 : MVC02_03 JSP를 Servlet으로 변경해보기 (0) | 2021.06.08 |
인프런 MVC 프레임워크는 내손에 28일차 : MVC02_02 JSP는 Servlet이다. (0) | 2021.06.07 |
인프런 MVC 프레임워크는 내손에 27일차 : MVC02_01 JSP 구성요소 알아보기 (0) | 2021.06.07 |