<세션 사용 로그인의 흐름>
1. 로그인 폼
1)세션 체크(로그인을 했는지, 안했는지)
2)T 메시지 - 이동(결과 페이지)
3)F 로그인 폼 뷰
--- 전송 --->
2. 로그인 처리
0)한글 인코딩
1)받는다
2)Java 메소드 call
3. DAO
1)SQL 실행
2)DBCP사용해 연동객체 대여
3)쿼리 사용, 결과 도출
4)연동객체 반납
5)결과를 가공(비즈니스 메소드 처리)
6)로그인 처리 페이지로 결과 리턴(T/F)
<--- 응답 ---
4. 로그인 처리
T: 세션 생성 - 메시지 - 이동(결과 페이지)
F: 경고 메시지 - 로그인 폼 이동(back)
5. 결과 페이지
1)세션 체크
T: 뷰 처리
F: 경고 메시지 - 이동(back)
<예제>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<%
String id = (String)session.getAttribute("idkey");
if (id != null) {
%>
<script>
alert("로그인 되었습니다.");
</script>
<%
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body bgcolor = "#996600" topmargin = "100">
<h2 align = "center">Session 로그인</h2>
<table width = "75%" border = "1" align = "center" bordercolor = "#660000" bgcolor = "#FFFF99">
<tr bordercolor = "#FFFF99">
<td height = "190" colspan = "7">
<table width = "50%" border = "1" align = "center" cellspacing = "0" cellpadding = "0">
<tr bordercolor = "#FFFF66">
<td colspan = "2"><div align = "center">Log in</div></td>
</tr>
<tr>
<td width = "47%"><div align = "center">ID</div></td>
<td width = "53%"><div align = "center"><input name = "id"></div></td>
</tr>
<tr>
<td><div align = "center">PWD</div></td>
<td><div align = "center"><input name = "pwd"></div></td>
</tr>
<tr>
<td colspan = "2"><div align = "center">
<input type = "submit" value = "login">
<input type = "reset" value = "reset">
</div>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
1. 로그인 폼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id = "regMgr" class = "chapter12.RegisterMgr"/>
<%
String id = "";
String pwd = "";
if(request.getParameter("id") != null)
id = request.getParameter("id");
if(request.getParameter("pwd") != null)
pwd = request.getParameter("pwd");
if(regMgr.loginRegister(id, pwd)) {
session.setAttribute("idkey", id);
%>
<script>
alert("로그인 되었습니다.");
</script>
<% } else { %>
<script>
alert("로그인 되지 않았습니다.");
</script>
<% } %>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
2. 로그인 처리 페이지
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
package chapter12;
public class RegisterMgr {
private DBConnectionMgr pool;
public RegisterMgr() {
try {
pool = DBConnectionMgr.getInstance();
} catch(Exception e) {
System.out.println("Error: 커넥션 연결 실패");
}
}
public boolean loginRegister(String id, String pwd) {
Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null;
boolean loginCon = false;
try {
con = pool.getConnection();
String query = "select count(*) from tblRegister where id = ? and pwd = ?";
stmt = con.prepareStatement(query);
stmt.setString(1, id);
stmt.setString(2, pwd);
rs = stmt.executeQuery();
loginCon = true;
}
} catch (Exception ex) {
System.out.println("Exception" + ex);
} finally {
pool.freeConnection(con, stmt, rs);
}
return loginCon;
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
3. Java 메소드 페이지
: SQL 요청 및 결과 반환
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<%
String id = (String)session.getAttribute("idkey");
if(id == null) {
%>
<script>
alert("로그인 되지 않았습니다.")
</script>
<% } %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Simple Login</title>
</head>
<body bgcolor = "#996600" topmargin = "100">
<table width = "75%" border = "1" align = "center" cellpadding = "1" cellspacing = "1"
bordercolor = "#660000" bgcolor = "#FFFF99">
<tr bordercolor = "#FFFF99">
<td height = "190" colspan = "7">
<table width = "50%" border = "1" align = "center" cellspacing = "0" cellpadding = "0">
<tr bordercolor = "#FFFF66">
<td colspan = "2"><div align = "center">Log On Page</div></td>
</tr>
<tr>
<td><div align = "center">
<strong><%= id %></strong>
님이 로그인 하셨습니다.
</div></td>
<td><div align = "center">
</div></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
4. 뷰 페이지
1
2
3
4
5
6
7
8
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<% session.invalidate(); %>
<script>
alert("로그아웃 되었습니다.");
</script>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
5. 로그아웃 페이지
-실행
로그인 폼
로그인 성공 메시지
뷰 페이지 이동
로그아웃
테이블에 존재하지 않는 id와 패스워드
경고 메시지
다시 로그인 폼으로 이동
'20.03 ~ 20.08 국비교육 > JSP' 카테고리의 다른 글
MVC 모델2 - 1. Server Pool 생성 (0) | 2020.06.02 |
---|---|
파일 업로드 (0) | 2020.05.06 |
쿠키 사용 로그인 예제 (0) | 2020.04.29 |
세션(Session)과 쿠키(Cookie) (0) | 2020.04.29 |
JSP와 데이터베이스 연동 3. ConnectionPool을 사용한 연동 (0) | 2020.04.28 |