1. 스프링 부트 서블릿 환경 구성
@ServletComponentScan
스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan을 지원한다.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@ServletComponentScan
@SpringBootApplication
public class ServletApplication {
public static void main(String[] args) {
SpringApplication.run(ServletApplication.class, args);
}
}
2. 서블릿 등록하기
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("HelloServlet.service");
System.out.println("request = " + request);
System.out.println("response = " + response);
String username = request.getParameter("username");
System.out.println("username = " + username);
response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
response.getWriter().write("hello " + username);
}
}
- @WebServlet 서블릿 어노테이션
- name : 서블릿 이름
- urlPatterns : URL 매핑
- HTTP 요청을 통해 매핑된 URL이 호출되면 서블릿 컨테이너는 다음 메서드를 실행한다.
- http://localhost:8080/hello?username=world 호출 시 urlPatterns : "/hello"인 서블릿 동작한다.
- protected void service(HttpServletRequest request, HttpServletResponse response)
3. 서블릿 컨테이너 동작 방식
(1) 내장 톰캣 서버 생성
본 글은 김영한 님의 "스프링 핵심 원리"(인프런) 유료 강의를 들으며 요약, 정리하고 일부 정보를 추가 작성한 것입니다.
반응형
'Spring(JAVA Framework) > Spring MVC' 카테고리의 다른 글
SpringMVC 구조 (0) | 2021.09.15 |
---|---|
HTTP Response 데이터 (0) | 2021.08.29 |
HTTP Request 데이터 (0) | 2021.08.29 |
HTTP API (0) | 2021.08.28 |
Servlet (서블릿) (0) | 2021.08.28 |
댓글