1. 페이지 부분
<%@ 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>
<%
// 회원정보 수정 처리방법
// 1. 기존의 정보 상관없이 덮어쓰기(수정)
// 2. 기존의 정보를 확인 후 덮어쓰기(수정)
%>
<form action="updatePro.jsp" method="post">
아이디 : <input type="text" name="id"><br>
비밀번호 : <input type="password" name="pw"><br>
수정된 이메일 : <input type="text" name="email"><br>
<input type="submit" value="수정하기">
</form>
</body>
</html>
2. 처리부분
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@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");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
String email = request.getParameter("email");
out.println(id);
out.println(pw);
out.println(email);
//DB에 저장
final String DRIVER = "com.mysql.jdbc.Driver";
final String DBURL = "jdbc:mysql://localhost:3306/jspdb";
final String DBID = "root";
final String DBPW = "1234";
// 1단계 드라이버 로드
Class.forName(DRIVER);
System.out.println("드라이버가 로드 됐습니다.");
// 2단계 디비 연결
Connection conn = DriverManager.getConnection(DBURL, DBID, DBPW);
System.out.println("디비 연결 성공 ! " + conn);
System.out.println("디비 연결 완료 SQL쿼리 사용전 준비 상태 ! ");
// 3단계 sql 구문 작성 & statement 객체 생성 (-> preparedstatement 변경 예정)
//String sql = "insert into itwill_member (name, gender, age, jumin) values('"+ name +"', '"+ gender +"', "+ age +", '"+ jumin +"')";
if(id.equals("aaaa") && pw.equals("aaaa")){
//if(id == "aaaa" && pw == "aaaa"){
String sql = "update itwill_member set email = ?";
// Statement : SQL 구문을 실행하는 객체
// PreparedStatement : SQL 구문을 실행하는 객체
// -> 쿼리문을 실행할 준비가 되어있는 상태(처리속도 우수, 보안상 안전)
// Statement stmt = conn.createStatement();
PreparedStatement pstmt = conn.prepareStatement(sql);
// ? 채우기
// XXXXX는 컬럼의 데이터 타입에 따라서 변경
// pstmt.setXXXXXX(?의 위치, 저장할 값);
pstmt.setString(1, email);
// 4단계 SQL 구문을 실행
// stmt.executeUpdate(sql);
// pstmt.executeUpdate();
// => insert, update, delete 구문을 쓸 때 사용
// pstmt.executeQuery();
// => select 구문을 쓸 때 사용
pstmt.executeUpdate();
}
System.out.println("이메일 정보 수정완료!");
%>
</body>
</html>
'프로그래밍 > JSP' 카테고리의 다른 글
[JSP]JDBC select 예제 (0) | 2021.04.09 |
---|---|
[JSP]JDBC delete 예제 (0) | 2021.04.09 |
[JSP]JDBC insert 예제 (0) | 2021.04.08 |
[JSP]JDBC (자바 & MySQL데이터베이스 연동) (0) | 2021.04.08 |
[JSP]쿠키와 세션 (0) | 2021.04.01 |