Spring/Model1 _2(MVC)

0829 JSP - 데이터 처리 - 로그인 여부

jeoniee 2022. 8. 29. 16:07
728x90
반응형

<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

 

728x90
반응형