class
package : servlet.listener
name : DriverLoadingListener

 - Project Explorer에서 마우스 오른쪽

 

 - xml (xml에 자동 listener 생성)

- 자동 드라이버리스너 생성

Posted by 조은성
,

* public void contextInitialized(ServletContextEvent sce){}와public void contextDestroyed(ServletContextEvent sce){} 실행시점 알아보기
(톰켓을 실행시키면 Web Container가 어플리케이션 실행 시점이라는 것을 알려서 contextInitialized()가 실행되고, 톰켓 서버를 내리면 Web Container가 어플리케이션 종료 시점이라는 것을 알려서 contextDestroyed()가 실행 된다.

class
package : servlet.listener
name : MyServletContextListener

- xml

 

Posted by 조은성
,

* ServletConfig - 서블릿당 하나만 생긴다(초기파라미터 설정(특정 서블릿 조회)(문자열이 변경되었을 때 소스코드 변경없이 프로그램을 변경할 수 있게 하는 것)
- 구문 :
<init-param>
<param-name>
<param-value>
Init()를 이용해서 관리

초기파라미터 불러오는 메소드 : getInitParameter();//값이 없으면 null을 리턴

* ServletContext(application과 관계) - application에 있는 모든 서블릿에 접근 가능.(초기 파라미터를 xml에 설정해 두고 불러올 수 있음) 

초기파라미터 불러오는 메소드 : getInitParameter();//값이 없으면 null을 리턴

WebContainer가 ServletConfig와 ServletContext를 관리 

Posted by 조은성
,

* Event 모델
- Event : 컴포넌트에 가해진 동작, 변화.
- Event Listener
 1. 컴포넌트에서 Event가 발생하는 것을 감시하는 Container.
 2. 발생한 Event를 처리하는 동작을 가진 객체(Listener class)
- Event Handler : 발생한 Event를 처리하는 동작(메소드)
- Event Source : Event가 발생한 컴포넌트

ex) 버튼을 클릭하면 안녕이라고 출력한다.
   Event Source : 버튼
   Event : 클릭
   Event Handler : 안녕 을 출력하는 동작

* 어플리케이션이 서비스가 시작하는 시점과 종료되는 시점에 무슨 작업을 하고 싶을때 Event 모델(Event Class)을 사용한다.

 

* 이벤트가 일어나면 자동으로 감지하게 해준다. (ex : 도둑이 들거나 불이 나는 것. 언제 발생할지 모름. 불이 나는 건물이 이벤트 소스, 처리하는 것(경찰관, 소방관)이 이벤트 핸들러(처리작업), 도둑을 잡으려면 경찰서가 있어야 하는데 이를 (이벤트 리스너 클래스라 칭한다.), 불이나면 불이 났다고 알리는 것을 이벤트 리스너라 한다.  

* WebContainer가 이벤트가 발생하면 이벤트가 일어났다고 알려주는 역할을 한다.

* Event 객체 : 어떤 클래스에 어떤 이벤트가 발생할 것 같다 하면 모두다 class로 정의 되어 있다.(container가 알아서 만들어 준다)

 


* Event Source에서 Event가 발생하면 Event객체를 만들고 Event Handler(Evnet Handler는 메소드다)를 불러준다.
* 이벤트는 웹컨테이너가 만들어 주고 알아서 불러준다. (실행환경(Web Container)이 부르는 것은 우리가 만들지 않고 불러서 사용만한다.)

 

 

 

* ServletConextEvent가 발생하면 ServletContextListener에서 처리

Posted by 조은성
,

* servlet class
package : servlet.initparam
name : ContextParamServlet
url-pattern : /context_param

* ContextParamServlet 자동 생성

 

* 소스 구현

- xml구현

 

- ContextParamServlet구현

 

- 실행화면

 

* xml의 변수만 이순신 aaa 000-000-0000으로 바꿔주면

 

수정되는 것을 볼 수 있다.

* 기존 GreetingServlet에 ContextParamServlet의 선언부와 실행하는 것을 넣어주면 어디서든 xml에서 넣은 값을 가져다가 사용할 수 있다. (이것이 이전장에서 말한 servlet내의 xml에 ContextParam객체에 다 접근가능 하다는 것을 보여준다.)

- 소스

 

- 실행결과

 

 

Posted by 조은성
,

* javax.servlet.ServletContext(어플리케이션에 대한 업무를 처리할 정보를 가지고 있다.)


   - Web Application이 자체 또는 일하는데 필요한 정보를 가지고 있는 객체
      - Web Component는 Web Application과 관련된 정보를 조회하거나 업무를 처리할 때 ServletContext type객체를 이용
      - Web Application이 시작 할때 Web Container에 의해 생성 된다.
      - Servlet의 getServletContext()를 통해 조회
         - ServletContext ctx = getServletContext();
      - Web Application 당 하나가 생성됨

* ServletContext를 이용한 초기 파라미터 처리


1. web.xml 에 초기 파라미터 설정
<web-app>
   <context-param>
      <param-name>초기파라미터 이름</param-name>
      <param-value>초기파라미터 값</param-value>
   </context-param>
   - 초기 파라미터가 여러개인 경우<context-param>반복
2. 코드상에서 조회
   ServletContext객체.getInitParameter(String paramName) : String paramValue

 

Posted by 조은성
,

* 영어요청과 한글 요청 처리

 

 

 

 

Posted by 조은성
,

* Servlet자동 생성하기(GreetingServlet실습)

 

 

 

 

 

 

 

 

 

 

* 여기서 만약 init()를 기본적으로 제공하는 것을 사용하려면 다음과 같이 상위 객체를 초기화 해서 사용해라.

 public void init(ServletConfig config) throws ServletException {
 super.init(config);

}

 

 

 

 

Posted by 조은성
,

* 초기 파라미터 : 초기에 사용할 값들을 web.xml에 넣어두고 쓰겠다.(초기값변경시 web.xml만 변경하면 됨)
(프로그램에서 사용해야할 문자열을 web.xml에 넣어두고 web.xml에서 불러다가 쓰겠다.(소스코드 변경없이 변경되는 것을 관리)

- 서버단 컴포넌트(Servlet, JSP, Listener등) 이 사용하는 문자열 중 나중에 변경 될 수 있는 문자열을 web.xml에 등록해 놓고 컴포넌트에서는 호출하여 
- 나중에 변경시 설정에서만 바꾸면 컴포넌트의 수정없이 변경이 가능
- 초기 파라미터 2가지
   * 특정 서블릿, JSP만 사용할 수 있는 초기 파라미터
      - ServletConfig이용
   * Application 내 모든 servlet이 사용할 수 있는 초기 파라미터
      - ServletContext이용

* javax.servlet.ServletConfig(서블릿 객체에 대한 설정정보를 가지고 있음)
   - Servlet 객체가 말하는데 필요한 정도를 가지고 있는 객체
   - Web Container가 생성하여 Servlet의 init() 호출시 주입(주입 : 메소드에서 받아서 쓸 수 있게해주는 것)
   - Servlet객체당 하나씩 생성

- 초기 파라미터 init()

 

 

* ServletConfig를 이용한 초기파라미터 처리

1. web.xml에 초기파라미터 설정
   <servlet>
      <servlet-name>서블릿 객체 이름</servlet-name>
      <servlet-class>서블릿 클래스 이름</servlet-class>
      <init-param>
            <param-name>초기파라미터 이름</param-name><!-- 변경시 이름은 바뀌지 않고 값을 바꾸면 된다. -->
            <param-value>초기 파라미터 값</param-value>
      </init-param>
   </servlet>
 - 초기 파라미터가 여러개인 경우<init-param>을 반복

2. ServletConfig객체. 
           getInitParameter(String paramName) : String paramValue

 

- xml

 

- CounterServlet

* getInitParameter()가 객체 생성하지 않고 바로 사용 가능한 이유.

 

Posted by 조은성
,

id : java

pwd : servlet

 

 

 

HTML
WebContent
folder : form
html : login_form.html

class
package : servlet.form
name : LoginServlet

 

xml

'프로그래밍 > JSP Programming' 카테고리의 다른 글

2012-4-23 Servlet자동 생성하기(GreetingServlet실습)  (0) 2012.04.23
2012-4-23 초기 파라미터  (0) 2012.04.23
2012-4-20 RegisterServlet[실습]  (0) 2012.04.20
<table>  (0) 2012.04.20
2012-4-20 LoginServlet[실습]  (0) 2012.04.20
Posted by 조은성
,