반응형

이 게시판 + 글쓰기 + 상세내용에 이어 이번에는 글 수정 기능을 구현해 보겠습니다.

글 수정 기능을 구현하는 과정은 다음과 같습니다.

  • 글 상세창(viewArticle.jsp)에서 수정하기를 클릭해 글 정보를 표시하는 입력창들을 활성화합니다.
  • 글 정보와 이미지를 수정한 후 수정반영하기를 클릭해 컨트롤러에 /board/modArticle.do로 요청합니다.
  • 컨트롤러는 요청에 대해 upload() 메서드를 이용하여 수정된 데이터를 Map에 저장하고 반환합니다.
  • 컨트롤러는 수정된 데이터를 테이블에 반영한 후 temp폴더에 업로드된 수정 이미지를 글 번호 폴더로 이동합니다.
  • 마지막으로 글 번호 폴더에 있던 원래 이미지 파일을 삭제합니다.

지금까지 해왔던 파일들을 복사하여 brd05패키지와 board04폴더에 넣어서 코드를 추가하도록 하겠습니다.

 

  BoardController 클래스를 다음과 같이 작성하겠습니다. 컨트롤러에서 수정을 요청하면 upload() 메서드를 이용해 수정 데이터를 Map으로 가져옵니다. Map의 데이터를 다시 ArticleVO 객체의 속성에 저장한 후 SQL문으로 전달하여 수정 데이터를 반영합니다. 마지막으로 temp폴더에 업로드된 수정 이미지를 다시 글 번호 폴더로 이동하고 글 번호 폴더의 원래 이미지를 삭제 합니다.

BoardController 클래스에 추가하였습니다.

 BoardService 클래스를 다음과 같이 작성합니다. 컨트롤러에서 modArticle() 메서드를 호출하면 다시 BoardDAO의 updateArticle() 메서드를 호출하면서 수정 데이터를 전달합니다.

BoardService클래스 추가

BoardDAO 클래스를 다음과 같이 작성합니다. 전달된 수정 데이터에 대해 이미지 파일을 수정하는 경우와 이미지 파일을 수정하지 않는 경우를 구분해 동적으로 SQL문을 생성하여 수정 데이터를 반영합니다.

BoardDAO 클래스 추가
viewArticle.jsp

출력을 해보겠습니다.

하단에 있는 수정하기 를 누르니 창이 활성화 되면서 수정이 가능하게 되었습니다.

마음대로 적고 수정반영하기를 누르니 alert 가 뜨네요

그럼 수정이 반영이 되고 리스트로 돌아갔다가 다시 들어오면 바뀐 내용이 그대로 있습니다.

 

다음 글에서는 글 삭제 기능을 구현해 보도록 하겠습니다.

 

github: github.com/soulwine-it

소스파일은 깃허브에서 다운 받으실 수 있습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

서블릿 매핑  (0) 2020.05.17
게시판 글 삭제 기능 구현  (0) 2020.01.06
글 상세 구현  (0) 2020.01.03
게시판 글쓰기(파일첨부) 구현  (0) 2020.01.03
모델 2 답변형 게시판 구현(게시판 테이블 생성)  (0) 2020.01.02
블로그 이미지

꽃꽂이하는개발자

,