<aside>
Controller에서 직접 회원 정보에 해당하는 정보를 기준으로 할 수도 있고 쿼리 스트링으로 URL에 정보를 담아서 전송할 수 있다 >> 보안에 취약
암호화 하여 전송하면 가능하다 @RequestParam으로 데이터를 전송할 수 있다 >> 로그인이 안 되어있으면 null 값이 나온다 특정 값이 있을 경우에 사용이 가능하다 이점 주의
</aside>
회원탈퇴
@RequestMapping("/delete")
public String delete(MemberVO vo, HttpSession session) {
int result = mapper.delete(vo.getEmail());
if(result > 0) {
session.invalidate();
}
return "main";
}
<delete id="delete" parameterType="String">
delete from member where email = #{email}
</delete>
관리자 로그인
<!-- Header -->
<header id="header" class="alt">
<a href="index.html" class="logo"><strong>Forty</strong> <span>by HTML5 UP</span></a>
<nav>
<c:choose>
<c:when test="${empty user_info}">
<a href="#menu">로그인</a>
</c:when>
<c:otherwise>
<c:if test="${not empty admin_id}">
<a href="select">회원정보 관리</a>
</c:if>
<a href="logout">로그아웃</a>
<a href="update">개인정보수정</a>
<a href="delete">회원탈퇴</a>
</c:otherwise>
</c:choose>
</nav>
</header>
회원정보 관리
@RequestMapping("/select")
public String select(HttpSession session) {
MemberVO user_info = (MemberVO) session.getAttribute("user_info");
if (user_info != null && user_info.getEmail().equals("admin")) {
List<MemberVO> result = mapper.Allmember();
if (result != null) {
session.setAttribute("user_List", result);
} else {
System.out.println("유저 정보를 찾을수없습니다");
}
}
return "select";
}
<select id="Allmember" resultType="com.smhrd.model.MemberVO">
select * from member
</select>
select * from member where not like '%admin%'
특정 문자만 (admin) 이 아닌 정보만 select 하겠다
회원가입 아이디 중복 체크
<aside>
ajax 코드는 Map을 사용헤도 변경 하지 않아도 된다
</aside>
<!-- Context Path 가져오는 방법 -->
<!-- pageContext : servlet 클래스르르 상송해 jsp 실행 시 자동 생성 제공하는 내장객체-->
<!-- contextPath: 특정 웹 애플리케이션 식별 하는 용도-->
<c:set var = "cpath" value="${pageContext.request.contextPath}" />
...
<li><input type="text" placeholder="Email을 입력하세요" name ="email" id = "inputEmail"></li>
<li><span id ="emailCheckMsg"></span></li>
<script src="<https://code.jquery.com/jquery-3.7.1.min.js>" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>
<script>
$('#inputEmail').on('blur',function(){
let email = $(this).val().trim();
$.ajax({
url : "emailC",
type : "GET",
data : {email : email},
dataType : 'json',
success : function(data){
console.log(data);
if(data.available){
$("#emailCheckMsg").text("사용가능한 아이디 입니다");
} else {
$("#emailCheckMsg").text("중복된 아이디 입니다");
}
}
})
})
</script>