2010-01-20 9 views
1

서블릿을 공부 중입니다. 서블릿은 자바 프로그램이지만 서블릿에는 생성자가 없습니다 ... 아무도 그것에 대해 자세히 설명 할 수 있습니까?왜 서블릿에 생성자가 없습니까?

+0

당신이 잘못 읽은 서버는 자바 프로그램이 아니며, 클래스이고 모든 클래스에는 기본 no-arg 생성자 인 경우에도 최소한 1 개의 생성자가 있습니다. –

답변

9

다른 Java 클래스와 동일하지만 호출 할 필요가 없습니다. 웹 컨테이너가 귀하를 대신해 전화 할 것입니다.

대부분의 서블릿은 인스턴스 데이터를 보유하지 않으므로 생성자에서 대부분의 코드를 추가하는 것은 의미가 없습니다.

2

서블릿을 초기화해야하는 경우 init 메소드를 무시해야합니다.

1

서블릿에는 생성자가 있습니다 (예 : HttpServlet). 일반적으로 웹 컨테이너가이를 호출합니다. 당신이 서블릿을 구현하는 경우

0

야 우리가 확실히 생성자를 가질 수있다 (당신이 HttpServlet 이외의 작업하는 경우, 또는 service() 방법)

그러나, 당신은 일반적으로 단지 doGet()doPost() 메서드를 재정의와 우려 servlet.Even에서 초기화 목적으로 서블릿에서 컨스트럭터를 사용할 수 있지만 이러한 유형의 승인은 그리 일반적이지 않습니다. 평소와 마찬가지로 생성자로 일반적인 작업을 수행 할 수 있습니다. 유일한 방법은 생성자를 명시 적으로 호출 할 수 없다는 것입니다. 새 키워드를 사용합니다. 서블릿 서블릿 컨테이너의 경우 서블릿을 인스턴스화해야하므로 생성자도 서블릿 컨테이너에서만 호출됩니다.

0

물론 우리는 서블릿 내부에 생성자를 가질 수 있지만 생성자 서블릿을 정의 할 때 유일한 단점은 초기 매개 변수를 얻을 수 없으므로 init() 메소드를 사용하여 서블릿을 초기화하는 것입니다.

관련 문제