<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 하겠다

MySql 쿼리문 규칙


회원가입 아이디 중복 체크

<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>