자바/Jsp

[Jsp] 개인 홈페이지 만들기(2)-로그인 페이지

taehee94 2022. 3. 9. 18:22

앞서 기본화면 페이지와 회원가입 페이지를 만들었으니 참고해주세요.

https://taehee94.tistory.com/8

 

[Jsp] 개인 홈페이지 만들기(1)-기본 화면,회원가입페이지

코딩공부가 목적이여서, 간단한 틀만 만들었습니다. 디자인이 목적이 아니니 코딩한것만 참고해주세요. Jsp와 Mysql 연동해서 회원가입, 로그인, 정보수정을 해보겠습니다. 1.기본화면입니다. <%@ p

taehee94.tistory.com

1.로그인 페이지를 만들겠습니다.

간단하게 아이디와 패스워드를 입력할 수 있는 로그인페이지를 생성했습니다.

 

 

 

 

 

 

 

 

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Login Page</title>
    <script  type="text/javascript">
    var user_id = "<%=(String)session.getAttribute("user_id")%>";
    function logout(){
        window.location.href = "logout.php";
        }

    </script>
</head>
<body style="background:gray">
<script>
if (user_id == null){</script>
<div style="background:white;margin:-12px -0.5% 0px -20px; text-align:center;height:80px; border: 1px solid">
<h2>로그인 페이지</h2></div>
 <div style="position:absolute; top:50%; left:50%; width:19%; height:80px; margin:-80px 0px 0px -200px; border:1px solid;">
  <form name="login" method="post" action="Login_check.jsp">
            아이디 : <input type="text" name="user_id"/><br />
            패스워드 : <input type="password" name="user_pw" /><br />
            <input type="submit" value="로그인">
  </form>
     <br>
     <a href="../Page.html">맨 처음 페이지로</a>&nbsp;&nbsp;&nbsp;&nbsp;
     <a href="../Join/JOIN.jsp">회원가입</a>
 </div><br>
 <script>} else {
	 alert("이미 로그인 된 상태입니다.");
 	 document.location.href="../board_list.jsp";
 }</script>
 <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 <script src="js/bootstrap.js"></script>
</body>
</html>

form,action을 통해 Login_check.jsp로 정보를 보내줍니다.세션에 저장되어있는 정보가 있다면, 이미 로그인 된 상태라고 alert메세지를 띄우고, 저장되어있는 정보가 없을땐 아이디와 패스워드를 입력할 수 있게 코딩되어있습니다.

하이퍼링크로되어있는 맨 처음 페이지로는 기존화면으로 보내주고,

회원가입은 회원가입 페이지로 보내주는 역할을 합니다.

 

다음은 정보를 받는 Login_check.jsp 입니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Statement"%>
<% request.setCharacterEncoding("UTF-8"); %>
<!DOCTYPE>
<html>
    <head>
    <meta charset="UTF-8">
    </head>
<body>
<%
String user_id = "";
String user_pw = "";
String userLevel = "";
if(request.getParameter("user_id") == ""){  %>
     <script>
	 alert("아이디를 입력하세요");
	 document.location.href='./Login.jsp'
	 </script>
    <% }
else if(request.getParameter("user_pw") == ""){ %>
     <script>
	 alert("비밀번호를 입력하세요");
	 document.location.href='./Login.jsp'
	 </script>
    <% }
else{
	user_id = request.getParameter("user_id"); //ID값 가져옴
	user_pw = request.getParameter("user_pw"); //PW값 가져옴
    //여기서 부터 DB 연결 코드
	Class.forName("com.mysql.jdbc.Driver");
	String DB_URL="jdbc:mysql://localhost:3306/ezen";
	
	String DB_USER = "root";

    String DB_PASSWORD= "oracle";
	Connection conn;

	Statement stmt;
    conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
	ResultSet rs = null;
	stmt = conn.createStatement();
	rs = stmt.executeQuery("select * from USERS where ID = '" + user_id + "' AND PWD ='" + user_pw + "'");

	//stmt.executeUpdate(sql);

	Boolean check = false;
	while(rs.next()) // 결과값을 하나씩 가져와서 저장하기 위한 while문
    {
		String id = rs.getString("ID"); //DB에 있는 ID가져옴
    	//String lv = rs.getString("USER_LEVEL"); // 사용제 레벨 가져옴(필수 아님)
    	session.setAttribute("user_id", id); //DB값을 세션에 넣음
		//session.setAttribute("userLevel", lv); // 세션에 레벨값 넣음
		check = true;	
    }
	if(check){ //ID,PW가 DB에 존재하는 경우 게시판으로 이동하는 코드 
    %> 
 			 <script>
			 //alert('로그인되었습니다.');
  			 document.location.href='../Board/usersinfo.jsp'
 			 </script> <%
    	        rs.close();
    	    	conn.close();
		}   else  { //ID,PW가 일치하지 않는 경우
        %>
     <script>
	 alert("ID 또는 PW를 잘못 입력했습니다.");
	 document.location.href='Login.jsp'
	 </script>
     stmt.close();

  	 conn.close();
    <%    }
   } %>
</html>

정보를 받은 user_id와 user_pw를 Mysql의 테이블정보와 확인하고 로그인 해주어 회원정보를 볼 수 있는 페이지로 이동시켜줍니다.

로그인 정보가 잘못됐을때는 alert메세지를 띄우게 코딩하였습니다.

 

 

 

 

 

 

 

 

 

 

다음은 회원정보 수정 및 삭제하는 페이지로 이어집니다.