① login3.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>login3</title>
</head>
<body>
<form name="frmLogin" method="post" action="login" encType="UTF-8">
아이디 : <input type="text" name="user_id"><br>
비밀번호 : <input type="password" name="user_pwd"><br>
<input type="submit" value="로그인">
<input type="reset" value="초기화">
</form>
</body>
</html>
|
cs |
아이디와 비밀번호를 입력하고 로그인 버튼을 누르면 form 태그를 통해 LoginServlet으로 파라미터를 전송한다.
② LoginServlet.java
http://colorscripter.com/s/FtJrmDH
form 태그로 보낸 파라미터(아이디, 비밀번호)를 받는다. MemberVO를 세팅한 후 dao.isExisted로 간다.
③ MemberDAO.java
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
package sec03.ex04;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
public class MemberDAO {
private PreparedStatement pstmt;
private Connection con;
private DataSource dataFactory;
public MemberDAO() {
try {
Context ctx = new InitialContext();
Context envContext = (Context) ctx.lookup("java:/comp/env");
dataFactory = (DataSource) envContext.lookup("jdbc/oracle");
}catch (Exception e) {
e.printStackTrace();
}
}
public List<MemberVO> listmembers(){
List<MemberVO> list = new ArrayList<MemberVO>();
try {
connDB();
String query = "select * from t_member";
System.out.println(query);
pstmt = con.prepareStatement(query);
ResultSet rs = pstmt.executeQuery();
while(rs.next()) {
String id = rs.getString("id");
String pwd = rs.getString("pwd");
String name = rs.getString("name");
String email = rs.getString("email");
Date joinDate = rs.getDate("joinDate");
MemberVO vo = new MemberVO();
vo.setId(id);
vo.setPwd(pwd);
vo.setName(name);
vo.setEmail(email);
vo.setJoinDate(joinDate);
list.add(vo);
}
rs.close();
pstmt.close();
con.close();
}catch(Exception e) {
e.printStackTrace();
}
return list;
}
private void connDB() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Oracle 드라이버 로딩 성공");
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "jyj", "java");
System.out.println("Connection 생성 성공");
}catch(Exception e) {
e.printStackTrace();
}
}
public boolean isExisted(MemberVO memberVO) {
boolean result = false;
String id = memberVO.getId();
String pwd = memberVO.getPwd();
try {
con = dataFactory.getConnection();
String query="select decode(count(*),1,'true','false') as result from t_member";
query += " where id=? and pwd=?";
pstmt = con.prepareStatement(query);
pstmt.setString(1, id);
pstmt.setString(2, pwd);
ResultSet rs = pstmt.executeQuery();
rs.next();
result = Boolean.parseBoolean(rs.getString("result"));
System.out.println("result = " + result);
}catch(Exception e) {
e.printStackTrace();
}
return result;
}
}
|
cs |
isExisted 메소드에서 해당 아이디와 비밀번호를 가지고 있는 회원이 있는지 확인 후 있으면 true, 없으면 false를 반환한다.
④ LoginServlet.java로 반환된 값이 true이면 아래의 화면을 띄운다.
회원정보 보기를 클릭하면 ShowMemeber.java로 넘어간다.
⑤ ShowMemeber.java
http://colorscripter.com/s/0rPQnMj
⑥ ③번에서 false가 반환 되면 아래의 화면을 띄운다.
'코딩 기록 > JSP' 카테고리의 다른 글
[JSP] 인클루드 디렉티브 태그(include directive tag) 사용하기 (0) | 2021.05.11 |
---|---|
[JSP] 디렉티브 태그 (0) | 2021.05.11 |
[JSP] 서블릿에서 쿠키 사용하기 (0) | 2021.05.10 |
[JSP] 쿠키(Cookie)란? (0) | 2021.05.10 |
[JSP] ServletConfig - 애너테이션을 이용한 서블릿 초기화 기능 (0) | 2021.05.07 |