티스토리 뷰
1. 서블릿 초기화 파라미터
- 특정 Servelt이 생성될 때 초기에 필요한 데이터들이 있음.
ex) 특정 경로 및 아이디 정보
- 이러한 데이터들을 초기화 파라미터라고 하며, web.xml에 기술하고 Servlet파일에서는 ServletConfig 클래스를 이용해서 접근(사용)함.
- 초기화 파라미터를 web.xml이 아닌 Servlet파일에 직접 기술하는 방법도 있음.
1-1 web.xml 파일에 초기화 파라미터(Initialization Parameter) 기술
1)Servlet 클래스 제작 및 web.xml파일에 초기화 파라미터 기술
<servlet>
<servlet-name>iniParam</servlet-name>
<servlet-class>com.javalec.ex.iniParam</servlet-class>
<init-param>
<param-name>id</param-name>
<param-value>abcde</param-value>
</init-param>
<init-param>
<param-name>id</param-name>
<param-value>abcde</param-value>
</init-param>
<init-param>
<param-name>pw</param-name>
<param-value>12345</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>iniParam</servlet-name>
<url-pattern>/IP</url-pattern>
</servlet-mapping>
2) ServletConfig 메소드 이용해서 데이터 불러오기
String id = getInitParameter("id");
String pw = getInitParameter("pw");
System.out.println("id = " + id);
System.out.println("pw = " + pw);
1-2 Servlet파일에 초기화 파라미터(Initialization Parameter) 기술
1) Servelt 클래스 제작
2) @WebInitParam에 초기화 파라미터 기술
@WebServlet(urlPatterns= {"/Inip"}, initParams= {@WebInitParam(name="id", value="aaaaa"), @WebInitParam(name="pw", value="99999")})
3) ServletConfig 메소드 이용해서 데이터 불러오기
String id = getInitParameter("id");
String pw = getInitParameter("pw");
System.out.println("id = " + id);
System.out.println("pw = " + pw);
2. 데이터 공유 : ServletContext
- 여러 Servlet에서 특정 데이터를 공유해야 할 경우 context parameter를 이용해서 web.xml에 데이터를 기술하고, Servlet에서 공유하면서 사용 할 수 있음.
- 데이터를 여러 서블릿 컨텐츠에서 다 같이 쓸 수 있는 방법 (초기화 파라미터는 '특정' 서블릿에서만 사용 가능)
- 모든 어플리케이션이 실행된 후에, 모든 컴포넌트에서 사용가능 즉, 데이터를 공유
1) Servlet 클래스 제작
2) web.xml파일에 context parameter 기술
- 모든 Servlet에서 사용하기 때문에 서블릿을 매핑하는 코드 안에 작성하지 않는다.
<context-param>
<param-name>id</param-name>
<param-value>abc</param-value>
</context-param>
<context-param>
<param-name>pw</param-name>
<param-value>123</param-value>
</context-param>
</web-app>
3) ServletContext 메서드 이용해서 테이터 불러오기
- getServletContext()를 이용하여 getInitparameter로 값을 받는다.
String id = getServletContext().getInitParameter("id");
String pw = getServletContext().getInitParameter("pw");
System.out.println(" id " + id);
System.out.println(" pw " + pw);
3. 웹어플리케이션 감시 : ServletContextListener
- 웹어플리케이션의 생명주기를 감시하는 리스너(Listener) = ServletContextListener
- 리스너의 해당 메서드가 웹 어플리케이션의 시작과 종료 시 호출 됨 (contextInitialized(), contextDestroyed())
3-1 web.xml 파일에 리스너 클래스 기술
1) 리스너 클래스 제작
- ServletContextListener를 implements한 리스너 클래스 제작
- implements를 하면 자동으로 contextDestroyed 메서드와 contextInitialized 메서드가 오버라이드 됨
package com.javalec.ex;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ServeltL implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("ContextDestroyed");
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("ContextInitialize");
}
}
2) web.xml 파일에 리스너 클래스 기술
<listener>
<listener-class>com.javalec.ex.ServeltL</listener-class>
</listener>
3-2 리스너 클래스에 기술(@WebListener)
1) 리스너 클래스 제작
2) @WebListener 추가
@WebListener
public class ContextListenerEx implements ServletContextListener{
}
*궁금한점
-doget() 메서드로 값을 받아오는 이유는?, doget()메서드로 실행하라고 지정하는 값이 없는데 왜 doget()메서드가 실행?
-doget() 메서드의 정의
'JSP > 인프런 JSP' 카테고리의 다른 글
8. JSP 본격적으로 살펴보기 -2 (0) | 2020.02.07 |
---|---|
7. JSP 본격적으로 살펴보기 -1 (0) | 2020.02.05 |
5. Servlet 본격적으로 살펴보기 -3 (0) | 2020.02.04 |
4. Servlet 본격적으로 살펴보기 -2 (0) | 2020.02.03 |
3. Servlet 본격적으로 살펴보기 -1 (0) | 2020.02.03 |
- 20200429
- 20200424
- 20200319
- 백준
- 20200406
- 20200502
- 20200504
- 20200421
- 20200415
- 20200427
- 20200622
- 20200804
- 20200512
- likelion
- 생활코딩리눅스
- 20200503
- chapter7
- 20200425
- 20200330
- 20200403
- 20200317
- 20200423
- 20201204
- chapter8
- 20200413
- 20200624
- 20200428
- 20200420
- 20200417
- 20200510
- Total
- Today
- Yesterday