로그인페이지
loginview.jsp
<body>
//쿠키확인
<%
String userid="";
String check = request.getHeader("Cookie"); //요청에 있는 Header 정보 중에 Cookie 라는 이름의 헤더가 있는지 확인 / null이라면 전송된 쿠키가 하나도 없다는 뜻
if(check != null){
Cookie[] cookies = request.getCookies(); //null이 아니면 cookies 배열에 꺼내기
for(Cookie cookie : cookies){
if(cookie.getName().equals("joinid")){ //cookie에 getName에 joinid와 같은게 있다면
userid = cookie.getValue(); //userid에 그 값을 넣어주기 -> input userid value에 <%=userid%>로 출력
//쿠키 지우기(다음번 접속시 아이디가 남아있지 않게 하기 위해)
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}
}
//userid가 빈문자열("")이 아니라면 uwerpw에 커서 깜빡이기(focus)
if(!userid.equals("")){
%>
<script>
window.onload = function(){
document.loginForm.userpw.focus();
}
</script>
//else문에는 userid에 포커스(userid가 빈문자열)
<%
}
else{
%>
<script>
window.onload = function(){
document.loginForm.userid.focus();
}
</script>
<%
}
%>
<form 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>
login_db.jsp
//DBConnection.jsp 'include'로 DB 연결
<%@include file="DBConnection.jsp" %>
<%
//getParameter로 데이터 추출
String userid = request.getParameter("userid");
String userpw = request.getParameter("userpw");
Connection conn = getConnection();
String sql = "select * from t_user where userid=? and userpw=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, userid);
ps.setString(2, userpw);
ResultSet rs = ps.executeQuery();
//rs에 결과가 있다면 로그인 성공 / 아니면 실패
if(rs.next()){
session.setAttribute("loginUser", userid); //setAttribute : 데이터 저장(loginUser라는 이름으로 userid 저장)
response.sendRedirect("main.jsp"); //main.jsp로 이동
}
else{
response.sendRedirect("login_fail.jsp"); //실패시 login_fail.jsp로 이동
}
%>