쌓고 쌓다
서블릿 본문
서블릿
자바를 사용하여 웹 페이지를 동적으로 생성해주는 프로그램.
HTTP 요청시
WAS(웹 애플리케이션 서버)는 Request, Response 객체를 새로 만들어서 서블릿 객체(helloServlet)를 호출한다.
개발자는 HTTP 요청 응답 정보를 Request, Response로 편하게 다룰 수 있다.
Response를 바탕으로 HTTP 응답 메시지를 만들어 웹 브라우저에 전달한다.
=> 서블릿 객체는 싱글톤으로 관리되므로 공유 변수 사용 주의하자.
서블릿 환경 설정
스프링 부트는 서블릿을 직접 등록하여 사용할 수 있도록
@ServletComponentScan을 지원한다.
@ServletComponentScan // 서블릿 자동 등록
@SpringBootApplication
public class ServletApplication {
public static void main(String[] args) {
SpringApplication.run(ServletApplication.class, args);
}
}
서블릿 등록
@WebServlet(name="requestHeaderServlet", urlPatterns = "/request-header")
public class RequestHeaderServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
...
}
}
@WebServlet
- name: 서블릿 이름
- urlPatterns: URL 매핑 -> 해당 URL로 요청이 들어오면 service 메서드를 실행한다.
HttpServletRequest
서블릿이 HTTP 요청 메시지를 개발자가 편하게 사용할 수 있도록 파싱해준다. 그 결과를 HttpServletResponse 객체에 담아 제공한다.
HttpServletResponse
마찬가지로 HTTP 응답 메시지를 편리하게 사용할 수 있도록 도와주는 객체이다.
HTTP 요청 메시지 구조
- START LINE
- HTTP 메서드
- URL
- 쿼리 스트링 - name=lee&age=20
- 스키마(http), 프로토콜(http/1.1)
- 헤더
- 바디
Request 구조
GET /test.html HTTP/1.1 | start line |
Host: google.com Accept: text/html Accept-Encoding: gzip Connection: keep-alive |
headers |
blankline | |
name=lee&age=1 | body |
Response 구조
HTTP/1.1 200 OK | status line |
Date: Sun, 2 June Server: Apache Content-Length: 1 Content-Type: text/html |
headers |
blank line | |
<h1>hello</h1> | body |
'프로그래밍 > JSP & Servlet' 카테고리의 다른 글
서블릿, JSP로 MVC 패턴 만들기 (0) | 2023.07.29 |
---|---|
JSP 애플리케이션과 MVC 패턴 (0) | 2023.07.25 |
서블릿 애플리케이션과 템플릿 엔진 (0) | 2023.07.24 |
HTTP 응답 데이터 (0) | 2023.07.22 |
HTTP 요청 데이터 (0) | 2023.07.20 |
Comments