서블릿은 클라이언트의 요청에 응답하는 기술입니다. 웹 서버에서 실행되고, 서버에 의해 인스턴스화되며, 클라이언트가 보낸 요청에 따라 해당 메서드를 호출하는 클래스입니다.
qHTTP 서블릿의 기본 지식 이해
q서블릿 API 사용
q서블릿의 라이프사이클 이해
qJBuilder2005를 사용하여 서블릿 시연< /p>
이 장에서는 먼저 클라이언트 요청에 응답하는 서블릿의 역할을 이해하고, 클라이언트 요청에 응답할 때 서블릿의 작동 메커니즘을 이해해야 합니다. 클라이언트를 처리하기 위해 서버에 의해 호출됩니다. 각 메서드를 자세히 살펴본 다음 메서드에 나타나는 일부 클래스를 확인한 다음 이러한 클래스가 달성하는 데 사용되는 기능을 이해합니다. (아이디어 이해)
지식 포인트:
1. 수명 주기(이 섹션에서는 서블릿이 호출되는 시기와 클라이언트 요청을 처리하는 데 사용되는 방법을 이해합니다. 호출 시간의 역할과 기능.)
수명 주기: (핵심 사항)
인스턴스화————————>초기화——>서비스——> 파괴——>사용할 수 없음
| |
컨테이너가 서블릿 인스턴스를 생성함() destroy() | >
2 HttpServlet 클래스에서는 doGet() 및 doPost()를 사용하여 클라이언트 가져오기 요청과 게시 요청을 각각 처리합니다.
3. 서블릿 애플리케이션 아키텍처
서블릿의 각 메소드가 호출되는 시점을 이해한 후 각 메소드에서 사용되는 클래스가 무엇인지 살펴보고 언제 사용할지 결정해 보겠습니다. 이 수업.
전체 서블릿 애플리케이션에서 모든 클래스는 servlet-API를 구성합니다.
ServletInputStream 클래스
이 클래스에 의해 생성된 객체는 클라이언트 읽기 요청에 사용됩니다. 바이너리 데이터. (목적에 따라 이 클래스를 언제 사용할지 결정됩니다. 이제 클라이언트의 요청에서 데이터를 읽으려면 이 클래스 사용을 고려해야 합니다.)
ServletOutputStream 클래스
이 클래스는 다음 용도로 사용됩니다. 바이너리 데이터를 클라이언트에 전송합니다. 해당 클래스에는 print()가 있으며 println() 메서드를 사용하여 클라이언트에 출력할 수 있습니다.
ServletRequest 인터페이스
이 인터페이스 객체는 클라이언트 요청 정보를 받아들이는 데 사용됩니다. 해당 하위 인터페이스 HttpServletRequest는 doGet() 메서드에서 매개변수로 사용되어 서블릿 컨테이너가 전달한 클라이언트 요청을 수락합니다. 즉, 서블릿 컨테이너는 클라이언트 요청을 HttpServletRequest 유형 객체로 캡슐화하고 이를 doGet() 메서드에 전달합니다. 이 메소드의 HttpServletRequest 매개변수에 의해 승인됩니다.
ServletResponse 인터페이스,
이 인터페이스는 클라이언트로 전송된 응답을 수락하는 데 사용됩니다. 해당 하위 인터페이스 HttpServletResponse는 Servelt 컨테이너가 전달한 클라이언트에 대한 응답을 수락하기 위해 doGet() 메서드의 매개 변수로 사용됩니다.
즉, 서블릿 컨테이너는 클라이언트에 대한 응답을 표현하기 위해 HttpServletReponse 유형의 객체를 생성하고 이를 doGet() 메서드에 전달합니다. 그런 다음 doGet() 메서드에서 객체를 설정하여 클라이언트에 대한 응답을 설정할 수 있습니다.
HttpServletRequest 인터페이스(키)
HttpServletResponse 인터페이스(키)
ServletConfig 인터페이스
이 인터페이스 객체는 서블릿 구성을 전송하는 데 사용됩니다. 정보 . web.xml에서 서블릿에 대한 구성 정보를 구성했으며, 서블릿이 인스턴스화되면 서블릿 컨테이너는 web.xml에서 서블릿에 대한 초기화 정보를 추출하고 이를 ServletConfig 유형의 객체로 캡슐화하여 init( )방법. (그러면 init() 메소드의 이 객체를 통해 서블릿의 초기화 정보를 얻을 수 있습니다.)
ServletContext 인터페이스(핵심 포인트)
이 인터페이스는 라이프 사이클 객체를 생성하는 데 사용됩니다. 전체 애플리케이션에 대해 이를 사용하여 애플리케이션 전체에서 사용할 일부 변수를 저장합니다.
각 애플리케이션에 대해 서블릿 컨테이너는 애플리케이션이 더 이상 서버에 게시되지 않을 때까지 존재하는 ServletContext 유형의 객체를 생성합니다. 그런 다음 이 개체를 사용하여 애플리케이션 수명 주기 전반에 걸쳐 존재할 일부 변수를 저장할 수 있습니다.
특정 범위에 저장할 변수가 있는 경우에는 HttpRequestServlet 객체가 생성된 각 요청마다 클라이언트별로 생성된 HttpSession 객체(세션)와 객체를 구별, 접촉, 비교하는 데 주의하세요. ; 각 페이지에 대해 생성된 PageContext 객체(페이지)