javaWeb - 서블릿 (一)

하나 : 서블릿 무엇입니까 :

  서블릿 javaWeb은 동적 자원이며, 세 가지 구성 요소 중 하나입니다. 작업 요청을 처리하는 서블릿이다 서버는 서블릿에 대한 요청은 보통 서블릿 요구 송수신 처리 :

    1. 요청 데이터를 수신

    2. 요청 처리

    3. 전체 응답

    예를 들어, 클라이언트가 서블릿에 의해 처리 완료해야 로그인 요청, 출력 등록 요청을 얻기를 보냈습니다! 서블릿가 우리 자신을 작성해야, 각 서블릿 구현해야                       javax.servlet.Servlet 인터페이스                            

2 : 서블릿을 달성하는 방법    

  서블릿을 달성하기 위해 세 가지 방법이 있습니다 :

  1. javax.servlet.Servlet 인터페이스를 달성하기 위해

  2. 클래스는 javax.servlet.GenericServlet을 상속

  3. 인 javax.servlet.http.HttpServlet 클래스 상속

  일반적으로 우리는 우리의 서블릿을 완료하기 위해 HttpServlet을 클래스를 상속 할뿐만 아니라 java.servlet.Servlet에서 학습을 시작하는 서블릿 인터페이스를 배운다.

  

Servlet.java 달성

/ ** 
 * 확인 방법 서블릿 인터페이스 
 * / 
공용  클래스 였던 aServlet 를 구현 서블릿 {
     / * 
     * 그것은 또한 라이프 사이클 접근 방식 
     서블릿이 파괴되기 전에 *이 호출되고,이 한 번만 호출됩니다! 
     * / 
    @Override 
    공개  공극이 제 (파괴) { 
        에서 System.out.println ( "32 파괴 () ....." ) 
    } 
    
    / * 
     * 구성 정보 서블릿 얻기 위해 사용될 수 
     * / 
    @Override 
    공개 된 ServletConfig에 getServletConfig을 () { 
        에서 System.out.println ( "에 getServletConfig () ... ... ..." );
         반환  널 (null) ; 
    } 
    
    / * 
     * 가져 오기 서블릿 정보
     * / 
    @Override 
    공공 문자열하는 getServletInfo () { 
        에서 System.out.println ( "하는 getServletInfo () ..." );
         반환  널 (null) ; 
    } 
    
    / * 
     * 그것은 생명주기 접근 방식입니다 
     *이 서블릿 객체가 생성 된 직후 실행하고 한 번만 수행! (통화 음성 후) 
     * / 
    @Override 
    공개  공극 초기화합니다 (ServletConfig를는 arg0)이 발생 ServletException을 { 
        에서 System.out.println ( "초기화는 () ..." ) 
    } 

    / * 
     * 그것은주기 방법은 
     그것이 * 라고 여러 번! 
     * 각 처리 요청이 메소드 호출 
     * / 
    @Override 
    공개  무효서비스 (ServletRequest의 요청은, ServletResponse를 응답) 
             가 발생 ServletException을, IOException가 { 
        (에서 System.out.println "...... 서비스를 ()" ); 
    }

 

당신은 서블릿 서블릿을 완료하면 클래스는 web.xml 파일에 구성해야합니다;

<서블릿> 
    <서블릿 이름>였던 aServlet </ 서블릿 이름> 
    <servlet- 클래스 > cn.itcast.web.servlet.AServlet </ servlet- 클래스 > 
  </ 서블릿> 
  <서블릿 매핑> 
    <서블릿 이름>였던 aServlet </ 서블릿 이름> 
    <URL 패턴> /였던 aServlet </ URL 패턴> 
  </ 서블릿 매핑>

 

세 : 서블릿의 라이프 사이클

   소위 수명주기 XXX, 그가 태어난 XXX, 서비스, 죽음. 서블릿 라이프 사이클, 너무! 서블릿 라이프 사이클 및 관련 방법은 다음과 같습니다

1. 공공  무효의 초기화 (ServletConfig를의 설정)이 발생 ServletException을  
 2. 공공  추상적  무효 서비스 (ServletRequest의 REQ, ServletResponse를 입술) 가 발생 ServletException을, 때 java.io.IOException
 3. 공공  무효 파괴를 ()
 

 

1.Servlet 탄생

  서블릿 서버는 첫 번째 방문은 서블릿, 서블릿 또는 서버 Qidong의에서 생성을 만드는 것입니다 것입니다. 서버가 시작되면 서블릿을 작성, 당신은 web.xm 파일을 구성해야합니다. 그 기본은, 서블릿은 서버가 생성 액세스 할 이번이 처음이다.

  그냥 서블릿 유형, 서버는 객체의 하나의 인스턴스를 생성, 예 : http 우리의 첫 번째 방문에서 : // localhost를 : 8080 /였던 aServlet, 서버를 통해 "/였던 aServlet"는 서블릿 cn.itcast.servlet.AServlet의 이름을 찾기 위해 결합 할 때, 서버는 생성되지 않은 경우, 서버가 반사에 의해 AServlt의 인스턴스를 생성합니다, 서블릿의이 유형이 작성되었는지 여부를 확인. 우리는 다시 방문 할 때

cn.itcast.servlet.AServlet는 서버가 다시였던 aServlet 인스턴스를 생성 아니라 직접 만든 마지막 인스턴스를 사용하지 않습니다.

  서블릿이 생성 된 후, 서버는 서블릿 공극 INIT (ServletConfig를 구성)에있어서 즉시 호출한다. , 서블릿 호출 초기화 () 메소드 직후에 생성 된 개체의 인스턴스와 Servlt의 기억

이 메소드는 평생 한 번이라고합니다. 이 방법은 한 번만 호출됩니다.

  우리는 아버지 초기화에서 서블릿의 초기화의 수 () 메소드 할 수있다!

 

2.Servlet 서비스

  서버가 요청을 수신 할 때마다, 상기 요청을 처리하는 서블릿 서비스 () 메소드를 호출한다. 서버가 요청을 받으면, 그것을 seviet ()에있어서 한번 사용 서비스 () 메소드를 호출할지 여러 번 호출한다.

그것은 바로이 때문에, 그래서 우리는 service () 메소드의 요청을 처리하는 코드를 작성해야!

 

3.Servlet 파괴

  서버가 종료 될 때 서블릿은 보통 파괴했다. 서버가 종료되면, 서버는 서블릿 () 메소드 서블릿을 파괴 서블릿 호출을 파괴하기 전에, 우리는 마지막 말을 서블릿 수, 파괴 갈 것입니다

속으로는 예를 들어, 파괴 () 메소드에 코드와 같은 특정 자원의 릴리스를 () 메소드를 파괴한다.

   

@Override
     공공  무효 () {파괴
         // 기본적으로 NOOP은 
    } 

    / ** 
     * 지정된 값이 포함 된 <코드> 문자열 </ code>를 반환 
     * 초기화 매개 변수, 또는 <코드> 널 (null) </ code>를 매개 변수의 경우 하지 않습니다 
     * 존재한다. 참조 { @link ServletConfig를 # getInitParameter을}. 
     * <p> 
     *이 방법은 편리하게 공급된다. 그것은 이름의 값을 얻을 수 
     서블릿의 <코드> ServletConfig를 </ 코드> 개체에서 * 매개 변수를. 
     * 
     * @param의 이름  
     *의은 <코드> 문자열 </ 코드> 특정 이름
     * 초기화 매개 변수 
     *의 @return문자열은 <코드> 문자열 </ 코드>의 값을 포함 
     * 초기화 파라미터 
     * / 
    @Override 
    공개 문자열 getInitParameter (캐릭터 명) {
         반환 .에 getServletConfig () getInitParameter (이름); 
    } 

    / ** 
     * int로서 서블릿의 초기화 파라미터의 이름을 돌려줍니다 
     * <코드> <코드> 문자열 </ 코드> 개체 또는 빈의 열거 </ 코드> 
     * <코드> 열거 </ 코드>의 경우 서블릿 초기화 파라미터가없는. 
     * {참조 @link 된 ServletConfig 번호의은 getInitParameterNames을}. 
     * <
     *이 방법은 편리하게 공급된다. 그것은에서 매개 변수 이름을 얻는다
     * 서블릿의 <코드> ServletConfig를 </ 코드> 객체입니다. 
     * 
     * @return <코드> 문자열 </ 코드> 객체 열거 열거 
     * 서블릿의 초기화 파라미터의 이름 함유 
     * / 
    @Override 
    공개 열거 <문자열> 은 getInitParameterNames () {
         반환 .에 getServletConfig을 ()를은 getInitParameterNames (); 
    } 

    / ** 
     * 반환이 서블릿의 { @link ServletConfig를} 객체입니다. 
     * 
     * @ 반환은의 <코드> ServletConfig를 ServletConfig를 </ 코드> 객체 
     초기화이 서블릿 * 
     * / 의 <코드>의 ServletContext </ 코드>의 ServletContext
    @Override 
    공개 된 ServletConfig에 getServletConfig는 () {
         반환 설정; 
    } 

    / ** 
     *은 {에 대한 참조를 돌려줍니다 @link 이 서블릿이있는 ServletContext를} 
     * 실행됩니다. 참조 { @link ServletConfig를 # getServletContext을}. 
     * <p> 
     *이 방법은 편리하게 공급된다. 그것은에서 컨텍스트 도착 
     * 서블릿의 <코드> ServletConfig를 </ 코드> 개체를. 
     * 
     * @return 
     *의 <코드>이 서블릿에 의해 초기화 </ 코드> 방법 
     * / 
    @Override 
    공공 의 ServletContext getServletContext () {
         .에 getServletConfig () getServletContext (); 
    } 

    / ** 
     * 작성자, 버전, 등, 서블릿에 대한 정보를 반환 
     * 저작권. 기본적으로이 방법은 빈 문자열을 반환합니다. 이 오버라이드 (override) 
     가 의미있는 값을 반환하도록 * 방법. 참조 
     * { @link 서블릿 #하는 getServletInfo}. 
     * 
     * @return 이 서블릿에 대한 문자열 정보를 기본적으로 빈 문자열
      * / 
    @Override 
    공공문자열하는 getServletInfo () {
         반환 "" ; 
    }

 

 

 

 

 

 

 

    

   

 

   

 

 

 

 

 

 

    

    

    

   

    

추천

출처www.cnblogs.com/sacai/p/11618604.html