2022. 10. 13. 23:26ㆍ3층 1구역 - 개발의 장/JSP
1.서론
이전에 진행했던 회원제(?) 게시판 에서 로그인을 비롯한 회원과 관련된 정보들을 전부 JSTL로 바꿔보도록 하자.
JSP에서 작성한 게시물은 요기!
2022.09.29 - [3층 - 개발의 장/JSP] - JSP - 간단한 게시판 구현하기(외전) - MemberDAO,DTO (2022-09-29)
JSP - 간단한 게시판 구현하기(외전) - MemberDAO,DTO (2022-09-29)
1. 서론 보통 이건 관련 내용 설명하면서 제시하는데 그냥 올려두겠다 2. 본론 MemberDTO.java package session_quiz; /* 테이블 이름 : session_quiz 테이블 컬럼 : 아래의 멤버필드를 참고하여 생성, 크기는 자..
sukw9512.tistory.com
2022.09.29 - [3층 - 개발의 장/JSP] - JSP - 간단한 게시판 구현하기(2) - 회원가입, Login & Logout (2022-09-29)
JSP - 간단한 게시판 구현하기(2) - 회원가입, Login & Logout (2022-09-29)
1. 서론 이번에는 회원가입과 더불어 로그인, 로그아웃을 구현해 보자. 2. 본론 2-1. 회원가입 register.jsp(전체 코드) <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%..
sukw9512.tistory.com
2022.09.29 - [3층 - 개발의 장/JSP] - JSP - 간단한 게시판 구현하기(3) - 회원정보 열람 및 수정,삭제 (2022-09-29)
JSP - 간단한 게시판 구현하기(3) - 회원정보 열람 및 수정,삭제 (2022-09-29)
1. 서론 이번엔 관리자와 유저간의 어느 한 경계선에서 줄타기를 해볼 거다. 무슨 말이냐면 회원정보 열람 수정, 삭제를 구현해볼 거란 이야기 이다. 2. 본론 여기도 데이터베이스는 들어가니 여
sukw9512.tistory.com
2.본론
먼저 index부터 손보도록 하자.
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<%@ include file="/otherTag/header.jsp" %>
<%@ include file="/otherTag/main.jsp" %>
<%@ include file="/otherTag/footer.jsp" %>
</body>
</html>
위 코드는 <%@ include file=""%> 로 짜여져 있는데... 이걸...
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<c:import url="/otherTag/header.jsp" />
<c:import url="/otherTag/main.jsp" />
<c:import url="/otherTag/footer.jsp" />
</html>
위 코드처럼 바꾸고 진행하도록 하겠다.
다른 점을 간단하게 말하자면 <c:import url="" />은 거기에 속한 HTML 값 정도만 끌어온다.
예를 들자면, header에서 변수를 member라고 부여해줬는데 main에서도 member라고 지정해야 할 일이 생겨버렸다.
그럴 경우 <%@ include file=""%> 이걸로 include를 해왔다면 모든 코드를 전부 긁어오는 개념이기 때문에 member라는 변수가 충돌이 일어날 것이다.
그걸 방지하기 위해 <c:import urt="" />로 바꿔준다.(그리고 core태그를 배웠으면 한번 쯤 써봐야지...)
그거 말고도 외부자원을 끌어올 수도 있다.
먼저 DAO와 DTO는 동일한 코드를 사용할 것이다.
코드는 요기서!!!
2022.09.29 - [3층 - 개발의 장/JSP] - JSP - 간단한 게시판 구현하기(외전) - MemberDAO,DTO (2022-09-29)
JSP - 간단한 게시판 구현하기(외전) - MemberDAO,DTO (2022-09-29)
1. 서론 보통 이건 관련 내용 설명하면서 제시하는데 그냥 올려두겠다 2. 본론 MemberDTO.java package session_quiz; /* 테이블 이름 : session_quiz 테이블 컬럼 : 아래의 멤버필드를 참고하여 생성, 크기는 자..
sukw9512.tistory.com
2-1. header.jsp
먼저 header부터 바꿔보자
먼저 이전 코드
<style type="text/css">
a {text-decoration: none; color:black;}
ul {padding: 20px;}
ul li {display: inline; padding: 15px;}
.main_div{height:150px;}
</style>
<div align="center">
<h1>CARE LAB</h1>
</div>
<div align="right">
<hr>
<ul>
<li><a href="index.jsp">HOME</a></li>
<li><a href="register.jsp">Register</a></li>
<% if(session.getAttribute("id") == null){%>
<li><a href="login.jsp">Login</a></li>
<%}else{ %>
<li><a href="memberInfo.jsp">MemberInfo</a></li>
<li><a href="logout.jsp">Logout</a></li>
<li><a href="boardForm.jsp">Board</a></li>
<%} %>
</ul>
<hr>
</div>
위 코드에서 바꿔서 표현해야 할 것은
<% if(session.getAttribute("id") == null){%>
<%}else{ %>
<%} %>
if-else의 코드를 jstl 코드로 변환시켜 줘야 한다.
위 코드는 만약 id의 세션값이 null이라면 라는 뜻의 if-else니까....
c태그에서 가장 비슷한건 <c:choose>, <c:when>, <c:otherwise>가 가장 비슷할 거 같다.
보통 이 c태그들은 switch-case문과 비슷하다고 많이들 얘기하는데 필자 입장에서는 if-else문과 비슷한 느낌이다.
어쨋든 <c:when>에 조건을 넣어야 하니까
<c:when test="${empty sessionScope.id }">라는 조건을 넣어 if(session.getAttribute("id") == null)와 동일한 환경을 만들어준다.
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<style type="text/css">
a {text-decoration: none; color:black;}
ul {padding: 20px;}
ul li {display: inline; padding: 15px;}
.main_div{height:150px;}
</style>
<div align="center">
<h1>CARE LAB</h1>
</div>
<div align="right">
<hr>
<ul>
<li><a href="index.jsp">HOME</a></li>
<c:choose>
<c:when test="${empty sessionScope.id }">
<li><a href="register.jsp">Register</a></li>
<li><a href="login.jsp">Login</a></li>
</c:when>
<c:otherwise>
<li><a href="memberInfo.jsp">MemberInfo</a></li>
<li><a href="logout.jsp">Logout</a></li>
<li><a href="boardForm.jsp">Board</a></li>
</c:otherwise>
</c:choose>
</ul>
<hr>
</div>
2-2. 회원가입
로그인을 하려면 아이디와 비밀 번호가 필요하기 때문에 먼저 회원가입부터 살펴보도록 하자.
register 폼은 달라진게 없다.
굳이 있다면 header와 footer를 불러오는 코드가 바뀌었다는 거?
register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>register</title>
<script src="check.js"></script>
</head>
<body>
<c:import url="header.jsp"/>
<div align="center">
<h1>회원 등록</h1>
<table>
<tr><td>
<form action="registerService.jsp" method="get">
<input type="text" name="id" placeholder="아이디" id="id"> (*필수 항목) <br>
<input type="password" name="pw" placeholder="비밀번호" id="pw"><br>
<input type="password" name="confirm" placeholder="비밀번호 확인 " id="confirm" onchange="pwCheck()">
<label id="label">(*필수 체크)</label><br>
<input type="text" name="userName" id="userName" placeholder="이름" ><br>
<input type="text" name="address" placeholder="주소" ><br>
<input type="text" name="mobile" placeholder="전화번호" ><br>
<input type="submit" value="회원가입" ><br>
</form>
</td></tr>
</table>
</div>
<c:import url="footer.jsp"/>
</body>
</html>
registerService.jsp
<%@page import="java.util.ArrayList"%>
<%@page import="otherTag.MemberDTO"%>
<%@page import="otherTag.MemberDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!-- 주석 : 기존 자바 코드 -->
<!-- request.setCharacterEncoding("utf-8"); -->
<fmt:requestEncoding value="UTF-8"/>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="member" class="otherTag.MemberDTO" />
<!-- String id = request.getParameter("id");
String pw = request.getParameter("pw");
String confirm = request.getParameter("confirm");
String userName = request.getParameter("userName");
String address = request.getParameter("address");
String mobile = request.getParameter("mobile"); >>register.jsp에서 얻어온 값들을
member.setId(id);
member.setPw(pw);
member.setUserName(userName);
member.setAddress(address);
member.setMobile(mobile); -->
<jsp:setProperty property="*" name="member"/>
<c:choose>
<!-- if(id == "" || pw == "" || userName == ""){
out.print("<script>alert('필수 정보입니다.'); history.back();</script>");
return ;
} -->
<c:when test="${empty param.id or empty param.pw or empty param.userName }">
<script>alert('필수 정보입니다.'); history.back();</script>
</c:when>
<!-- if(! pw.equals(confirm)){
out.print("<script>alert('두 패스워드가 일치하지 않습니다.'); history.back();</script>");
return ;
} -->
<c:when test="${param.pw != param.confirm }">
<script>alert('두 패스워드가 일치하지 않습니다.'); history.back();</script>
</c:when>
<c:otherwise>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="memberDao" class="otherTag.MemberDAO" />
<!-- MemberDTO check = memberDao.selectId(id); -->
<c:set var="check" value="${memberDao.selectId(member.id) }"/>
<c:choose>
<!-- if(check == null){out.print("<script>alert('회원 가입 완료'); location.href='index.jsp';</script>"); -->
<c:when test="${empty check }">
<!-- memberDao.insert(member); -->
${memberDao.insert(member) }
<!-- memberDao.disconnection(); -->
${memberDao.disconnection() }
<script>alert('회원 가입 완료'); location.href='index.jsp';</script>
</c:when>
<!-- }else{
out.print("<script>alert('회원 가입 실패'); history.back();</script>");
} -->
<c:otherwise>
<script>alert('회원 가입 실패'); history.back();</script>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
2-3. 로그인
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login</title>
<script src="check.js"></script>
</head>
<body>
<c:import url="/otherTag/header.jsp" />
<div align="center">
<h1>로그인</h1>
<table>
<tr><td>
<form action="loginService.jsp" method="post">
<input type="text" name="id" placeholder="아이디" id="id"> <br>
<input type="password" name="pw" placeholder="비밀번호" id="pw"><br>
<input type="submit" value="로그인"><br>
</form>
</td></tr>
</table>
</div>
<c:import url="/otherTag/footer.jsp" />
</body>
</html>
로그인 폼도 딱히 달라진 건 없다.
loginService.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!-- request.setCharacterEncoding("utf-8"); -->
<fmt:requestEncoding value="UTF-8"/>
<c:choose>
<!-- param.id 혹은 param.pw는
String id = request.getParameter("id");
String pw = request.getParameter("pw"); << 이것을 처리
if(id == "" || pw == ""){
out.print("<script>alert('필수 정보입니다.'); history.back();</script>");
return ;
}-->
<c:when test="${empty param.id or empty param.pw}">
<script>alert('필수 정보입니다.'); history.back();</script>
</c:when>
<c:otherwise>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="memberDao" class="otherTag.MemberDAO" />
<!-- MemberDTO check = memberDao.selectId(id); -->
<c:set var="check" value="${memberDao.selectId(param.id) }" />
<c:choose>
<!-- if(check != null && check.getPw().equals(pw)){ -->
<c:when test="${not empty check and check.pw == param.pw}">
<!-- session.setAttribute("id", id);
session.setAttribute("userName", check.getUserName());
session.setAttribute("address", check.getAddress());
session.setAttribute("mobile", check.getMobile());
out.print("<script>alert('로그인 성공'); location.href='index.jsp';</script>");-->
<c:set var="id" value="${param.id }" scope="session" />
<c:set var="userName" value="${check.userName }" scope="session" />
<c:set var="address" value="${check.address }" scope="session" />
<c:set var="mobile" value="${check.mobile }" scope="session" />
<script>alert('로그인 성공'); location.href='index.jsp';</script>
</c:when>
<!-- }else{
out.print("<script>alert('로그인 실패'); history.back();</script>");
} -->
<c:otherwise>
<script>alert('로그인 실패'); history.back();</script>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
2-4. 회원 수정
update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:choose>
<!-- String id = (String)session.getAttribute("id");
if(id == null){
out.print("<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>");
return;
} -->
<c:when test="${sessionScope.id }">
<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>
</c:when>
<c:otherwise>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>update</title>
<script src="check.js"></script>
</head>
<body>
<c:import url="/otherTag/header.jsp" />
<div align="center">
<h1>회원 수정</h1>
<table>
<tr><td>
<form action="updateService.jsp" method="post" id="f">
<input type="text" id="id" value="${sessionScope.id }" readonly="readonly"><br>
<input type="password" name="pwd1" placeholder="비밀번호" id=pw><br>
<input type="password" name="pwd2" placeholder="비밀번호 확인 " id="confirm" onchange="pwCheck()">
<label id="label">(*필수 체크)</label><br>
<input type="text" name="userName" id="userName" value="${sessionScope.userName }" ><br>
<input type="text" name="address" value="${sessionScope.address }" ><br>
<input type="text" name="mobile" value="${sessionScope.mobile }" ><br>
<input type="button" value="회원수정" onclick="allCheck()"><br>
</form>
</td></tr>
</table>
</div>
<c:import url="/otherTag/footer.jsp" />
</body>
</html>
</c:otherwise>
</c:choose>
위 코드에서 바뀐건 크게 없다.
<%=session.getAttribute("name")%>들은 ${sessionScope.name }으로 바꿔주었고,
검증값은 위 코드와 같이 <c:choose>, <c:when>, <c:otherwise>를 통해 바꾸어 주었다.
updateService.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!-- request.setCharacterEncoding("utf-8"); -->
<fmt:requestEncoding value="UTF-8"/>
<!-- MemberDTO member = new MemberDtO(); -->
<jsp:useBean id="member" class="otherTag.MemberDTO" />
<!-- check.setPw(pw);
check.setUserName(userName);
check.setAddress(address);
check.setMobile(mobile); -->
<jsp:setProperty property="*" name="member" />
<c:choose>
<!-- if(id == null){
out.print("<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>");
return;
} -->
<c:when test="${empty sessionScope.id }">
<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>
</c:when>
<!-- if(pw == "" || userName == ""){
out.print("<script>alert(' 필수 항목이다.'); location.href='update.jsp';</script>");
return;
} -->
<c:when test="${empty param.pw or empty param.userName }">
<script>alert(' 필수 항목이다.'); location.href='update.jsp';</script>
</c:when>
<!-- if(pw.equals(confirm) == false){
response.sendRedirect("update.jsp");
return ;
} -->
<c:when test="${param.pw != param.confirm }">
<c:redirect url="update.jsp" />
</c:when>
<c:otherwise>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="memberDao" class="otherTag.MemberDAO" />
<!-- MemberDTO check = memberDao.selectId(id); -->
<c:set var="check" value="${memberDao.selectId(sessionScope.id) }" />
<c:choose>
<!-- if(check == null){
out.print("<script>alert('회원 가입 후 이용하세요.'); location.href='register.jsp';</script>");
return;
} -->
<c:when test="${empty check }">
<script>alert('회원 가입 후 이용하세요.'); location.href='register.jsp';</script>
</c:when>
<c:otherwise>
${member.setId(sessionScope.id)}
${memberDao.update(member) }
${memberDao.disconnection() }
<!-- session.invalidate(); -->
<c:remove var="id" scope="session"/>
<c:remove var="userName" scope="session"/>
<c:remove var="address" scope="session"/>
<c:remove var="mobile" scope="session"/>
<script>alert('회원 수정 완료'); location.href='index.jsp';</script>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
2-5. 회원 삭제
delete.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:choose>
<c:when test="${empty sessionScope.id }">
<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>
</c:when>
<c:otherwise>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>delete</title>
</head>
<body>
<c:import url="header.jsp" />
<div align="center">
<h1>회원 탈퇴</h1>
<table>
<tr><td>
<form action="deleteService.jsp" method="post" id="f">
<input type="text" value="${sessionScope.id }" readonly="readonly"> <br>
<input type="password" name="pw" placeholder="비밀번호"><br>
<input type="password" name="confirm" placeholder="비밀번호 확인" ><br>
<input type="submit" value="탈퇴"><br>
</form>
</td></tr>
</table>
</div>
<c:import url="footer.jsp" />
</body>
</html>
</c:otherwise>
</c:choose>
deleteService.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!-- request.setCharacterEncoding("utf-8"); -->
<fmt:requestEncoding value="UTF-8"/>
<!-- MemberDTO member = new MemberDTO(); -->
<jsp:useBean id="member" class="otherTag.MemberDTO" />
<!-- String pw = request.getParameter("pw");
String confirm = request.getParameter("confirm"); -->
<jsp:setProperty property="*" name="member" />
<c:choose>
<!-- if(id == null){
out.print("<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>");
return;
} -->
<c:when test="${empty sessionScope.id }">
<script>alert('로그인 후 이용하세요.'); location.href='login.jsp';</script>
</c:when>
<!-- if(pw == ""){
out.print("<script>alert(' 필수 항목이다.'); location.href='delete.jsp';</script>");
return;
} -->
<c:when test="${empty param.pw }">
<script>alert(' 필수 항목이다.'); location.href='delete.jsp';</script>
</c:when>
<!-- if(pw.equals(confirm) == false){
response.sendRedirect("delete.jsp");
return ;
} -->
<c:when test="${param.pw != param.confirm }">
<c:redirect url="delete.jsp" />
</c:when>
<c:otherwise>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="memberDao" class="otherTag.MemberDAO" />
<!-- memberDao.selectId(id); -->
<c:set var="check" value="${memberDao.selectId(sessionScope.id) }" />
<c:choose>
<!-- if(member.getPw().equals(pw) == false){
out.print("<script>alert('비밀번호가 일치하지 않습니다.'); location.href='delete.jsp';</script>");
return;
} -->
<c:when test="${member.pw != check.pw }" >
<script>alert('비밀번호가 일치하지 않습니다.'); location.href='delete.jsp';</script>
</c:when>
<c:otherwise>
<!-- memberDao.delete(id); -->
${memberDao.delete(sessionScope.id) }
${memberDao.disconnection() }
<!-- session.invalidate(); -->
<c:remove var="id" scope="session"/>
<c:remove var="userName" scope="session"/>
<c:remove var="address" scope="session"/>
<c:remove var="mobile" scope="session"/>
<script>alert('회원 삭제 완료'); location.href='index.jsp';</script>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
2-6. 회원 명단 보기
memberInfo.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>memberInfo</title>
</head>
<body>
<c:import url="header.jsp" />
<div align="center">
<h1>회원 목록</h1>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="memberDao" class="otherTag.MemberDAO" />
<!-- ArrayList<MemberDTO> members = memberDao.selectAll(); -->
<c:set var="members" value="${memberDao.selectAll() }" />
<c:choose>
<!-- if(members.isEmpty() == true){
out.print("<h1> 등록된 데이터가 존재하지 않습니다. </h1>");
return; -->
<c:when test="${members.isEmpty() == true}">
<h1> 등록된 데이터가 존재하지 않습니다. </h1>
</c:when>
<c:otherwise>
<table border=1>
<thead>
<tr>
<th>아이디</th>
<th>이름</th>
<th>전화번호</th>
</tr>
</thead>
<tbody>
<!-- for(MemberDTO member : members) -->
<c:forEach var="member" items="${members }">
<tr>
<td onclick="location.href='userInfo.jsp?id=${member.getId()}'">
${member.id }
</td>
<td>${member.userName }</td>
<td>${member.mobile }</td>
</tr>
</c:forEach>
</tbody>
</table>
</c:otherwise>
</c:choose>
</div>
</body>
<c:import url="footer.jsp" />
</html>
userInfo.jsp
<%@page import="otherTag.MemberDAO"%>
<%@page import="otherTag.MemberDTO"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!-- request.setCharacterEncoding("utf-8"); -->
<fmt:requestEncoding value="UTF-8"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>userInfo</title>
</head>
<body>
<c:import url="/otherTag/header.jsp" />
<c:choose>
<!-- if(seesionId == null){
response.sendRedirect("login.jsp");
return;
} -->
<c:when test="${empty sessionScope.id }">
<c:redirect url="login.jsp" />
</c:when>
<!-- String reqId = request.getParameter("id");
if(seesionId.equals(reqId) == false){
response.sendRedirect("memberInfo.jsp");
return;
} -->
<c:when test="${sessionScope.id != param.id }">
<c:redirect url="memberInfo.jsp" />
</c:when>
<c:otherwise>
<!-- MemberDAO memberDao = new MemberDAO(); -->
<jsp:useBean id="memberDao" class="otherTag.MemberDAO" />
<!-- MemberDTO member= memberDao.selectId(reqId); -->
<c:set var="member" value="${memberDao.selectId(param.id) }" />
<div align="center">
<h1>개인 정보</h1>
아이디 : ${member.id } <br>
비밀번호 : ${member.pw }<br>
이름 : ${member.userName } <br>
주소 : ${member.address } <br>
전화번호 : ${member.mobile } <br><br>
<button type="button" onclick="location.href='update.jsp?id=${member.id}'">회원 수정</button>
<button type="button" onclick="location.href='delete.jsp?id=${member.id}'">회원 삭제</button>
</div>
</c:otherwise>
</c:choose>
<c:import url="/otherTag/footer.jsp" />
</body>
</html>
3. 결론
이렇게 회원의 로그인과 관련된 모든 기능을 스크립트릿 안에 java코드를 전부 jstl로 변환하는 작업을 했다.
올리기 전에 나름대로 한번 코드를 작성해보고 동작이 되면 그 뒤에 정리해서 올리는데 어디는 var가 들어가고, 어디는 id가 들어가고, class가 들어가고, name이 들어가는 것은 좀 더 익숙해져야 하는 과제이지만, 처음 코드를 봤을 때 감 조차도 못 잡았는데, 기존 jsp 코드와 비교하며 천천히 코드를 작성하고 하니 대충 어떻게 흘러가는지 보이기 시작했다.
시간이 허락되는 한해서 게시판도 jstl로 변환시켜 볼까 생각중이다.
그 전에....두번째 프로젝트 a/s가 먼저겠지만.....
본격적으로 Spring 돌입하기 전에 어느 정도 c태그에 대해 이해하고 넘어갈 수 있었다.
'3층 1구역 - 개발의 장 > JSP' 카테고리의 다른 글
JSP - JSTL, useBean, setProperty, getProperty (2022-10-12) (0) | 2022.10.12 |
---|---|
JSP - JSTL, login 형식을 이용한 forward의 표현 (2022-10-12) (0) | 2022.10.12 |
JSP - JSTL, scope (2022-10-12) (0) | 2022.10.12 |
JSP - JSTL <c:url> (2022-10-12) (0) | 2022.10.12 |
JSP - JSTL <c:out>, <c:set>, <c:if>, <c:forEach>, <c:choose> - <c:when>(2022.10.12) (0) | 2022.10.12 |