Servlet & Life-cycle

한승남·2024년 9월 24일
0

BackEnd

목록 보기
1/4

Servlet : 자바를 사용하여 웹페이지 동적 생성하는 서버측 프로그램

  • html in java -> Servlet
  • java in html -> JSP

Web Application (Web Component)

— Java 기반의 웹 어플리케이션 기술 :

  • Servlet : Controller
  • JSP : Dynamic View (동적 화면 처리)
  • EL/JSTL : View : Tag 기반의 동적 화면 처리
  • Custom Tag : 사용자 정의 태그
  • Java Class : DAO, DTO, Serveice 등
  1. 화면 인터페이스 구현에 너무 많은 코드를 필요로 하는 비효율성
  2. 테스트할 때 빌드를 항상 다시해야 한다는 한계가 있음
  3. HTML 변경 시 Servlet을 재컴파일해야 하는 단점

서블릿 작성 순서

  1. extends HttpServlet

  2. 서비스 메서드 재정의

    service()
    get: doGet()
    post: doPost()

  3. 서비스 메서드 재정의 코드
    (1)

    > 요청객체에 대한 한글 인코딩 설정
    request.setCharacterEncoding("utf-8") : tomcat9 이하에서는 직접 설정
    tomcat\config>web.xml (tomcat 10부터 환경설정 가능)
    <request-character-encoding>UTF-8</request-character-encoding>
    <response-character-encoding>UTF-8</response-character-encoding>
    > 
    
    (2) 요청데이터 가져오기
    
    > 단건: 	request.getParameter("param-name"): String
    단건/다중: request.getParameterValues("param-name"): String[]
    > 
    
    (3) 응답을 위한 mime-type 및 한글 인코딩 설정
    response.setContentType("text/html;charset=utf-8");
    
    (4) 응답을 위한 출력 스트림 생성이됨
    PrintWriter out = response.getWriter();
    
    (5) 응답 출력스트림을 이용해서 응답페이지 작성
    out.println("<html><head></head><body><h1>Hello</h1></body></html>");
    
    (6) 응답 출력스트림 자원 해제
    out.close();
    
    ============================
    (3) 데이터 valid 검증
    
    (4) Model 요청 의뢰
    
    (5) Model 요청에 대한 응답 설정
    
    (6) 응답 페이지 이동하기: redirect, forward
profile
오미자를 좋아하는 개발자

0개의 댓글