본문 바로가기

국비

01.20 국비학원 77일차 (필터, 페이징)

  • 필터(Filter)

         - HTTP Request/HTTP Response 와 관련하여 여러 작업을 서블릿에 전달하기 전/후로 처리하기 위해 사용하는 기능

         - 사용자 인증 및 로그 기록에 활용 가능

         - Filter 인터페이스를 implements 하여 사용하며 @WebFilter 어노테이션 또는 web.xml 의 <filter>, <filter-mapping>

           태그를 사용하여 등록한다 (서블릿 등록 방식과 동일)

<filter>
  <filter-name>loggingFilter</filter-name>
  <filter-class>filter.LoggingFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>loggingFilter</filter-name>
  <url-pattern>/*<url-pattern>
</filter-mapping>

         - 필터는 다수의 URL 패턴에 일치하여 동작시킬 수 있다.

         - 여러개의 필터를 생성하여 순차적으로 필터를 거쳐서 서블릿에 전달되도록 할 수 있는데, 이 경우에는 web.xml에

           필터를 등록하여 먼저 등록한 순서대로 동작하는 방식으로 제어한다.

         - 필터에서는 chain.doFilter() 메서드를 통해 다음의 필터로의 연계를 수행한다.

         - 필터에는 init(), doFilter(), destroy() 메서드의 구현이 필요하며, init(), destroy() 메서드는 생략 가능하다.

         - init() : 필터가 생성될 때 초기화 작업을 위한 메서드

         - destroy() : 필터가 소멸될 때 사용 자원을 반납하기 위한 용도의 메서드

         - doFilter() : HTTP 요청과 응답에 호출되어 사용되는 메서드로 반드시 필요하다.

 

  ▷ Logging 필터 생성 (로그 기록 출력)

web01/index.jsp 메인 화면 실행
web01/index.jsp 메인 화면 실행 했을 때 console창에 필터 출력
회원가입 후 로그인 한 경우의 로그

@WebFilter 어노테이션 방식으로 url 패턴을 지정하는 방법┐

{ } 안에 url을 나열하면 된다

 

  • 페이징

         : 사용자가 요청한 데이터를 제공할 때 너무 많은 양의 데이터 목록을 제공해야 하는 경우, 이를 페이지로 나누어서 

           제공할 수 있도록 만드는 기능 (게시판 목록)

           ((코드 진행 거꾸로 기록))

TOP-N 분석으로 전체 조회 후 #{start}와 #{end} 사이의 행을 조회 하는 selectPage 쿼리문 / 전체 방명록 갯수를 조회하는 totalRowCount 쿼리문 mapper 에 작성
작성한 쿼리문으로 db에 접근할 dao
dao 에 매개변수로 전달될 데이터 구현하는 service
controller doGet
controller doGet
controller doGet
JSP

 

 

    ++ 페이지에 보여질 목록 수 선택 옵션

cookie X O O X
parameter X X O O
목록수 10 (기본설정) 쿠키값 parameter값, 쿠키재설정 parameter값, 쿠키재설정

JSP