0829 JSP - 데이터 처리 - 로그인 여부
<loginForm.jsp>
<h1>loginForm.jsp</h1>
<h2>ITWILL 로그인 페이지</h2>
<fieldset>
<form action ="loginPro.jsp" method = "post">
아이디<input type = "text" name = "id"><br>
비밀번호 <input type = "password" name = "pw"><br>
<input type = "submit" value = "로그인">
<input type = "button" value = "회원가입" onclick ="location.href='insertForm.jsp';">
</form>
</fieldset>
5.데이터처리 (로그인 여부 판단)
<loginPro.jsp>
if(rs.next()){
아이디에 해당하는 비밀번호가 있다 => 회원이다
if(mb.getPw().equals(rs.getString("pw"))){
입력받은 비밀번호랑 디비에 저장된 비밀번호랑 같다.
=> 본인(로그인 성공)
로그인 성공 결과 저장
session.setAttribute("id", mb.getId());
main.jsp 페이지로 이동
response.sendRedirect("main.jsp");
입력받은 비밀번호랑 디비에 저장된 비밀번호랑 다름.
=> 비밀번호 오류
페이지 뒤로 가기 구현
아이디에 해당하는 비밀번호가 없다 => 비회원이다
페이지 뒤로 가기 구현
}else{
// 입력받은 비밀번호랑 디비에 저장된 비밀번호랑 다름.
// => 비밀번호 오류
// 페이지 뒤로 가기 구현
%>
<script type = "text/javascript">
alert("비밀번호가 다릅니다!");
history.back();
</script>
<%
}
}else{
//아이디에 해당하는 비밀번호가 없다 => 비회원이다
//페이지 뒤로 가기 구현
}
%>
<script type = "text/javascript">
alert("회원정보가 없습니다!!");
history.back();
</script>
로그인을 해야만 정보를 확인가능 페이지
로그인 x -> 사용자 페이지 사용 x
=> 로그인 페이지로 이동
로그인 성공 -> "ㅇㅇㅇ님 환영합니다. "
main.jsp 페이지 실행시키면 메인페이지가 보임.
로그인을 안했기 때문에
String id = (String)session.getAttribute("id");
if(id==null){
response.sendRedirect("loginForm.jsp");
}
%>
<h3><%=id %>님 환영합니다.</h3>
<input type = "button" value = "로그아웃" onclick = "location.href='logout.jsp';">
<a href ="logout.jsp">로그아웃2</a>
<a href ="javascript:location.href='logout.jsp';">로그아웃3</a>
<hr><hr>
<a href="memberInfo.jsp">회원정보 조회</a>
로그아웃 페이지만들기
로그아웃 => 세션정보를 초기화
session.invalidate();
%>
<script type = "text/javascript">
alert("회원님의 정보가 안전하게 로그아웃 되었습니다.");
location.href ='main.jsp';
</script>
회원정보 조회
로그인한 사용자의 개인정보 조회 페이지
<memberinfo.jsp>
// 한글처리
request.setCharacterEncoding("UTF-8");
// 로그인 제어 / 회원정보
String id = (String)session.getAttribute("id");
if(id==null){
response.sendRedirect("loginForm.jsp");
}
//DB에서 필요한 정보 가져오기
// 1. 드라이버 로드
final String DRIVER = "com.mysql.cj.jdbc.Driver";
final String DBURL = "jdbc:mysql://localhost:3306/jspdb";
final String DBID = "root";
final String DBPW = "1234";
//2.디비 연결
Class.forName(DRIVER);
Connection con = DriverManager.getConnection(DBURL,DBID,DBPW);
//3.sql 작성(select) & pstmt 객체
String sql = "select * from itwill_member where id=?";
PreparedStatement pstmt = con.prepareStatement(sql);
// ???
pstmt.setString(1,id);
//4.SQL 실행
ResultSet rs = pstmt.executeQuery();
//MemberBean mb = new MemberBean();
MemberBean mb = null;
//5.데이터 처리
if(rs.next()){
//회원정보 저장 (MemberBean)
//rs(DB정보) -> MemberBean
mb = new MemberBean();
mb.setAge(rs.getInt("age"));
mb.setEmail(rs.getString("email"));
mb.setGender(rs.getString("gender"));
mb.setId(rs.getString("id"));
mb.setName(rs.getString("name"));
mb.setPw(rs.getString("pw"));
mb.setRegdate(rs.getTimestamp("regdate"));
}
%>
<h3> 아이디 : <%=mb.getId() %></h3>
<h3> 비밀번호 : <%=mb.getPw() %></h3>
<h3> 이름 : <%=mb.getName() %></h3>
<h3> 나이 : <%=mb.getAge() %></h3>
<h3> 성별 : <%=mb.getGender() %></h3>
<h3> 이메일 : <%=mb.getEmail() %></h3>
<h3> 회원가입일 : <%=mb.getRegdate() %></h3>
<a href ="main.jsp">메인페이지</a>
MemberBean mb = new MemberBean(); 으로 객체 선언은 왜 안할까
=>
https://sunow.tistory.com/entry/JAVA-%EA%B0%9D%EC%B2%B4-%EC%83%9D%EC%84%B1-%EA%B3%BC%EC%A0%95
[JAVA] 객체 생성 과정
이수자 평가 공부 중 드는 의문 -> 객체 생성 중 new와 단순 null로 초기화 차이 member input = new member(); member output = null; 우선 알아야 할 객체 생성 순서 1. new 연산자가 input 객체에 저장될 메모..
sunow.tistory.com
https://chung-develop.tistory.com/38
[Java]객체와 메모리의 관계, null과 NullPointerException의 정리 및 예제
[Java]객체와 메모리의 관계, null과 NullPointerException의 정리 및 예제 이번 포스팅에서는 메모리에 생성된 객체와 레퍼런스의 관계에 대해 살펴보고 null이 무엇인지에 관해서 다뤄보고자 한다.
chung-develop.tistory.com