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 서블릿 어노테이션
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);
