반응형
@ServletComponentScan
스프링부트에서 서블릿을 사용하려면 사용한다.
Annotation을 사용한 패키지부터 하위 패키지들을 스캐닝하여 서블릿을 사용할 수 있도록 해준다.
아래는 서블릿코드이다.
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) 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);
response.setContentType("text/plain");
response.setCharacterEncoding("utf-8");
response.getWriter().write("hello " + username);
}
}
첫번째 줄부터 순서대로 설명을 하겠다.
@WebServlet이란
해당 Annotation의 속성 값을 통해 Servlet과 매핑될 url을 지정하는 것이다.
1. name
- 서블릿 이름 설정
- 기본값은 빈 문자열("")
2. urlPatterns
- 서블릿 url 설정
- String 배열을 지정 ( 한 개의 url이 아닌 여러 개도 설정 가능 )
- @WebServlet(urlPatterns="/hello")
- @WebServlet(urlPatterns={"/hello", "/hi", "/welcome"})
url에 "localhost:8080/hello"로 접속을 하면 해당 service안에 구문이 실행이 된다.
service란
클라이언트가 서블릿 요청시 request를 가지고 들어오는 method
response.setContentType("text/plain")
브라우저에게 보내는 타입이 text/plain으로 보여달라고 하는것
response.setCharacterEncoding("utf-8")
브라우저에게 인코딩을 utf-8 문자코드를 사용하라고 하는것
클라이언트가 보낸 요청을 서버에 출력하여 보는 방법이 있다.
resources/application.properties
logging.level.org.apache.coyote.http11=debug
프로젝트의 welcomPage는 main/webapp/index.html로 설정 가능하다.
localhost:8080/index.html을 해도 되고, localhost:8080만 하더라도 index.html이 실행된다.
반응형
'공부 > 과거 자료' 카테고리의 다른 글
[Java] 오버로딩(overloading) (0) | 2022.07.21 |
---|---|
HttpServletRequest와 HttpServletResponse (0) | 2022.07.21 |
[Spring MVC] 웹 애플리케이션 이해 (0) | 2022.07.19 |
[Java] 클래스메서드, 인스턴스메서드 (0) | 2022.07.14 |
[Spring] 의존관계 자동 주입 (0) | 2022.07.14 |