스프링MVC

서블릿 사용해 보기

salmon16 2023. 8. 1. 17:35

스프링 부트 환경에서 서블릿을 등록하고 사용해 보자!

스프링 부트는 서블릿을 직접 등록해서 사용할 수 있도록 @ServletComponentScan을 지원한다. 

이 애노테이션을 사용하면 서블릿을 자동 등록 해 준다.

@ServletComponentScan
@SpringBootApplication
public class ServletApplication {

   public static void main(String[] args) {
      SpringApplication.run(ServletApplication.class, args);
   }

}

서블릿을 등록해 보자

@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을 지정해 준다. 저 url에 방문하면 service함수가 실행된다.

service함수는 protected를 선택해야한다.

 

주소창에 localhost:8080/hello?username=kim을 넣어주면 service함수 네에 request.getParameter함수를 통해 username변수의 값을 받아올 수 있다.

 

그리고 response객체의 setContentType함수를 통해 클라이언트로 보낼 데이터 타입을 지정해 주고 setCharacterEncoding함수를 통해 형식을 지정해 주고 getWriter().write함수를 통해 데이터를 보내준다.

그러면 페이지에 hello kim이라는 text가 나오게 된다.

 

출처 : 스프링MVC 1편 - 백엔드 웹 개발 핵심 기술 김영한

'스프링MVC' 카테고리의 다른 글

JSP 사용하기  (0) 2023.08.02
HttpServletResponse 사용  (0) 2023.08.02
HTTP 요청 데이터  (0) 2023.08.02
멀티 쓰레드  (0) 2023.07.31
웹 애플리케이션과 서블릿  (0) 2023.07.31