[홈페이지만들기6-1] loginview.jsp 회원가입 성공/실패 alert창 띄우기

jngyoon·2023년 9월 6일
0

혼공일기

목록 보기
12/24

가입 성공시 "성공!" -> loginview.jsp로 이동
가입 실패시 "실패!" -> loginview.jsp로 이동

<알럿창 띄우는 방법>

1. 파라미터

join_db.jsp
성공 : response.sendRedirect("loginview.jsp?j=t"); //t = true
실패 : response.sendRedirect("loginview.jsp?j=f"); //f = false

loginview.jsp
j라는 파라미터가 있는지 flag로 확인
있으면 성공 알럿창 / 없으면 실패 알럿창

2. 쿠키

join_db.jsp
성공 : Cookie cookie2 = new Cookie("j","t");
실패 : Cookie cookie2 = new Cookie("j","f");

loginview.jsp
j 쿠키 있는지 확인 
j="t"이면 성공 알럿창 / j="f"이면 실패 알럿창

3. 세션

join_db.jsp
성공 : session.setAttribute("j", "t");
실패 : session.setAttribute("j", "f");

loginview.jsp
getAttribute로 j를 꺼내서 flag에 담고 
flag가 null이 아니면 t인지 f인지 확인 후 알럿창 띄우기

join_db.jsp

<%@page import="dao.UserDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% request.setCharacterEncoding("UTF-8"); %>
<jsp:useBean id="newUser" class="dto.UserDTO"/>
<jsp:setProperty name="newUser" property="*"/>
<%
	UserDAO udao = new UserDAO();
	if(udao.join(newUser)){
		//성공 화면으로 이동
		Cookie cookie = new Cookie("joinid",newUser.getUserid());
		response.addCookie(cookie);
		
		//1. 파라미터
		//response.sendRedirect("loginview.jsp?j=t");
		
		//2. 쿠키
		//Cookie cookie2 = new Cookie("j","t");
		//response.addCookie(cookie2);
		//response.sendRedirect("loginview.jsp");
		
		//3. 세션
		session.setAttribute("j", "t");
		response.sendRedirect("loginview.jsp");
	}
	else{
		//실패 화면으로 이동
		//1. 파라미터
		//response.sendRedirect("loginview.jsp?j=f");
		
		//2. 쿠키
		//Cookie cookie2 = new Cookie("j","f");
		//response.addCookie(cookie2);
		//response.sendRedirect("loginview.jsp");
		
		//3. 세션
		session.setAttribute("j", "f");
		response.sendRedirect("loginview.jsp");
	}
%>

loginview.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>loginview</title>
</head>
<body>
	<%
		String userid = "";
		String check = request.getHeader("Cookie");
		if(check != null){
			Cookie[] cookies = request.getCookies();
			
			for(Cookie cookie : cookies){
				if(cookie.getName().equals("joinid")){
					userid = cookie.getValue();
					cookie.setMaxAge(0);
					response.addCookie(cookie);
				}
			}
		}
	
		if(!userid.equals("")){
	%>
			<script>
				window.onload = function(){
					document.loginForm.userpw.focus();
				}
			</script>
	<%
		}
		else{
	%>
			<script>
				window.onload = function(){
					document.loginForm.userid.focus();
				}
			</script>
	<%
		}
	%>
	
	<!-- 1. 파라미터 -->
	<%--
	<%
		String flag = request.getParameter("j");	<!-- j라는 파라미터가 있는지 flag로 확인 --> 
		if(flag != null){			<!-- flag가 null이 아니면 t => "성공!" 알럿창 -->
			if(flag.equals("t")){
	%>
				<script>
					alert("성공!");
				</script>
	<%
			}
			else{		<!-- flag가 null이면 "실패!" 알럿창-->
	%>
				<script>
					alert("실패!");
				</script>
	<%		
			}
		}
	%>
	--%>
	
	<!-- 2. 쿠키 -->
	<%--
	<%
		String j = "";
		String check2 = request.getHeader("Cookie");
		if(check2 != null){
			Cookie[] cookies = request.getCookies();
			
			for(Cookie cookie : cookies){
				if(cookie.getName().equals("j")){
					j = cookie.getValue();
					cookie.setMaxAge(0);
					response.addCookie(cookie);
				}
			}
		}
	
		if(j.equals("t")){
	%>
			<script>
				alert("성공!");
			</script>
	<%
		}
		else{
	%>
			<script>
				alert("실패!");
			</script>
	<%		
		}
	%>
	--%>
	
	<!-- 3. 세션 -->
	<%
		String flag = (String)session.getAttribute("j");
		if(flag != null){
			session.removeAttribute("j");
			if(flag.equals("t")){
	%>
				<script>alert("성공!")</script>
	<%
			}
			else{
	%>
				<script>alert("실패!")</script>
	<%
				
			}
		}
	%>
	<form name="loginForm" action="login_db.jsp" method="post">
		<input name="userid" placeholder="아이디를 입력하세요" value="<%=userid%>"><br>
		<input name="userpw" type="password" placeholder="비밀번호를 입력하세요"><br>
		<input type="submit" value="로그인">
	</form>
</body>
</html>

0개의 댓글