[Servlet&JSP] Chap 9. 글 검색 로직(MVC2 패턴)

김승현·2021년 12월 14일
0
post-custom-banner
  1. BoardAllSelectServlet(/board/boardAllSelect.do) -> boardSelectAllListPage.jsp

  2. boardSelectAllListPage.jsp

    • 검색 타입, 키워드 입력, 검색 버튼 폼태그 생성
    • 설정 후 검색 버튼 클릭 ->BoardPostSearchServlet(/board/boardPostSearch.do)
  3. BoardPostSearchServlet(/board/boardPostSearch.do) **

    • 페이징 처리했던 Servlet(BoardAllSelectServlet(/board/boardAllSelect.do))과 코드 거의 동일하다(검색 키워드가 있냐 없냐의 차이)
    • 인코딩
    • currentPage 설정
    • 검색 , 키워드 가져오기
    • currentPage, 검색 타입 , 키워드 , userId 로 비즈니스 로직 진행( <-> Service <-> DAO)
  4. Service

    • 페이지당 목록 개수 설정
    • 게시글 목록 가져오기 (selectSearchPostList 메소드)
  5. DAO

    • 게시글 시작 번호, 끝번호 설정
      • 시작 : (현재 페이지*목록개수)-(목록개수-1)
      • 끝: 현재 페이지*목록개수
    • 검색 타입, 검색어에 따라 sql 문 설정(switch문 이용)
    • 위치 홀더에 따라 세팅 설정 (if문 이용)
    • 결과값 리턴
  6. Service

    • 결과값 타입 및 변수에 담고
    • 페이지당 네비 개수 설정
    • 네비 목록 가져오기(getSearchPageNavi 메소드)
  7. DAO

    • 검색된 총 게시글 개수 가져오기(totalSearchCount 메소드 활용)
      • 검색 타입, 검색어에 따라 sql 문 설정(switch문 이용)
      • 위치 홀더에 따라 세팅 설정 (if문 이용)
      • 결과값 리턴
    • 검색된 총 페이지 개수 설정= 검색된 총 게시글/페이지당 네비 개수->소수점 올림
    • 페이지당 네비 시작 번호 끝 번호 설정
      • 시작 : (((현재 페이지 -1)/페이지당 네비 개수)*페이지당 네비 개수)-1
      • 끝 : 시작 +(페이지당 네비 개수-1)
    • 끝 번호가 검색된 총 페이지 개수가 크다면 끝번호를 총 페이지 개수로 설정
    • 네비 모양 만들기
    • 문자열로 리턴
  8. Service

    • 결과 값 받고 2개의 결과값 하나로 담아서 리턴->BoardPostSearchServlet(/board/boardPostSearch.do)
  9. BoardPostSearchServlet(/board/boardPostSearch.do)

    • boardSelectAllListPage.jsp로 이동 with 리턴값과, currentPage, 키워드
  10. boardSelectAllListPage.jsp

    • 이전에 작성한 값 제외하고 추가로 넘어온 데이터(키워드) 가져 오기
    • 키워드 값 유무에 따라 검색 결과여주기
      • null : 검색한 글 없음
      • !null: 검색 결과 페이징
profile
개발자로 매일 한 걸음
post-custom-banner

0개의 댓글