: 서버는 웹페이지, 사이트를 저장하는 컴퓨터
: 클리아언트가 웹페이지에 대한 접근을 요청한다면, 서버에서 웹 브라우저로 웹 페이지의 사본이 다운로드된다.
: 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
: 인터넷 상에서 http를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어
: db연동, 트랜잭션 관린, 멀티스레드 지원 등 business logic 수행
: 웹 서버 + 웹 컨테이너
: ex) tomcat, jboss, jeus
: 웹 애플리케이션에서 정적 데이터 처리를 위해 지연되는 시간을 줄여 동적 데이터 처리 속도를 높일 수 있다.
: init() 메소드 호출 및 서블릿 초기화 작업은 상대적으로 시간이 걸리기 때문에, 처음 서블릿을 사용하는 시점보다는 웹 컨테이너를 처음 구동하는 시점에 초기화를 진행하는 것이 좋다. 이를 위한 설정이 load-on-startup 태그이다. 이 태그를 설정하면 앱이 시작할 때 태그의 값에 따라 오름차순으로 서블릿을 로딩한다.
<web-app>
<context-param>
<description>로깅</description>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<servlet>
<servlet-name> servlet </servlet-name>
<servlet-class> example.Servlet </servlet-class>
<init-param>
<param-name> param1 </param-name>
<param-value> value1 </param-value>
</init-param>
<load-on-startup> 1 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name> servlet </servlet-name>
<url-pattern> /servlet </url-pattern>
</servlet-mapping>
</web-app>
: 서블릿의 url 패턴은 클라이언트의 요청 업무를 구분해주는 기준이 될 수 있다.
: 서블릿을 초기화할 때 필요한 값을 전달하는 방법을 제공한다.
String val1 = getInitParameter("param1"); String val2 = getServletConfig().getInitParameter("param1");
//"value1"
: 웹 어플리케이션 전체에 걸쳐서 사용할 수 있는 초기화 파라미터
Enumeration<String> initParamEnum = application.getInitParameterNames(); String val1 = application.getInitParameter("log4jConfigLocation"); String val2 = getServletContext().getInitParameter("log4jConfigLocation");
//"/WEB-INF/classes/log4j.properties"