본문 바로가기

Wanna be a Programmer/Servlet & JSP

Servlet & JSP day2 - container&component, 개발환경, servlet의 lifecyle eclipse test

 

Container

Component 실행환경                                       

   - 프로그램 실행에 필요한 모든 것을 제공

   - Infra 기술들을 제공    

  ↳ component를 실행하는데 공통적으로 필요한 logic

         ex) 집을 짓는데 수도, 전기, 학군, 편의시설과 같은 인프라를 제공하는 역할

 

Component Java Beans

    p/g 모듈 : 독립적인 업무를 처리하고 재사용 가능한 p/g 모듈

                             

 

개발환경

 

web.xml

① 배포(배치) 서술자(설명자) - Development Descriptor

② Web application에 대한 여러 가지 설정을 해주는 xml기반의 파일

- 서블릿 등록

- 서블릿 요청을 위한 url 설정

- 초기 파라미터 설정

- 보안 설정

③ 모든 Web application은 하나의 web.xml 파일을 가져야 함

④ 위치 : WEB-INF 폴더 아래

⑤ web.xml 파일의 설정들은 Web application 시작 시 메모리에 로딩된다.

- 수정을 할 경우 web application을 재 시작해야 한다.

 

XML 작성 시 주의점

① 대소문자 구분

② attiribute 값은 반드시 “ ” 또는 ‘ ’로 감싸야 한다.

③ 태그는 반드시 닫아야 한다.

 

서블릿 매핑 - <servlet-mapping>

client의 요청 url과 그 요청에 일할 서블릿 객체를 연결하는 설정

구문

<servlet-mapping>

<servlet-name> 이름 </servlet-name> 일할 서블릿 객체의 이름

<url-pattern> 패턴 </url-pattern> 클라이언트가 요청할 url 패턴

</servlet-mapping>

url-pattern의 세가지 방법

1. 이름까지 정확하게 일치하도록 설정

<url-pattern>/[경로]/이름</url-pattern>

2. 디렉토리까지 일치하도록 설정

<url-pattern>/[경로]/*</url-pattern> ex) /hello/helloservlet O, /hello/helloservleT X

3. 확장자만 일치하도록 설정

<url-pattern>*.확장자</url-pattern> ex) /*, /hello/*, /hello/a, /hello/b, /hello/adsf

 

ex) 

☞ <url-pattern> /abc/*에서 /의 의미는 application root 경로

    http://127.0.0.1   :    8088      /    myweb      /abc/a.do

              컴퓨터        서버p/g      application

 

 

 

Servlet 인터페이스 상속관계


 

 

 

Servlet의 lifecycle

 

ex) 서비스 준비는 식당을 오픈할 때 재료손질, 청소 등을 의미하고, service()는 식사판매, 배달 등을, destroy()는 폐점 준비를 한다.

 

 

LifecycleServlet.java

 

web.xml

 

 

실행화면

- web browser http://127.0.0.1:8088/myweb/lifecycle를 실행하면 아무 변화 없음

  console창에 각 메소드의 실행여부가 출력됨