gaddiel
12 본문
error:
코드를 똑같이 복사를 해도, 자꾸 "입력이 안 된 사항이 있습니다."라고 오류가 발생한다.
mysql에서도 사용자 계정이 생성이 안됨.
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="user.UserDTO"%>
<%@ page import="user.UserDAO"%>
<%@ page import="util.SHA256"%>
<%@ page import="java.io.PrintWriter"%>
<%
request.setCharacterEncoding("UTF-8");
String userID = null;
String userPassword = null;
String userEmail = null;
if(request.getParameter("userID") != null) {
userID = (String) request.getParameter("userID");
}
if(request.getParameter("userPassword") != null) {
userPassword = (String) request.getParameter("userPassword");
}
if(request.getParameter("userEmail") != null) {
userEmail = (String) request.getParameter("userEmail");
}
if (userID == null || userPassword == null || userEmail == null) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('입력이 안 된 사항이 있습니다.');");
script.println("history.back();");
script.println("</script>");
script.close();
} else {
UserDAO userDAO = new UserDAO();
int result = userDAO.join(new UserDTO(userID, userPassword, userEmail, SHA256.getSHA256(userEmail), false));
if (result == -1) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('이미 존재하는 아이디입니다.');");
script.println("history.back();");
script.println("</script>");
script.close();
} else {
session.setAttribute("userID", userID);
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("location.href = 'emailSendAction.jsp';");
script.println("</script>");
script.close();
}
}
%>
* 여기 부분에서 확실 에러가 발생하는게 맞기에.. 임의로 수정을 해봤다.
| 변경 전
if (userID == null || userPassword == null || userEmail == null) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('입력이 안 된 사항이 있습니다.');");
script.println("history.back();");
script.println("</script>");
script.close();
}
| 변경 후
: userID만 null 값을 체크하닌까, DB에 password 만 빼고 ID, Email 은 잘 생성되는 것을 확인 할 수 있었다.
if (userID == null) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('입력이 안 된 사항이 있습니다.');");
script.println("history.back();");
script.println("</script>");
script.close();
}
해결:
userjoing.jsp 페이지에서 password 변수 선언이 pssword 로 되어있었다.. ㅋㅋㅋ
와 이걸 2틀만에 발견해서 해결했다.. ㅠㅠ
[userjoin.jsp] 코드 수정
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!doctype html>
<html>
<head>
<title>강의평가 웹 사이트</title>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- 부트스트랩 CSS 추가하기 -->
<link rel="stylesheet" href="./css/bootstrap.min.css">
<!-- 커스텀 CSS 추가하기 -->
<link rel="stylesheet" href="./css/custom.css">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="index.jsp">강의평가 웹 사이트</a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbar">
<ul class="navbar-nav mr-auto">
<li class="nav-item active"><a class="nav-link"
href="index.jsp">메인</a></li>
<li class="nav-item dropdown"><a
class="nav-link dropdown-toggle" id="dropdown"
data-toggle="dropdown"> 회원 관리 </a>
<div class="dropdown-menu" aria-labelledby="dropdown">
<a class="dropdown-item" href="userLogin.jsp">로그인</a> <a
class="dropdown-item" href="userJoin.jsp">회원가입</a> <a
class="dropdown-item" href="userLogout.jsp">로그아웃</a>
</div>
</li>
</ul>
<form action="./index.jsp" method="get"
class="form-inline my-2 my-lg-0">
<input type="text" name="search" class="form-control mr-sm-2"
placeholder="내용을 입력하세요.">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">검색</button>
</form>
</div>
</nav>
<section class="container mt-3" style="max-width: 560px;">
<form method="post" action="./userRegisterAction.jsp">
<div class="form-group">
<label>아이디</label>
<input type="text" name="userID" class="form-control">
</div>
<div class="form-group">
<label>비밀번호</label>
<input type="password" name="userPassword" class="form-control">
</div>
<div class="form-group">
<label>이메일</label>
<input type="email" name="userEmail" class="form-control">
</div>
<button type="submit" class="btn-primary">회원가입</button>
</form>
</section>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-dismiss="modal">취소</button>
<button type="submit" class="btn btn-danger">신고하기</button>
</div>
</form>
</div>
</div>
</div>
</div>
<footer class="bg-dark mt-4 p-5 text-center" style="color: #FFFFFF;">
Copyright ⓒ 2021 김효진 All Rights Reserved. </footer>
<!-- 제이쿼리 자바스크립트 추가하기 -->
<script src="./js/jquery.min.js"></script>
<!-- Popper 자바스크립트 추가하기 -->
<script src="./js/popper.min.js"></script>
<!-- 부트스트랩 자바스크립트 추가하기 -->
<script src="./js/bootstrap.min.js"></script>
</body>
</html>
Comments