@ServletComponentScan
이거 해두면, 그 패키지와 그 패키지 하위의 서블릿을 모두 찾아서 컨테이너에 등록해 줌.
main 에다가 해두더라.
Servlet은 HttpServlet이라는 걸 상속 받아야 한다.
service 오버라이드 하는데,
HttpServletRequest
이거 인자로 있는거 오버라이드 해야 함
처음에 저거 하면,
super.service(req, resp);
이게 자동으로 나오는데, 클라이언트의 요청에 따라 처리하는 부모의 HttpServlet의 service 호출
클라이언트의 요청에 따라, 저거는 doGet이나 doPost 등을 호출하는데 override 해서 쓰는거임.
@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);
System.out.println(request.getParameter("username"));
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
response.getWriter().write(
"<!doctype html>\n" +
"<html lang=\"ko\">\n" +
"<head>\n" +
"\t<meta charset=\"utf-8\">\n" +
"\t\t\t<title>글쓰기</title></head> <body><h1>Hello</h1></body>"
);
}
}
ContentLength는 자동으로 만들어 줌.
text/plain 그냥 text만 보낼 때
http 요청 메시지를 다 보고 싶을 때, 쿼리 포함
application.property에
logging.level.org.apache.coyote.http11=debug
근데 이건 개발단계에서만.
요청오면, 요청 기반으로 request, 그리고 response 객체를 생성해주고, 요청된 서블릿 컨테이너에서 찾아서, 우리가 response에 작업해 주면 됨.
'스프링 > 3. 스프링 MVC' 카테고리의 다른 글
9. http 요청 데이터 (0) | 2023.08.04 |
---|---|
8. HttpServletRequest, Header (0) | 2023.08.03 |
5. 자바 웹 기술 발전 역사 (0) | 2023.08.03 |
4. 서버의 클라이언트에게 제공 방식 (0) | 2023.08.02 |
3. 멀티쓰레드 (0) | 2023.08.01 |