파일명 : insertForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>회원가입</h1>
<hr>
<form action="insertPro.jsp" method="post">
아이디: <input type="text" name="id"><br>
패스워드: <input type="password" name="passwd"><br>
이름: <input type="text" name="name"><br>
<input type="submit" value="회원가입">
</form>
</body>
</html>
파일명 : insertPro.jsp
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.Timestamp"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// request 한글처리 (post 전송 시)
request.setCharacterEncoding("utf-8");
// request 요청 파라미터 정보 가져오기
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
String name = request.getParameter("name");
// 날짜 현시스템 날짜 가져오기
// currentTimeMillis()는
// 1970년 1월 1일부터 현재까지 경과된 밀리초
Timestamp reg_date = new Timestamp(System.currentTimeMillis());
// DB 연결정보
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String user = "jspid";
String pwd = "jsppass";
// insert를 위해서 JDBC 객체 2개 필요
Connection con = null;
PreparedStatement pstmt = null;
String sql = "";
// 1단계 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2단계 DB연결
con = DriverManager.getConnection(url, user, pwd);
// 3단계 sql 생성
sql = "INSERT INTO member (id, passwd, name, reg_date) VALUES (?, ?, ?, ?)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, passwd);
pstmt.setString(3, name);
pstmt.setTimestamp(4, reg_date);
// 4단계 실행
// executeUpdate() 메소드는 테이블에 변경을 가하는
// insert, update, delete 문을 수행할때 사용함
pstmt.executeUpdate();
out.println("회원가입성공<br>");
// JDBC 사용 후 객체닫기 (사용의 역순으로 닫기)
pstmt.close();
con.close();
%>
</body>
</html>
파일명: select.jsp
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>회원목록조회</h1>
<hr>
<table border="1">
<tr>
<th>아이디</th>
<th>패스워드</th>
<th>이름</th>
<th>가입날짜</th>
</tr>
<%
//DB 연결정보
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String user = "jspid";
String pwd = "jsppass";
Connection con = null;
PreparedStatement pstmt = null;
String sql = "";
ResultSet rs = null;
// 1단계 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2단계 DB연결
con = DriverManager.getConnection(url, user, pwd);
// 3단계 sql 생성
sql = "SELECT * FROM member";
pstmt = con.prepareStatement(sql);
// 4단계 실행 => 결과저장
rs = pstmt.executeQuery(); // select일때 호출
// 5단계 저장 => 화면출력
while (rs.next()) { // 다음행으로 커서 이동. 데이터있으면true/없으면false리턴
// rs.getString("id");
// rs.getString("passwd");
// rs.getString("name");
// rs.getTimestamp("reg_date");
%>
<tr>
<td><%=rs.getString("id") %></td>
<td><%=rs.getString("passwd") %></td>
<td><%=rs.getString("name") %></td>
<td><%=rs.getTimestamp("reg_date") %></td>
</tr>
<%
}
// JDBC 사용 후 객체닫기 (사용의 역순으로 닫기)
rs.close();
pstmt.close();
con.close();
%>
</table>
</body>
</html>
파일명: update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>회원수정</h1>
<hr>
<form action="updatePro.jsp" method="post">
아이디: <input type="text" name="id"><br>
패스워드: <input type="password" name="passwd"><br>
수정할 이름: <input type="text" name="name"><br>
<input type="submit" value="회원수정">
</form>
</body>
</html>
파일명: updatePro.jsp
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// post 한글처리
request.setCharacterEncoding("utf-8");
// request 파라미터 값 가져오기 id passwd name
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
String name = request.getParameter("name");
// DB 연결정보
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String user = "jspid";
String pwd = "jsppass";
Connection con = null;
PreparedStatement pstmt = null;
PreparedStatement pstmt2 = null;
ResultSet rs = null;
String sql = "";
// 1. 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB 연결
con = DriverManager.getConnection(url, user, pwd);
// 3. id에 해당하는 passwd 가져오기
sql = "select passwd from member where id = ?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
// 4. 실행 rs 실행저장
rs = pstmt.executeQuery();
// 5.
// rs 데이터(행, 레코드) 있으면 아이디 존재
// 패스워드 비교 equals() 맞으면 update 실행 "수정성공"
// 틀리면 "패스워드 틀림"
// 없으면 "아이디 없음"
if (rs.next()) {
// 아이디 있음
if (passwd.equals(rs.getString("passwd"))) {
pstmt.close(); // select 문장객체 닫기
// 맞으면 update "수정성공"
sql = "update member set name = ? where id = ? and passwd = ?";
pstmt2 = con.prepareStatement(sql);
pstmt2.setString(1, name);
pstmt2.setString(2, id);
pstmt2.setString(3, passwd);
// 실행
pstmt2.executeUpdate();
out.println("수정성공<br>");
} else {
out.println("패스워드 틀림");
}
} else {
out.println("아이디 없음");
}
// JDBC 자원닫기
rs.close();
pstmt.close(); // delete 문장객체 닫기
con.close();
%>
</body>
</html>
파일명: deleteForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>회원삭제</title>
</head>
<body>
<h1>회원삭제</h1>
<hr>
<form action="deletePro.jsp" method="post">
아이디: <input type="text" name="id"><br>
패스워드: <input type="password" name="passwd"><br>
<input type="submit" value="회원삭제">
</form>
</body>
</html>
파일명: deletePro.jsp
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
// 한글처리
request.setCharacterEncoding("utf-8");
// id passwd 가져오기
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
// DB 연결정보
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String user = "jspid";
String pwd = "jsppass";
// JDBC 참조변수
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
// 1. 드라이버 로딩
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2. DB 연결
con = DriverManager.getConnection(url, user, pwd);
// 3. id에 해당하는 passwd 가져오기
String sql = "select * from member where id = ?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
// 4. 실행 rs저장
rs = pstmt.executeQuery();
// 5.
// rs 데이터 있으면 아이디 있음.
// 패스워드 같으면 delete "삭제"
// 패스워드 다르면 "패스워드 틀림"
// 없으면 아이디 없음.
if (rs.next()) {
if (passwd.equals(rs.getString("id"))) {
sql = "delete from member where id = ?";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.executeUpdate();
out.println("삭제성공<br>");
} else {
out.println("패스워드 틀림<br>");
}
} else {
out.println("아이디 없음<br>");
}
// JDBC 자원닫기
rs.close();
pstmt.close();
con.close();
%>
</body>
</html>
'IT > Jsp' 카테고리의 다른 글
jsp - 액션태그로 자바빈 객체 생성 (0) | 2018.11.12 |
---|---|
jsp - 회원가입, 로그인, 로그아웃, 회원정보목록, 회원정보보기, 회원수정, 회원삭제 (0) | 2018.09.18 |
jsp - 오라클 JDBC 연동테스트 (0) | 2018.09.14 |
jsp - session 저장, 삭제, 초기화 (0) | 2018.09.13 |
jsp - cookie 저장, 삭제 (0) | 2018.09.13 |