서버 내에 있는 자바 기반의 웹 애플리케이션 프로그램으로 동적인 리소스를 만드는데 사용된다.
몇 개만 정리하면,
서블릿을 url매핑 하기 위해서는 @WebServlet을 사용해야한다.
@WebServlet = @Controller + @RequestMapping
HTTPServlet을 상속해야한다
직접작성하려면 service(HttpServletRequest, HttpServletResponse)를 오버라이딩해야 한다.
그 외의 메서드로는 init(), destroy()가 있다.
서블릿 내에서 출력 스트림 사용시 IOException 예외 선언
++서블릿이 발전한 형태가 스프링(@controller). 스프링은 DispatcherServlet사용한다.
상속이 필요없고, 한 클래스 내에서 여러 메서드를 생성하여 또 다른 url매핑이 가능하다.
++Servlet 관련 에너테이션이 없을 때는 pom.xml파일에 설정 파일을 추가하거나, java build path의 classpath에 (servlet관련 애너테이션을 가지고 있는)Tomcal libaray를 추가한다.
JSP는 HTML안에 Java코드가 존재하는 문서로, 실행하면 servlet으로 자동 변환된다. 따라서 servlet과 거의 같은 의미로 볼 수 있다.
첫 번째 요청 시
—> 시간이 비교적 오래 걸림
두 번째 요청부터 생성되어있는 인스턴스 사용
—> 빠르게 호출 가능
jsp파일 변경시
다시 1번의 과정 반복(class 파일 생성 시간과 변경된 파일의 시간 비교)
service()의 lv로 선언되어 jsp에서 객체 생성 없이 사용할 수 있다.
ex) request, response, session, application, out...