// 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 |