Springfileboard3

RedNine·2023년 3월 7일
0

스프링

목록 보기
12/17

🍳게시판의 글수정,글삭제하기

🎈글수정

🎁dispatcher-servlet.xml

  • 요청명령어 등록
<bean class="com.board.controller.UpdateController" />

흐름

  • UpdateController->BoardDao->update()선언
    • BoardDaoImpl
    • 1)BoardDaoImpl X
    • 2)BoardMapper.xml X

🎁BoardDao.java(글수정, 글삭제)

  • 글수정, 글삭제
  • 글삭제의 경우에는 매개변수가 있을 수 있다.

🎁BoardMapper.xml(글수정, 글삭제)

  • 글수정하기
  • 글삭제하기

🎁BoardDaoImp.java(글수정, 글삭제)

🎁UpdateController

🎨글수정을 구현하기위한 설계

    1. 서로 요청명령어가 다른 경우->하나의 컨트롤러에서 작업=>Get or Post방식X
    • 1)글수정폼으로 이동 ->/board/update.do
    • 2)글수정폼에서 수정한 데이터를 입력하고 수정버튼누른 경우->/board/updatePro.do
    1. 요청명령어를 같게 설정->Get,Post방식으로 구분해서 작업
    • 1)글수정폼으로 이동 ->/board/update.do(같은 명령어 일때에는 GET)->접속
    • 2)글수정폼에서 수정한 데이터를 입력하고 수정버튼누른 경우->/board/update.do(POST)
  • => @GetMapping or @PostMapping 활용
  • 스프링
    • tiles을 사용 O
    • tiles을 사용 X
      • dispatcher-servlet.xml에서 viewResolver=>prefix, suffix 설정
      • resource폴더에서 외부의 파일을 불러오도록 설정->css,js,bootstrap

로그객체


1. 글수정 폼으로 이동(Get방식) -> 반환값(ModelAndView) <-> (단순페이지 String)


2. 입력해서 유효성검사 -> 에러발생

  • BindingResult -> 유효성 검사때문에 필요(에러정보 객체를 저장)

  • 변경전의 데이터를 불러오기 -> board(비밀번호)==웹상에서의 입력 비밀번호확인


비밀번호체크(DB상의 암호!=웹상의 입력한 암호)

  • 비밀번호가 일치한다면
  • 기본파일명 ->
      1. 업로드된 파일이 존재 -> 기존 파일 삭제 -> 새로운 파일명 세팅
      1. 업로드된 파일이 존재X -> 기존파일은 그대로 덮어서 저장

🎁boardModify.jsp, boardDelete.jsp 작성

🎁tilesdef.xml

🎁수정 결과 확인

  • 비밀번호 틀리면

🎈글삭제

글수정할때 이미 코딩함

🎁dispatcher-servlet.xml

  • 요청명령어 등록
<bean class="com.board.controller.DeleteController"/>

🎁BoardDao

  • 글 삭제하기
    public void delete(Integer seq);

🎁BoardDaoImpl

<delete id="deleteBoard" parameterType="Integer">
   delete from springboard2 where seq=#{seq}
</delete>

🎁boardDelete.jsp

  • 암호를 입력을 받을 수있도록 암호를 물어보는 입력창

🎁tilesdef.xml

🎁DeleteController

  • delete()->암호를 물어본다 ->
    • /board/list.do(/bordList.jsp로 이동)

로그객체


1. 글삭제 폼으로 이동(Get방식) (단순페이지 String)


2. 에러메세지 출력 -> 다시 초기화가 가능하게 설정 -> @ModelAttribute("커맨드객체 별칭")

🎁BoardDeleteValidator.java 추가

3. 입력해서 유효성검사 -> 에러발생

🎁삭제 결과 확인

  • 암호 입력후 삭제(파일까지 삭제)

  • 암호 입력 실패

0개의 댓글

관련 채용 정보