cookie_ex02
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
/*
이 페이지 처음 진입하면 idCheck쿠키를 찾아서 값을 얻고 아이디 태그안에
미리 값을 넣어주는 코드를 작성합니다.
input태그에 value속성을 쓰면 됩니다.
*/
Cookie[] arr =request.getCookies();
String idex = "";//쿠키가 없으면 공백값으로
if(arr!=null){
for(Cookie c : arr){
if(c.getName().equals("idc")){
idex=c.getValue();
}
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>쿠키 로그인 연습</h2>
<form action="cookie_ex02_ok.jsp" method="post">
아이디:<input type="text" name="id" size="10" value="<%=idex%>"><br>
비밀번호:<input type="password" name="pw" size="10"><br>
<input type="submit" value="로그인">
<input type="checkbox" name="idCheck" value="y" >아이디기억하기
</form>
</body>
</html>
아이디태그에 value="<%=idex%>"식의 구문을 적는 것이 가능함
아이디체크쿠키가 없으면 String idex=""이므로 입력칸에 아무것도 없고,
쿠키가 있으면 입력칸에 값이 출력되어있음
cookie_ex02_ok
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
String id=request.getParameter("id");
String pw=request.getParameter("pw");
String idCheck=request.getParameter("idCheck");
//로그인 성공이라 가정
if(id.equals("aaa123")&&pw.equals("1234")){
//로그인 성공시 id쿠키생성
Cookie cookie = new Cookie("user_id",id);
cookie.setMaxAge(1800);
response.addCookie(cookie);
//idCheck쿠키
//사용자가 체크박스를 체크했다면 idcheck쿠키 생성. 시간은 30초
if(idCheck!=null){//null은 string이 아니기 때문에 비교가 불가. nullpointexception이 발생한다.
Cookie idcheck = new Cookie("idc",id);
idcheck.setMaxAge(30);
response.addCookie(idcheck);
}else{
//체크가 되어있지 않다면 쿠키를 지우기
Cookie idcheck = new Cookie("idc",id);
idcheck.setMaxAge(0);
response.addCookie(idcheck);
}
response.sendRedirect("cookie_ex02_welcome.jsp");//성공페이지
//로그인 실패시
}else{
if(idCheck!=null){
Cookie idcheck = new Cookie("idc",id);
idcheck.setMaxAge(30);
response.addCookie(idcheck);
}else{
Cookie idcheck = new Cookie("idc",id);
idcheck.setMaxAge(0);
response.addCookie(idcheck);
}
response.sendRedirect("cookie_ex02.jsp");//다시 로그인 화면으로
}
%>
로그인 실패,체크안함
->쿠키생성되지 않고, 다시 로그인페이지로 돌아오며 입력칸 전부 빈칸
로그인실패,체크함
->쿠키생성됨, 다시 로그인페이지로 돌아옴, 입력칸에 이전에 적은 아이디 출력되어있음
로그인성공, 체크안함
->welcome페이지로 이동, 아이디체크쿠키생성x, 아이디쿠키생성됨, 다시 로그인페이지로 돌아가면 입력칸 전부 빈칸
로그인성공,체크함
->welcome페이지로 이동, 쿠키 둘 다 생성, 다시 로그인페이지로 돌아가면 이전에 적은 아이디 출력되어있음
cookie_ex02_welcome
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//user_id쿠키를 찾는 작업
Cookie[] arr=request.getCookies();
String id ="";
if(arr!=null){
for(Cookie c : arr){
if(c.getName().equals("user_id")){
id=c.getValue();
}
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
어서오세요. <%=id%>님<br>
<a href="cookie_ex02.jsp">돌아가기</a>
</body>
</html>
'JSP' 카테고리의 다른 글
221130 session실습 (0) | 2022.11.30 |
---|---|
221130 session (0) | 2022.11.30 |
221130 Cookie (0) | 2022.11.30 |
221130 jsp out (0) | 2022.11.30 |
221130 jsp태그 class와 id, style맛보기 (0) | 2022.11.30 |