JSP 게시판 만들기 CHAPTER 7 (자바스크립트) - 접속한 회원 세션 관리

    - 접속한 회원 세션 관리하기 -

    로그인 및 회원가입 을 할때 userID로 세션 관리를 해줍니다.

    ↑login.jsp파일에 빨간 부분을 추가해주도록 합니다.

    join.jsp부분에도 똑같이 위와같은 세션관리 하는 부분을 추가해 주도록 합니다.

    이제 이러한 세션처리를 이용하여 로그아웃 페이지를 만들어 주도록 하겠습니다.

    이렇게 파일을 추가 해주시구요

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    
        pageEncoding="UTF-8"%>
    <%@ page import="user.UserDAO" %> <!-- userdao의 클래스 가져옴 -->
    <%@ page import="java.io.PrintWriter" %> <!-- 자바 클래스 사용 -->
    <% request.setCharacterEncoding("UTF-8"); %>
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>jsp 게시판 웹사이트</title>
    </head>
    <body>
    	<%
    		session.invalidate();
    	%>
    	<script>
    		location.href = "main.jsp";
    	</script>
    
    </body>
    
    </body>
    
    </html>

    이렇게 위와 같이 해주도록 합니다.

    로그인 한 회원들은 모두 세션 id를 부여 받기 때문에 로그인 여부를 확인 할 수 있게됩니다.

    따라서 이제 로그인한 회원들은 로그인과 회원가입에 접속이 안되도록 해주어야 합니다.

    loginaction.jsp 부분에 빨간색으로 된 부분을 추가해주도록 합니다.

    이렇게 해주어야 user아이디가 이미 존재 할 경우에 로그인 처리가 되어있기 때문에 다시

    main페이지로 돌아가게 됩니다.

    회원가입을 처리해주는 joinaction.jsp에도 똑같이 해주도록 합니다.

    위 상항을 모두 추가한 loginaction.jsp 페이지

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    
        pageEncoding="UTF-8"%>
    
    <%@ page import="user.UserDAO" %> <!-- userdao의 클래스 가져옴 -->
    
    <%@ page import="java.io.PrintWriter" %> <!-- 자바 클래스 사용 -->
    
    <% request.setCharacterEncoding("UTF-8"); %>
    
    
    
    <!-- 한명의 회원정보를 담는 user클래스를 자바 빈즈로 사용 / scope:페이지 현재의 페이지에서만 사용-->
    
    <jsp:useBean id="user" class="user.User" scope="page" />
    
    <jsp:setProperty name="user" property="userID" />
    
    <jsp:setProperty name="user" property="userPassword" /> 
    
    
    
    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <title>jsp 게시판 웹사이트</title>
    
    </head>
    
    <body>
    
    	<%
    		String userID = null;
    	
    		if(session.getAttribute("userID") != null){
    			userID = (String) session.getAttribute("userID");
    		}
    		if(userID !=  null){
    
    			PrintWriter script = response.getWriter();
    
    			script.println("<script>");
    			
    			script.println("alert('이미 로그인 되어있습니다.')");
    
    			script.println("location.href = 'main.jsp'");
    
    			script.println("</script>");
    
    		}
    	
    
    		UserDAO userDAO = new UserDAO(); //인스턴스생성
    
    		int result = userDAO.login(user.getUserID(), user.getUserPassword());
    
    		
    
    		//로그인 성공
    
    		if(result == 1){
    			session.setAttribute("userID", user.getUserID());
    
    			PrintWriter script = response.getWriter();
    
    			script.println("<script>");
    
    			script.println("location.href = 'main.jsp'");
    
    			script.println("</script>");
    
    		}
    
    		//로그인 실패
    
    		else if(result == 0){
    
    			PrintWriter script = response.getWriter();
    
    			script.println("<script>");
    
    			script.println("alert('비밀번호가 틀립니다.')");
    
    			script.println("history.back()");
    
    			script.println("</script>");
    
    		}
    
    		//아이디 없음
    
    		else if(result == -1){
    
    		PrintWriter script = response.getWriter();
    
    		script.println("<script>");
    
    		script.println("alert('존재하지 않는 아이디 입니다.')");
    
    		script.println("history.back()");
    
    		script.println("</script>");
    
    		}
    
    		//DB오류
    
    		else if(result == -2){
    
    		PrintWriter script = response.getWriter();
    
    		script.println("<script>");
    
    		script.println("alert('DB오류가 발생했습니다.')");
    
    		script.println("history.back()");
    
    		script.println("</script>");
    
    		}		
    
    	
    
    	%>
    
    
    
    </body>
    
    </body>
    
    </html>

     

    위 상항을 모두 추가한 joinaction.jsp 페이지

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    
        pageEncoding="UTF-8"%>
    <%@ page import="user.UserDAO" %> <!-- userdao의 클래스 가져옴 -->
    <%@ page import="java.io.PrintWriter" %> <!-- 자바 클래스 사용 -->
    <% request.setCharacterEncoding("UTF-8"); %>
    
    <!-- 회원정보를 담는 user클래스를 javabeans 사용-->
    
    <jsp:useBean id="user" class="user.User" scope="page" />
    <jsp:setProperty name="user" property="userID" />
    <jsp:setProperty name="user" property="userPassword" /> 
    <jsp:setProperty name="user" property="userName" />
    <jsp:setProperty name="user" property="userGender" />
    <jsp:setProperty name="user" property="userEmail" />
    
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>jsp 게시판 웹사이트</title>
    </head>
    <body>
    	<%
    	String userID = null;
    	
    	if(session.getAttribute("userID") != null){
    		userID = (String) session.getAttribute("userID");
    	}
    	if(userID !=  null){
    
    		PrintWriter script = response.getWriter();
    
    		script.println("<script>");
    		
    		script.println("alert('이미 로그인 되어있습니다.')");
    
    		script.println("location.href = 'main.jsp'");
    
    		script.println("</script>");
    
    	}
    		if (user.getUserID() == null || user.getUserPassword() == null || user.getUserName() == null
    
    			|| user.getUserGender() == null || user.getUserEmail() == null){
    
    				PrintWriter script = response.getWriter();
    
    				script.println("<script>");
    
    				script.println("alert('입력이 안 된 사항이 있습니다.')");
    
    				script.println("history.back()");
    
    				script.println("</script>");
    
    			} else{
    
    				UserDAO userDAO = new UserDAO(); //인스턴스생성
    
    				int result = userDAO.join(user);				
    				if(result == -1){ // 아이디가 기본키기. 중복되면 오류.
    
    					PrintWriter script = response.getWriter();
    
    					script.println("<script>");
    
    					script.println("alert('이미 존재하는 아이디 입니다.')");
    
    					script.println("history.back()");
    
    					script.println("</script>");
    				}
    				//가입성공
    				else {
    					session.setAttribute("userID", user.getUserID());
    					
    					PrintWriter script = response.getWriter();
    
    					script.println("<script>");
    					script.println("alert('회원가입이 정상적으로 처리되었습니다.')");
    
    					script.println("location.href = 'main.jsp'");
    
    					script.println("</script>");
    				}
    			}
    			%>
    
    </body>
    
    </body>
    
    </html>

    이제 loginaction.jsp와 join.jsp 파일을 모두 완성 하였기 때문에

    main.jsp부분을 만들어 줄껀데요

    먼저 index.jsp파일을 아래와 같이 login.jsp가 아니라 main.jsp로 바꾸어 주도록 하겠습니다.

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="EUC-KR">
    <title>HELLO WORLD</title>
    </head>
    <body>
    	<script>
    	location.href = 'main.jsp';
    	</script>
    </body>
    </html>

    이제 메인 화면에 접속 시 로그인 화면이 아닌 main화면으로 가게 됩니다.

    이렇게 main 페이지가 보여지게 됩니다.

    https://alisyabob.tistory.com/222 

     

    JSP 게시판 만들기 CHAPTER 8 (자바스크립트) - 게시판 메인 페이지 디자인

    - 게시판 메인 페이지 디자인 - 게시판을 만들어 주기 위해 bbs.jsp 파일을 만들어 주도록 합니다. 이렇게 bbs파일을 추가해 주시고, 아래와 같은 코드를 추가 해주도록 합니다. <%@ page language="java" conten..

    alisyabob.tistory.com

     

    댓글

    Designed by JB FACTORY