토이프로젝트/ToAnime(만화속으로)

ToAnime(Join)

하뀨뿅 2021. 7. 4. 21:59
728x90
반응형

https://github.com/gkdmssidhd/ToyProject_ToAnime

 

gkdmssidhd/ToyProject_ToAnime

Contribute to gkdmssidhd/ToyProject_ToAnime development by creating an account on GitHub.

github.com

join.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<meta name="viewport" content="width=device-width", initial-scale="1">
		<link rel="stylesheet" href="css/bootstrap.css">
		<link rel="stylesheet" href="../css/custom.css"> 
		<!-- 애니메이션 담당할 자바스크립트 제리 워리 특정홈피에서 가져오기 -->
		<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
		<!-- 부트스트립에서 기본적으로 제공해주는 js파일도 참조하겠다. -->
		<script src="js/bootstrap.js"></script>
		<title>회원가입</title>
	</head>
<body>
	<!-- 내비게이션은 하나의 웹사이트에 전반적인 구성 헤더는 홈페이지의 로고를 담는 영역 -->
	<nav class="navbar navbar-default">
		<div class="navbar-header">
			<button type="button" class="navbar-toggle collapsed"
				data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"
				aria-expanded="false">
				<span class="icon-bar"></span>	
				<span class="icon-bar"></span>	
				<span class="icon-bar"></span>	
			</button>
			<!-- brand는 로고 같은거 -->
			<a class="navbar-brand" href="main.jsp">만화속으로</a>
		</div>
		<!-- 아이디는 위에 데이터타겟이랑 똑같게 해줘야 함. -->
		<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
			<!-- ul -> 하나의 리스트 -->
			<ul class="nav navbar-nav">
				<li><a href="main.jsp">메인</a></li>
				<li><a href="list.jsp">게시판</a></li>			
			</ul>
			<ul class="nav navbar-nav navbar-right">
				<li class="dropdown">
					<a href="3" class="dorpdown-toggle"
						data-toggle="dropdown" role="button" aria-haspopup="true"
						aria-expanded="false">접속하기<span class="caret"></span></a>
					<ul class="dropdown-menu">
						<li><a href="login.jsp">로그인</a></li>
						<li class="active"><a href="join.jsp">회원가입</a></li>
					</ul>
				</li>
			</ul>
		</div>
	</nav>
	<div class="container">
		<div class="col-lg-4"></div>
			<div class="col-lg-4">
				<div class="jumbotron" style="padding-top: 20px;">
					<form method="post" action="joinAction.jsp">
						<h3 style="text-align: center;">회원가입</h3>
						<div class="form-group">
							<input type="text" class="form-control" placeholder="이름" name="peopleName" maxlength="20">
						</div>
						<div class="form-group">
							<input type="text" class="form-control" placeholder="아이디" name="peopleID" maxlength="20">
						</div>
						<div class="form-group">
							<input type="password" class="form-control" placeholder="비밀번호" name="peoplePassword" maxlength="20">
						</div>
						<input type="submit" class="btn btn-primary form-control" value="회원가입">
					</form>
				</div>
			</div>
		<div class="col-lg-4"></div>
	</div>
</body>
</html>

 

joinAction.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!-- user패키지의 User.DAO클래스를 그대로 가져옴 
실질적으로 사용자가 로그인 시도 하려는걸 처리하는 페이지 -->
<%@ page import="people.PeopleDAO" %>
<%@ page import="java.io.PrintWriter" %>
<%
request.setCharacterEncoding("UTF-8");
%>

<!-- people를 자바빈즈로 사용/ SCOPE 현재 페이지 안에서만 빈즈가 사용될 수 있게 한다. property 값을 저장할 수 있는 거 -->
<jsp:useBean id="people" class="people.People" scope="page" />
<!-- 로그인 페이지 에서 넘겨준 userID와 비번을 그대로 넣어주는 것 -->
<jsp:setProperty name="people" property="peopleID" />
<jsp:setProperty name="people" property="peoplePassword" />
<jsp:setProperty name="people" property="peopleName" />

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>회원가입</title>
</head>
	<body>
		<%
		// 현재 세션 상태를 체크 
			String peopleID = null;
			if(session.getAttribute("peopleID") != null) {
				peopleID = (String) session.getAttribute("peopleID");
			} 
			// 이미 로그인했으면 회원가입을 할 수 없게 한다. 회원가입 누르면 창띄우고 메인으로
			if (peopleID != null) {
				PrintWriter script = response.getWriter();
				script.println("<script>");
				script.println("alert('이미 회원가입이 되어있습니다.')");
				script.println("location.href = 'main.jsp'");
				script.println("</script>");
			}
			// 입력된것들이 null값이면 채우라고 하는거
			if(people.getPeopleID() == null || people.getPeoplePassword() == null || people.getPeopleName() == null) {
				PrintWriter script = response.getWriter();
				script.println("<script>");
				script.println("alert('입력 되지 않은 사항이 있습니다.')");
				script.println("history.back()");
				script.println("</script>");
			} else {
				PeopleDAO peopleDao = new PeopleDAO();
				int result = peopleDao.join(people);
				// 동일한 아이디 일때
				if (result == -1) {
					PrintWriter script = response.getWriter();
					script.println("<script>");
					script.println("alert('이미 존재하는 아이디입니다.')");
					script.println("history.back()");
					script.println("</script>");
				}
				// 그렇지 않은 경우 전부 다 회원가입이 완료
				else {
					// 회원가입이 성공적으로 이루어진 해당 사용자를 세션 부여한 다음 메인페이지로 이동하게
					session.setAttribute("peopleID", people.getPeopleID());
					PrintWriter script = response.getWriter();
					script.println("<script>");
					script.println("location.href = 'main.jsp'");
					script.println("</script>");
				}
			}
		%>
	</body>
</html>
728x90
반응형

'토이프로젝트 > ToAnime(만화속으로)' 카테고리의 다른 글

ToAnime(logout.jsp)  (0) 2021.07.11
ToAnime(Login)  (0) 2021.07.06
ToAnime(main.jsp)  (0) 2021.07.04
ToAnime(AnimeListTable.sql)  (0) 2021.07.02
ToAnime(클래스 다이어그램)  (0) 2021.06.23