본문 바로가기

서버/Servlet-JSP
Servlet, JSP

// Servlet, 서블릿
    - 웹서버 측에서 자바를 사용한 프로그램을 동작시키는 기술(환경)
    - 목적: 클라이언트 요청에 따라 동적으로 웹페이지 생성
    
    
// Servlet Class, 서블릿 클래스
    - 자바 클래스
    - 서블릿(역할 부여)
    
    - 작성 규칙
        1. 서블릿 클래스 선언
            a.  javax.servlet.Servlet 인터페이스를 구현한다.  > 복잡함
                javax.servlet.http.HttpServlet 클래스를 상속 받는다.(위의 인터페이스를 상속받은 클래스) > 간편함 > 주로 사용★★★
                
        2. doGet/doPost 메서드 선언
            - 둘 중 하나 선언 or 둘다 선언
            - 클라이언트(브라우저)의 요청이 들어오면 자동으로 호출되는 메서드
            - 동적으로 HTML 페이지를 만드는 역할
            
            1) doGet - <form method="GET">
            2) doPost - <form method="POST">
            
            - 메서드 작성 규칙
                a. 매개 변수 작성(2개)
                    1. java.servlet.http.HttpServletRequest
                    2. java.servlet.http.HttpServletResponse
                b. 예외 미루기
                    1. java.io.IOException //페이지 동적 생성 - 외부 입출력
                    2. java.servlet.ServletException //서블릿 작업
                    
        3. 동적 HTML 문서 작성
            - HttpServletResponse 객체의 getWriter() 메서드 호출 > PrintWriter 객체 반환
            - PrintWriter 객체의 printXXX("<html>") 메서드를 사용 > HTML을 생성
                ※ BufferedWriter > 생성된 파일을 하드디스크에 저장
                   PrintWriter > 생성된 파일을 톰팻을 통해 브라우저에게 반환
            - 페이지 완성 > 브라우저에게 반환
            
        4. 브라우저가 자바 파일(서블릿)을 호출할 수 있는 가상 주소 매핑
            - web.xml
            
            
// 자바 파일 웹 호출
    - 자바 파일(class)은 웹(http://)에서 호출이 불가능하다.
    - 자바 파일을 브라우저를 통해 웹에서 호출할 수 있는 방법이 필요하다.
        > 가상 주소 생성 > 대신 자바 파일을 호출하게 설정!!        
            web.xml == Deployment Descriptor == 배포 서술자
                - 아파치 톰캣이 웹 사이트 운영에 필요한 여러 가지를 설정하는 파일


// JSP, Java Server Pages
    - 자바를 사용해서 서버 측에서 페이지를 만드는 기술
    - Servlet의 다음 버전
    
    
// 서블릿 vs JSP
    1. 서블릿
        a. 장점: 자바 기반. 자바 구문을 사용할 수 있다. > 자바 클래스 사용
        b. 단점: 자바 작성 용이, 클라이언트 코드 작성이 불편. > 문자열 취급
                                                 > 가상 주소 매핑 필요
                                                  (<url-pattern>에 도메인을 붙이기도 하고, 일반적으로는 do를 많이 붙인다.)ㄴ
                                                 
                                                   
    2. JSP(=웹페이지처럼 보이는 서블릿)
        a. 장점: HTML 문서 기반. 클라이언트 코드 작성이 쉽다. > 구문 인식
                                                  > 가상 주소 매핑 불필요
        b. 단점: 웹 작성 용이, 자바 작성 불편
        
    3. 서블릿 + JSP > Strping
        a. 서블릿: 자바 코드 담당
        b. JSP: 클라이언트 코드 담당

// HTML 페이지 만들기

    1. SSR(Server Side Rendering)   
        - HTML 페이지를 서버측에서 만든다.
        - 전통적 방식
    
    2. CSR(Client Side Rendering) + REST API(Restful API) + MSA
        - HTML 페이지를 JavaScript로 만든다.
        - 필요한 데이터만 서버랑 송수신을 통해 얻는다.
        - Ajax, JavaScript Framework(Angular, React 등)

'서버 > Servlet-JSP' 카테고리의 다른 글

Servlet Parameter  (0) 2022.12.30
Servlet 생명주기  (0) 2022.12.29
Servlet-JSP GET 방식, POST 방식  (0) 2022.12.25
이클립스로 Servlet 프로그래밍 시작  (0) 2022.12.24
메모장으로 Servlet 프로그램 만들기  (0) 2022.12.22