✿∘˚˳°∘°
54일차 : mvc2WebProject - 1 본문
20230214
index.jsp - header와 footer는 미리 만들어두고 지시자 태그를 이용하여 include
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%@ include file="/WEB-INF/views/common/header.jsp" %>
<div class="page-content">
<h1>MVC2 Web Project 메인페이지</h1>
</div>
<%@ include file="/WEB-INF/views/common/footer.jsp" %>
</body>
</html>
header.jsp
<%@page import="kr.or.iei.member.vo.Member"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Member m = (Member)session.getAttribute("m");
//m의 null유무로 로그인인지 아닌지 판단
%>
<!-- 다른페이지에 삽입될거라 기본 HTML을 다 날린다. -->
<!-- 구글 아이콘 -->
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<!-- jquery -->
<script src="/js/jquery-3.6.0.js"></script>
<!-- 기본 CSS -->
<link rel="stylesheet" href="/css/default.css" />
<!-- 기본 js -->
<script src="/js/default.js"></script>
<header>
<div class="site-logo">
<a href="#">사이트로고</a>
</div>
<nav>
<ul class="navi">
<li><a href="#">메뉴-1</a></li>
<li><a href="#">메뉴-2</a></li>
<li><a href="#">메뉴-3</a></li>
<li><a href="#">메뉴-4</a></li>
<li>
<a href="#">메뉴-5</a>
<ul class="sub-navi">
<li><a href="#">sub-1</a></li>
<li><a href="#">sub-2</a></li>
<li><a href="#">sub-3</a></li>
</ul>
</li>
</ul>
</nav>
<div class="header-link">
<%if(m == null) {%>
<button class="btn bc11 modal-open-btn" target="#login-modal">SIGN IN</button>
<a class="btn bc11" href="/signupFrm.do">SIGN UP</a>
<%} else{%>
<a class="btn bc11" href="#"><%=m.getMemberName() %></a>
<a class="btn bc11" href="/logout.do">LOGOUT</a>
<%} %>
</div>
</header>
<%if(m == null) {%>
<!-- 로그인하지 않은 상태에서만 modal창을 보여줄 것 -->
<div id="login-modal" class="modal-bg">
<div class="modal-wrap">
<div class="modal-head">
<h2>SIGN IN</h2>
<span class="material-icons close-icon modal-close">close</span>
</div>
<form action="/signin.do" method="post">
<div class="modal-content">
<div class="input-box">
<label for="signId">아이디</label>
<input type="text" name="signId" id="signId" class="input-form" placeholder="아이디입력">
</div>
<div class="input-box">
<label for="signPw">비밀번호</label>
<input type="password" name="signPw" id="signPw" class="input-form" placeholder="비밀번호입력">
</div>
<div class="input-box link-box">
<a href="#">아이디/비밀번호 찾기</a>
</div>
</div>
<div class="modal-foot">
<button type="submit" class="btn bc11">SIGN IN</button>
<button type="button" class="btn bc1 modal-close">취소</button>
<!-- button태그는 form태그에서 사용하고 type설정을 하지않을 경우 자동으로 submit -->
<!-- 기능으로 사용하고 싶다면 <button type="button"을 반드시 명시 -->
</div>
</form>
</div>
</div>
<%} %>
사용할 alert창 - msg.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String title = (String)request.getAttribute("title");
String msg = (String)request.getAttribute("msg");
String icon = (String)request.getAttribute("icon");
String loc = (String)request.getAttribute("loc");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="/js/sweetalert.min.js"></script>
</head>
<body>
<div style="display : none;">
<div id="title"><%=title %></div>
<div id="msg"><%=msg %></div>
<div id="icon"><%=icon %></div>
<div id="loc"><%=loc %></div>
</div>
<script>
const title = document.querySelector("#title").innerText;
const msg = document.querySelector("#msg").innerText;
const icon = document.querySelector("#icon").innerText;
const loc = document.querySelector("#loc").innerText;
//servlet에서 icon이랑 title도 보내기
swal({
title : title,
text : msg,
icon : icon
}).then(function(){
location.href = loc;
});
</script>
</body>
</html>
1. 로그인 (+ 준회원 로그인 제한)
- 헤더와 동일한 코드에서 로그인부분만 떼어온 것 : 로그인을 안했을 때는 sign in과 모달창을 띄우고
로그인을 했을 경우 이용자의 이름을 불러와 적어준다.
<div class="header-link">
<%if(m == null) {%>
<button class="btn bc11 modal-open-btn" target="#login-modal">SIGN IN</button>
<a class="btn bc11" href="/signupFrm.do">SIGN UP</a>
<%} else{%>
<a class="btn bc11" href="#"><%=m.getMemberName() %></a>
<a class="btn bc11" href="/logout.do">LOGOUT</a>
<%} %>
</div>
</header>
<%if(m == null) {%>
<!-- 로그인하지 않은 상태에서만 modal창을 보여줄 것 -->
<div id="login-modal" class="modal-bg">
<div class="modal-wrap">
<div class="modal-head">
<h2>SIGN IN</h2>
<span class="material-icons close-icon modal-close">close</span>
</div>
<form action="/signin.do" method="post">
<div class="modal-content">
<div class="input-box">
<label for="signId">아이디</label>
<input type="text" name="signId" id="signId" class="input-form" placeholder="아이디입력">
</div>
<div class="input-box">
<label for="signPw">비밀번호</label>
<input type="password" name="signPw" id="signPw" class="input-form" placeholder="비밀번호입력">
</div>
<div class="input-box link-box">
<a href="#">아이디/비밀번호 찾기</a>
</div>
</div>
<div class="modal-foot">
<button type="submit" class="btn bc11">SIGN IN</button>
<button type="button" class="btn bc1 modal-close">취소</button>
<!-- button태그는 form태그에서 사용하고 type설정을 하지않을 경우 자동으로 submit -->
<!-- 기능으로 사용하고 싶다면 <button type="button"을 반드시 명시 -->
</div>
</form>
</div>
</div>
<%} %>
Controller(Servlet)
package kr.or.iei.member.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import kr.or.iei.member.service.MemberService;
import kr.or.iei.member.vo.Member;
/**
* Servlet implementation class SigninServlet
*/
@WebServlet(name = "Signin", urlPatterns = { "/signin.do" })
public class SigninServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SigninServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 인코딩
request.setCharacterEncoding("utf-8");
//2. 값추출
String signId = request.getParameter("signId");
String signPw = request.getParameter("signPw");
Member m = new Member();
m.setMemberId(signId);
m.setMemberPw(signPw);
//3. 비즈니스로직
MemberService service = new MemberService();
//입력받은 아이디/패스워드정보가 일치하는 회원정보를 조회
Member member = service.selectOneMember(m);
//4. 결과처리
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/common/msg.jsp");
if(member == null) {
//아이디와 비밀번호가 틀린경우
request.setAttribute("title", "로그인 실패");
request.setAttribute("msg", "아이디 또는 비밀번호를 확인하세요");
request.setAttribute("icon", "error");
request.setAttribute("loc", "/");
}else {
//아이디와 비밀번호가 일치하는경우
//준회원의 경우에는 로그인X
if(member.getMemberLevel() == 3) {
//준회원인 경우
request.setAttribute("title", "로그인 권한 없음");
request.setAttribute("msg", "로그인 권한이 없습니다. 관리자에게 문의하세요.");
request.setAttribute("icon", "warning");
request.setAttribute("loc", "/");
}else {
//관리자 또는 정회원인경우
//-> 회원정보를 세션에 저장(서버가 회원 정보를 기억)
//session은 브라우저를 닫을 때까지 정보를 유지
//아파치톰캣의 설정 -> 세션의 정보를 파기하거나, 일정시간이 지나면(기본적으로 30분) session을 풀어버림
HttpSession session = request.getSession();
session.setAttribute("m", member);
//세션에 저장 후 메세지출력
//request는 다음페이지까지만 사용가
request.setAttribute("title", "로그인성공");
request.setAttribute("msg", "환영합니다.");
request.setAttribute("icon", "success");
request.setAttribute("loc", "/");
}
}
view.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
Service
public Member selectOneMember(Member m) {
Connection conn = JDBCTemplate.getConnection();
Member member = dao.selectOneMember(conn, m);
JDBCTemplate.close(conn);
return member;
}
Dao
public Member selectOneMember(Connection conn, Member m) {
PreparedStatement pstmt = null;
ResultSet rset = null;
Member member = null;
String query = "select * from member_tbl where member_id = ? and member_pw = ?";
try {
pstmt = conn.prepareStatement(query);
pstmt.setString(1, m.getMemberId());
pstmt.setString(2, m.getMemberPw());
rset = pstmt.executeQuery();
if(rset.next()) {
member = new Member();
member.setEnrollDate(rset.getString("enroll_date"));
member.setMemberAddr(rset.getString("member_addr"));
member.setMemberLevel(rset.getInt("member_level"));
member.setMemberName(rset.getString("member_name"));
member.setMemberNo(rset.getInt("member_no"));
member.setMemberPhone(rset.getString("member_phone"));
member.setMemberPw(rset.getString("member_pw"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JDBCTemplate.close(rset);
JDBCTemplate.close(pstmt);
}
return member;
}
2. 로그아웃
Controller(Servlet)
package kr.or.iei.member.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class LogoutServlet
*/
@WebServlet(name = "Logout", urlPatterns = { "/logout.do" })
public class LogoutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LogoutServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 인코딩
request.setCharacterEncoding("utf-8");
//2. 값추출 - 없으므로 생략
//3. 비즈니스로직
//세션에 있는 데이터를 파기
//request.getSession() : 현재 사용중인 세션을 가져온다.
//-> 현재 존재하는 세션이 없으면 세션을 새로 만들어서 가져옴.(세션이라는 공간을 쓰고있을수도 쓰고있지 않을수도 있음)
//request.getSession(false) : 현재 사용중인 세션을 가져온다.
//-> 현재 존재하는 세션이 없으면 null 리턴
//메소드 오버로딩이 되어있는 것
HttpSession session = request.getSession(false);
if(session != null) {
//세션이 존재할때만 로그아웃작업을 해준다
session.invalidate();//현재세선을 파기하는 메소드
}
//4. 결과처리
//1) alert띄우고 메인화면
/*
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/common/msg.jsp");
request.setAttribute("title", "로그아웃성공");
request.setAttribute("msg", "안녕히 가세요");
request.setAttribute("icon", "info");
request.setAttribute("loc", "/");
view.forward(request, response);
*/
//2) 그냥 메인화면
//메인페이지로 갈때 보여줄 데이터가 있는지 고려
//->보내줄 데이터가 없는경우
response.sendRedirect("/");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
3. 회원가입(+아이디중복체크)
페이지 이동을 위한 Servlet
package kr.or.iei.member.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class SignupFrmServlet
*/
@WebServlet(name = "SignupFrm", urlPatterns = { "/signupFrm.do" })
public class SignupFrmServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SignupFrmServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 인코딩
request.setCharacterEncoding("utf-8");
//2. 값추출 - 보내준게없으므로 X
//3. 비즈니스로직 - 페이지이동이 목적이라 X
//4. 결과처리 - forward만을 위한 Servlet
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/member/signupFrm.jsp");
view.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
회원가입 정보를 입력할 jsp + 아이디중복체크
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style>
.input-wrap{
padding : 15px;
}
.submit-btn{
padding : 15px;
margin : 20px 0px;
}
.input-wrap>label{
display: block;
margin-bottom: 10px;
}
.id-wrap{
display: flex;
}
.id-wrap>#memberId{
width: 80%;
}
.id-wrap>#idChkBtn{
width: 20%;
}
</style>
</head>
<body>
<%@include file="/WEB-INF/views/common/header.jsp" %>
<div class="page-content">
<div class="page-title">회원가입</div>
<form name="checkIdFrm" action="/checkId.do">
<!-- 중복체크를 진행한 폼태그
회원 눈에 안보이게 처리 / 중복체크 버튼을 누르면 중복체크가 발생하게 처리 -->
<input type="hidden" name="checkId">
</form>
<form action="/signup.do" method="post">
<div class="input-wrap">
<label for="memberId">아이디</label>
<div class="id-wrap">
<input type="text" name="memberId" id="memberId" class="input-form">
<!--
서버에 request를 통해서 response를 받게되면 화면이 새로고침
-> 중복체크를 하게되면 request를 통해 해당아이디가 있는지 확인하고 response로 값을 받아옴
-> 새로고침발생
방법1. 새창을 뜨게만들어서 중복체크를 하고 입력값이 아이디input에 들어가는것
방법2. ajax를 이용한방법
-->
<button type="button" id="idChkBtn" class="btn bc2">중복체크</button>
</div>
</div>
<div class="input-wrap">
<label for="memberPw">비밀번호</label>
<input type="password" name="memberPw" id="membetPw" class="input-form">
</div>
<div class="input-wrap">
<label for="memberName">이름</label>
<input type="text" name="memberName" id="memberName" class="input-form">
</div>
<div class="input-wrap">
<label for="memberPhone">전화번호</label>
<input type="text" name="memberPhone" id="memberPhone" class="input-form" placeholder="010-0000-0000">
</div>
<div class="input-wrap">
<label for="memberAddr">주소</label>
<input type="text" name="memberAddr" id="memberAddr" class="input-form">
</div>
<div class="submit-btn">
<button type="submit" class="btn bc11 bs4">회원가입</button>
</div>
</form>
</div>
<script>
$("#idChkBtn").on("click", function(){
const memberId = $("#memberId").val();
if(memberId == ""){
alert("아이디를 입력하세요.");
return;
}
//입력한 memberId를 숨겨둔 form태그에 val로 넣어줄것
//숨겨놓은 form태그 내부의 input에 입력한 아이디값 세팅
$("[name=checkId]").val(memberId);
//숨겨놓은 form을 바로 submit하면 화면이 새로 로드됨
//화면이 새로 로드되면 -> 입력했던 정보가 초기화됨
//-> 새창을 띄운 후 새창에서 숨겨둔 form을 submit진행
window.open("", "checkId", "left=700px, top=300px, width=300px, height=200px, menubar=no, status=no, scrollbars=yes"); //새로열리는 창 옵션
//checkId가 창의 이름
//form태그의 target속성에 checkId를 넣음 - 새창과 숨겨둔 form을 연결
$("[name=checkIdFrm]").attr("target", "checkId");
$("[name=checkIdFrm]").submit();
//submit을 하게되면 checkId.do?checkId="입력값"으로 넘어가게된다(get방식)
});
</script>
<%@include file="/WEB-INF/views/common/footer.jsp" %>
</body>
</html>
insert를 진행할 Controller(Servlet)
package kr.or.iei.member.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import kr.or.iei.member.service.MemberService;
import kr.or.iei.member.vo.Member;
/**
* Servlet implementation class SignupServlet
*/
@WebServlet(name = "Signup", urlPatterns = { "/signup.do" })
public class SignupServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public SignupServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1. 인코딩
request.setCharacterEncoding("utf-8");
//2. 값추출
Member m = new Member();
m.setMemberId(request.getParameter("memberId"));
m.setMemberPw(request.getParameter("memberPw"));
m.setMemberName(request.getParameter("memberName"));
m.setMemberPhone(request.getParameter("memberPhone"));
m.setMemberAddr(request.getParameter("memberAddr"));
//3. 비즈니스로직
MemberService service = new MemberService();
int result = service.insertMember(m);
//4. 결과처리
//-> 성공실패에 따라서 alert띄우고 메인으로 이동
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/common/msg.jsp");
if(result > 0) {
request.setAttribute("title", "회원가입성공");
request.setAttribute("msg", "환영합니다.");
request.setAttribute("icon", "success");
request.setAttribute("loc", "/");
}else {
request.setAttribute("title", "회원가입실패");
request.setAttribute("msg", "입력 정보를 확인해주세요.");
request.setAttribute("icon", "error");
request.setAttribute("loc", "/");
}
view.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
- Service
public int insertMember(Member m) {
Connection conn = JDBCTemplate.getConnection();
int result = dao.insertMember(conn, m);
if(result > 0) {
JDBCTemplate.commit(conn);
}else {
JDBCTemplate.rollback(conn);
}
return result;
}
- Dao
public int insertMember(Connection conn, Member m) {
PreparedStatement pstmt = null;
int result = 0;
String query = "insert into member_tbl values(member_seq.nextval, ?, ?, ?, ?, ?, 3, to_char(sysdate, 'yyyy-mm-dd'))";
try {
pstmt = conn.prepareStatement(query);
pstmt.setString(1, m.getMemberId());
pstmt.setString(2, m.getMemberPw());
pstmt.setString(3, m.getMemberName());
pstmt.setString(4, m.getMemberPhone());
pstmt.setString(5, m.getMemberAddr());
result = pstmt.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JDBCTemplate.close(pstmt);
}
return result;
}
중복체크를 위한 Controller(Servlet) - 아래 폼이 이동한다
<form name="checkIdFrm" action="/checkId.do">
<!-- 중복체크를 진행한 폼태그
회원 눈에 안보이게 처리 / 중복체크 버튼을 누르면 중복체크가 발생하게 처리 -->
<input type="hidden" name="checkId">
</form>
package kr.or.iei.member.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import kr.or.iei.member.service.MemberService;
import kr.or.iei.member.vo.Member;
/**
* Servlet implementation class CheckIdServlet
*/
@WebServlet(name = "CheckId", urlPatterns = { "/checkId.do" })
public class CheckIdServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public CheckIdServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.인코딩
request.setCharacterEncoding("utf-8");
//2.값추출
String memberId = request.getParameter("checkId");
//3.비즈니스로직
MemberService service = new MemberService();
Member m = service.selectOneMember(memberId);
//4.결과처리
RequestDispatcher view = request.getRequestDispatcher("/WEB-INF/views/member/checkId.jsp");
request.setAttribute("memberId", memberId);//해당아이디는 사용가능합니다/불가합니다에서 아이디를 띄워주기 위해서
if(m == null) {
//사용가능한 아이디
request.setAttribute("result", 0);
}else {
//사용불가능한 아이디(이미 존재하는 아이디)
request.setAttribute("result", 1);
}
view.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
Service
public Member selectOneMember(String memberId) {
Connection conn = JDBCTemplate.getConnection();
Member m = dao.selectOneMember(conn, memberId);
JDBCTemplate.close(conn);
return m;
}
Dao
public Member selectOneMember(Connection conn, String memberId) {
PreparedStatement pstmt = null;
ResultSet rset = null;
Member m = null;
String query = "select * from member_tbl where member_id=?";
try {
pstmt = conn.prepareStatement(query);
pstmt.setString(1, memberId);
rset = pstmt.executeQuery();
if(rset.next()) {
m = new Member();
m.setEnrollDate(rset.getString("enroll_date"));
m.setMemberAddr(rset.getString("member_addr"));
m.setMemberId(rset.getString("member_Id"));
m.setMemberLevel(rset.getInt("member_level"));
m.setMemberName(rset.getString("member_name"));
m.setMemberNo(rset.getInt("member_no"));
m.setMemberPhone(rset.getString("member_phone"));
m.setMemberPw(rset.getString("member_pw"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JDBCTemplate.close(pstmt);
JDBCTemplate.close(rset);
}
return m;
}
- 로그인과 코드가 비슷하다.
'국비수업 > Server' 카테고리의 다른 글
56일차 : mvc2WebProject - 3 (0) | 2023.02.16 |
---|---|
55일차 : mvc2WebProject - 2 (0) | 2023.02.16 |
53일차 : JSP, MVC1, MVC2 (0) | 2023.02.16 |
52일차 : DB연결 (0) | 2023.02.10 |
51일차 2 : web, servlet 기초 (0) | 2023.02.09 |
Comments