-doxxx 메소드의 인자 : req, res 로 규약되어 있다.
- doget, dopost -> httpservlet 에 보면 정의되어 있고 재정의 해서 오버라이딩해서 사용한다.
HTTP 메소드 : GET, POST, DELETE, PUSH, HEAD
-printwriter 객체 생성
- 재정의
요청을 생성할 때마다 서버의 현재시간이 달라진다.
new Date 부분을 db에서 조회한 데이터라고 생각해보면, 사용자 별로 요청에 대한 응답을 각각다르게 생성하는 것이 가능하다.
db에 대한 연동 부분은 html, javascript 만 이용해서 불가능하다 ( 정적인 것 )
servlet을 통해 응답으로 생성하는 html 을 동적으로 변경 => 동적(servlet/jsp 를 배우는 이유)
-servlet 의 라이프 사이클
init() ==> service() ==> destroy()
init 은 로딩시 최초 1회 service 메서드는 사용자가 요청할 때마다 , destroy() 는 서버 종료 or reload 시
init 메서드는 해당 서블릿에서 사용하는 자원을 초기화 할 때 사용한다.
로딩시 최초 1회를 호출한다 : 로딩 되는 시점에 => 해당 서블릿으로 최초 요청이 들어왔을 때
단 web.xml 의 servlet 엘레먼트의 하위 엘레먼트 load-on-startip 엘레먼트 값으로 양의 정수값을 입력할 경우 서버가 가동하면서 바로 init 메소드 호출
-servlet container 가 요청을 처리하는 방법
등록된 url 매핑을 참고하여 등록된 서블릿으로 요청을 전달한다(service 메서드 호출)
예시 ) localhost/basicServlet ==> BasicServlet의 service 메소드를 통해 응답 생성
localhost/index.jsp ==> servlet 설정에 있는 web.xml 에 등록된 *.jsp, *.jspx url-pattern 에 따라 jsp 라는 이름의 서블릿에서 처리 (JspServlet)
printWriter pw = resp.getWriter();
효율성을 위해서 버퍼에 어느정도 양이 차면 사용한다. -> 조금만 찼어도 보내도 된다.
(pw.println)이 끝나면 더이상 작성할 내용이 없으므로 작업을 끝내도 된다고 해준다.
pw.flush();
//사용한 자원을 반납
pw.close();
댓글
댓글 쓰기