서블릿 - Hello 서블릿

Minseok Kim·2024년 1월 27일

Spring

목록 보기
5/13
package hello.survlet;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan //서블릿 자동 등록
@SpringBootApplication
public class SurvletApplication {

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

}

스프링 부트는 @ServletComponentScan을 지원하여 스프링이 현재 패키지를 포함해 하위 패키지를 탐색하여 모든 서블릿을 찾아 자동으로 등록한다.

@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);

    }
}

HelloServlet 클래스를 생성하여 HttpServlet을 상속받는다.

@WebServlet 서블릿 어노테이션

  • @WebServlet(name = "helloServlet", urlPatterns = "/hello")을 통해 이름과 경로를 설정해준다.
  • URL이 /hello로 들어오면 해당 서블릿이 실행된다.

HTTP 요청을 통하여 매핑된 URL이 호출되면 서블릿 컨테이너는 해당 메서드를 자동으로 호출한다.
protected void service(HttpServletRequest request, HttpServletResponse response)

request.getParameter("username")을 통해 쿼리 파라미터를 조회할 수 있다.

http://localhost:8080/hello?username=cau을 입력하면 다음과 같은 결과를 얻는다.

HttpServletResponse response를 통해 응답 데이터를 보내면 아래와 같은 결과를 볼 수 있다.

response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
response.getWriter().write("hello "+username);

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

0개의 댓글