jsp, mysql 게시판 로그인 문제(쿼리문제?)
조회수 538회
DB연결 문제를 해결하고 이제 회원가입/로그인/로그아웃을 구현중인데... 회원가입까지 성공을 했습니다
그런데 이번엔 로그인 문제가 터졌는데 도무지 어디가 문제인지 모르겠습니다
아이디와 비밀번호를 넣어도 자꾸 비밀번호를 틀리게 넣었다고 뜹니다
MemberDao에서 아이디와 비밀번호를 비교하는 부분입니다.
public int loginCheck(String id, String pw) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String dbPW = "";
int x = -1;
try {
StringBuffer query = new StringBuffer();
query.append("SELECT password FROM member WHERE id=?");
conn = ConnUtil.getConnection();
pstmt = conn.prepareStatement(query.toString());
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if(rs.next()) {
dbPW = rs.getString("password");
if(dbPW.equals(pw)) {
x = 1; // 비밀번호가 일치
} else {
x = 0; //비밀번호가 불일치
}
System.out.println(x);
} else {
x = -1; // 아이디 없음
}
return x;
}
...
catch부분은 생략하겠습니다
MemberLoginAction dao에서 값을 받아 처리하는 자바 페이지입니다
public class MemberLoginAction implements Action {
@Override
public ActionForward execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
ActionForward forward = new ActionForward();
HttpSession session = request.getSession();
String id = request.getParameter("id");
String password = request.getParameter("passwrod");
MemberDao dao = MemberDao.getInstance();
int check = dao.loginCheck(id, password);
if(check == 0) { // 비밀번호 불일치
request.setAttribute("fail", "0");
forward.setRedirect(false);
forward.setNextPath("LoginForm.do");
} else if(check == -1) {
request.setAttribute("fail", "-1");
forward.setRedirect(false);
forward.setNextPath("LoginForm.do");
} else { // 비밀번호 일치
session.setAttribute("sessionID", id);
forward.setRedirect(true);
forward.setNextPath("MainForm.do");
}
return forward;
}
}
오류도 안 뜨는데 dao에서 x값이 자꾸 0으로 나와 비밀번호를 다시 확인해달라고 하며 로그인이 안 됩니다
그렇다고 제가 계속 비밀번호를 틀리게 적는것도 아닌데 말입니다... DB를 oracle로 했던 소스들을 mysql로 바꿨을 뿐인데 쿼리문에서 문제가 생긴걸까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력