티스토리 뷰
delete
delfeForm
아이디는 readonly로 패스워드만 입력되게 한다.
<%
//로그인하면 세션값이 생성 => 페이지 상관없이 값이 유지 => 세션값 가져오기
String id=(String)session.getAttribute("id");
%>
<form action="deletePro.jsp" method="post">
아이디 : <input type="text" name="id" value="<%=id %>" readonly><br>
비밀번호 : <input type="password" name="pass"><br>
<input type="submit" value="회원정보삭제">
</form>
DB 서버에 연결하고
<%
String id=request.getParameter("id");
String pass=request.getParameter("pass");
Class.forName("com.mysql.cj.jdbc.Driver");
String dbUrl="jdbc:mysql://localhost:3306/jspdb1?serverTimezone=UTC";
String dbId="root";
String dbPass="1234";
Connection con =DriverManager.getConnection(dbUrl, dbId, dbPass);
%>
SQL 쿼리 입력 후 실행
<%
String sql="select * from members where id=? and pass=?";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
pstmt.setString(2, pass);
ResultSet rs=pstmt.executeQuery();
%>
다음 행으로 이동 후 데이터가 있을 시, 아이디 비밀번호 일치를 묻고 일치하면 삭제한다.
없을 시 일치하지 않다고 출력 후 뒤로 이동
if(rs.next()){
sql="delete from members where id=?";
pstmt=con.prepareStatement(sql);
pstmt.setString(1, id);
// sql구문을 실행
pstmt.executeUpdate();
// 세션값 초기화
session.invalidate();
// main.jsp 이동
response.sendRedirect("main.jsp");
}else{
%>
<script type="text/javascript">
alert("아이디 비밀번호 틀림");
history.back();
</script>
<%
}
%>
list(회원정보) 역시 DB 서버 접속 후
<%
String sql="select * from members";
PreparedStatement pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
%>
항목과 함께 출력할 리스트 작성
<table border="1">
<tr><td>아이디</td><td>비밀번호</td><td>이름</td><td>가입날짜</td></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getString("id") %></td>
<td><%=rs.getString("pass") %></td>
<td><%=rs.getString("name") %></td>
<td><%=rs.getTimestamp("date") %></td></tr>
<%
}
%>
아래와 같이 출력된다!
'배운 것 기록 > jsp' 카테고리의 다른 글
[jsp] 페이지 만들기 (0) | 2022.07.07 |
---|---|
[jsp] MemberDTO, MemberDAO (0) | 2022.06.24 |
[jsp] insert, update 구현(DB연결, 쿼리 실행) (0) | 2022.06.14 |
[jsp] login 구현 (0) | 2022.06.12 |
[jsp] main, logout 구현 (0) | 2022.06.11 |
댓글