update

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