package controller;
import java.io.IOException;
import dao.member_repo; // ← 데이터베이스 작업을 담당하는 클래스
import dto.member; // ← 회원 정보를 담는 객체
import jakarta.servlet.RequestDispatcher;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet("/update") // ← 브라우저에서 "/update" 요청이 오면 이 서블릿 실행
public class update_controller extends HttpServlet {
// ← 싱글톤 패턴으로 member_repo 객체 하나만 생성해서 재사용
member_repo repository = member_repo.getInstance();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// ← GET 요청: 수정 폼을 보여주는 용도
//전처리: 브라우저에서 넘어온 데이터 받기
String id = req.getParameter("id"); // ← URL에서 ?id=admin 이런식으로 넘어온 값
//모델이동: 데이터베이스에서 해당 id의 회원 정보 가져오기
member mb = repository.readone(id); // ← DB에서 특정 회원 조회
//뷰이동: JSP로 데이터 전달하고 화면 보여주기
req.setAttribute("member", mb); // ← JSP에서 사용할 수 있도록 데이터 저장
RequestDispatcher ds = req.getRequestDispatcher("updateForm.jsp");
ds.forward(req, resp); // ← updateForm.jsp로 이동
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// ← POST 요청: 실제 수정 작업 처리
// 폼에서 넘어온 데이터 받기
String id = req.getParameter("id"); // ← 수정할 회원 ID
String pw = req.getParameter("pw"); // ← 새로운 비밀번호
// 데이터베이스에서 실제 수정 작업
repository.update(id,pw); // ← DB의 해당 회원 비밀번호 수정
// 수정 완료 후 전체 회원 목록으로 이동
resp.sendRedirect("read_all"); // ← 새로운 페이지로 이동 (URL 변경됨)
}
}
'JSP' 카테고리의 다른 글
| JSP 게시판 페이징 처리 / while(rs.next()) / rs.absolute(index) (0) | 2025.06.09 |
|---|---|
| [게시판] pageNum의 역할 (0) | 2025.06.09 |
| Create 서블릿 만들기 (0) | 2025.06.05 |
| CRUD 프로젝트 (0) | 2025.06.05 |
| CRUD(Create, Read, Update, Delete) 1 (0) | 2025.06.04 |