ServletConfig
- 서블릿 초기화 파라미터
- 특정 서블릿 생성시 필요한 초기 데이터 세팅(특정 경로 및 아이디 정보 등)
web.xml
에 기술하고ServletConfig
클래스를 이용해서 접근(사용)함1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<servlet>
<servlet-name>InitParam</servlet-name>
<servlet-class>com.javalec.ex.InitParam</servlet-class>
<init-param>
<param-name>id</param-name>
<param-value>abcde</param-value>
</init-param>
<init-param>
<param-name>pw</param-name>
<param-value>1234</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>InitParam</servlet-name>
<url-pattern>/IP</url-pattern>
</servlet-mapping>1
2
3
4
5
6
7
8protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
String id = getInitParameter("id");
String pw = getInitParameter("pw");
System.out.println("id2: " + id);
System.out.println("pw2: " + pw);
}Servlet
파일에 직접 기술하는 방법도 있음1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16"/IninP"}, initParams= { (name="id",value="aaaa"), (name="pw",value="bbbb")}) (urlPatterns= {
public class InitParam extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
String id = getInitParameter("id");
String pw = getInitParameter("pw");
System.out.println("id2: " + id);
System.out.println("pw2: " + pw);
}
}
ServletContext
- 여러
Servlet
에서 특정 데이터 공유 context parameter
를 이용해서web.xml
에 데이터 기술,servlet
에서 공유하면서 사용1
2
3
4
5
6
7
8
9<context-param>
<param-name>id</param-name>
<param-value>abc</param-value>
</context-param>
<context-param>
<param-name>pw</param-name>
<param-value>123213</param-value>
</context-param>1
2
3
4String id = getServletContext().getInitParameter("id");
String pw = getServletContext().getInitParameter("pw");
System.out.println("id2: " + id);
System.out.println("pw2: " + pw);
ServletContextListener
- 웹애플리케이션의 생명주기 감시
- 리스터의 해당 메소드가 웹애플리케이션으 시작과 종료시 호출됨
contextInitialized()
,ocntextDestroyed()
리스너 클래스를 따로 만들고(
ServletContextListener
임플리먼트) ->web.xml
에 리스너 클래스 기술1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ServletL implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextDestroyed");
}
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextInitialized");
}
}1
2
3<listener>
<listener-class>com.javalec.ex.ServletL</listener-class>
</listener>- 리스너 클래스에서 어노테이션으로 명시도 가능
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
public class ServletL implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextDestroyed");
}
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextInitialized");
}
}
- 리스너 클래스에서 어노테이션으로 명시도 가능