Servlet

이현·2023년 1월 21일

Servlet 사용 셋팅

** URI 링크 셋팅

WebContent - WEB-INF - lib - jstl.jar, standard.jar 넣기
- .jsp 상단에 uri 셋팅(core를 가장 많이 사용)

서블릿 장점

  1. 매핑으로 주소 숨김 가능(지정한 주소값을 입력하면 web.xml에서
    매핑을 통해 실제 데이터를 띄우는 주소로 이동하되, 주소창에는 지정한 주소가 출력됨) //보안에 좋음

    cf) /sbbs/* 의 주소를 입력받으면 boardServlet을 찾아가고 지정된 BoardServlet 클래스를 찾아가서 연산
  1. 데이터를 변수에 안받고 바로 찍어서 출력 가능(${ })
    - .class에서 연산해서 list.jsp로 데이터를 list 자체로 넘겨줄 수 있어서 변수에 안받고 ${num} 형식으로 바로 데이터 찍을 수 있음

서블릿 특징

  1. 포워딩 방식으로 클라이언트는 클래스를 보고있지만 클래스는 디자인 작업을 하는 .jsp를 띄움(주소 숨김 가능)
  1. 클래스에서 모두 연산을 하고 .jsp로 데이터만 넘겨서 디자인하기 때문에 코드 분리가 가능(에러 잡기 용이)

  2. 클래스에서 웹으로 데이터를 넘겨줄 때 Attribute() 사용

  3. 데이터를 주고 받을 때, 인코딩/디코딩 필요(데이터 타입에 따라 깨질 수 있음)

<기본구조>

  1. web.xml
    1) 서블릿 선언
    2) 서블릿 이름, 연결될 클래스 선언
    3) 서블릿을 통해 서버 매핑 선언
    4) 찾아갈 서블릿 이름, 입력 받을 주소 패턴 지정
  1. HttpServlet을 상속받는 서블릿 클래스 생성
    -doGet, doPost 오버라이딩
    1) doGet() : 보통 post방식으로 데이터를 주고 받기 때문에 메소드 안에 doPost를 호출해 req와 resp를 넘겨줌
    2) doPost() : 데이터를 넘겨받아 연산할 메소드와 연산된 데이터를 넘기는 메소드의 코드가 담겨있음
    Servlet과 DB를 연결해 생성해둔 DAO,DTO와 연결
    3) foward() 생성: doPost() 위에
    - 페이지가 넘어가면서 데이터를 request, response로 주고 받음
    cf) Redirect : 단순 페이지만 호출하기 때문에 데이터를 변수에 저장해서 넘겨주고 받아야 함

0개의 댓글