Delete
//post 방식 인코딩
request.setCharacterEncoding("euc-kr");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String nick = request.getParameter("nick");
//전역변수를 해야 나중에 try-catch문에서 close()를 쓸수있게한다
Connection conn =null;
PreparedStatement psmt = null;
//데이터베이스 연결하기 전에 필요한것 : 예외처리 try~catch
try {
//데이터베이스 연결
Class.forName("oracle.jdbc.driver.OracleDriver");
//@프로젝트때 받은 주소
String url = "jdbc:oracle:thin:@127.0.0.1:1521:xe";
String dbid = "hr";
String dbpw = "hr";
conn = DriverManager.getConnection(url, dbid, dbpw);
if(conn != null) {
System.out.println("데이터베이스 연결 성공!");
}else {
System.out.println("연결 실패 ㅜㅜ");
}
//sql문 준비 및 실행
String sql ="insert into web_member values(?,?,?)";
psmt =conn.prepareStatement(sql);
//0부터 시작이 아니라 1부터 순서대로 시작한다.
psmt.setString(1, id);
psmt.setString(2, pw);
psmt.setString(3, nick);
//executeUpdate(); -> insert, update, delete - 테이블 영향 o
//executeQuery(); -> select - 테이블 영향 x
int cnt = psmt.executeUpdate();
if(cnt>0) {
System.out.println("회원가입 성공");
}else {
System.out.println("회원가입 실패 ㅠㅠ");
}
} catch (Exception e) {
e.printStackTrace();
}finally {
//항상 수행해야할것
//열었던것을 종료 연결 끊기 close()
//열었던 순서와 반대로 마지막에 열었던것을 먼저 닫음
//psmt -> conn
try {
if(psmt != null) {
psmt.close();
}
else if(conn != null) {
conn.close();
}
} catch (Exception e2) {
// TODO: handle exception
}
}
컨트롤러 - 서블렛 - db연결 - sql실행 - db연결해제
쿠키와세션(CookieAndSession)