> Java > java지도 시간 > 서블릿 메소드

서블릿 메소드

王林
풀어 주다: 2024-08-30 16:23:42
원래의
854명이 탐색했습니다.

서블릿 방식은 사용자 요구 사항에 따라 웹 애플리케이션을 생성, 운영 및 유지 관리하는 서블릿 수명 주기의 필수적인 부분입니다. 서블릿 메소드는 웹 애플리케이션의 작업 주기를 생성, 초기화, 처리 및 종료합니다. 서블릿 메소드는 운영 애플리케이션을 개발하고 서블릿 라이프사이클을 운영하기 위해 웹 컨테이너를 호출하는 데 사용되는 중요한 기능입니다. 서블릿은 요청을 보내고, 서버로부터 응답을 받고, 필요에 따라 작업을 수행하는 다양한 방법을 제공합니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA SERVLET - 전문 분야 | 18개 코스 시리즈 | 6가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

서블릿 메소드 개요

서버 측 구성 요소인 서블릿은 서버 측 앱을 만드는 데 사용할 수 있는 강력한 도구입니다. 서블릿을 사용하여 웹 기반 애플리케이션을 구축하는 것은 CGI 프로그램의 성능 제한이 없는 구성 요소 기반의 플랫폼 독립적 솔루션입니다. 웹 개발자는 서블릿을 사용하여 빠르고 효과적으로 서버 측 애플리케이션을 만들 수 있으며 이러한 앱은 서블릿을 지원하는 모든 웹 서버에서 작동할 수 있습니다. Java 가상 컴퓨터 내에서 서블릿이 작동할 수 있습니다. 서버에서 서블릿이 실행되는 동안 브라우저의 호환성 테스트는 수행되지 않습니다.

서블릿은 엔터프라이즈 데이터베이스 액세스를 위한 JDBC API를 포함하여 Java API 제품군에 액세스할 수 있습니다. javax.servlet 및 javax.servlet.http 패키지의 여러 Java 클래스는 서블릿 HTTP 프로토콜을 사용합니다. 또한 서블릿은 HTTP 관련 호출 라이브러리에 액세스할 수 있으며 이식성, 성능, 재사용 및 충돌 방지와 같은 Java 언어의 모든 성숙한 기능을 활용할 수 있습니다.

다양한 서블릿 메소드

일반 서블릿은 운영 서블릿 수명주기에서 다음 5가지 방법을 사용하고 운영합니다.

1. 서블릿 초기화() 메소드

서블릿 컨테이너는 서블릿 작업에서 init() 메서드를 한 번만 호출합니다. 이 inits() 메소드는 서블릿에 서비스를 시작했음을 알립니다.

init 메소드와 함께 다음 조건 중 하나를 사용해야 합니다:;[p 'mi;/.

  • 조건과 함께 ServletException이 발생합니다.
  • 웹 서버는 고정된 시간 제한을 지정합니다.

구문:

public void init(ServletConfig configs) throws ServletException{
//initialize servlet object and parameters.
}
로그인 후 복사

초기화 기능과 기본 서블릿 설정이 포함된 ServletConfig 객체는 오류가 발생한 경우 ServletException을 발생시키는 init() 메서드로 전달됩니다.

2. 서블릿 서비스() 메소드

서블릿이 요청 수신을 시작하면 서블릿 컨테이너는 service() 메서드를 호출하여 반응할 수 있습니다. Servlet 컨테이너는 또한 ServletResponse를 데이터베이스 및 디스플레이 페이지에 전달합니다.

javax.servlet.ServletRequest와 javax.servlet.ServletResponse라는 두 객체는 ​​클라이언트 요청에 대한 서블릿 프로세스를 돕습니다.

구문:

public void service(ServletRequest requests, ServletResponse responses) throws ServletException{
//Pass servlet object and parameters.
}
로그인 후 복사

3. 서블릿 getServletConfig() 메소드

서블릿 컨테이너는 ServletConfig()라는 서블릿 메소드를 생성합니다. 객체 생명주기 초기화 과정에서 서블릿에 제공됩니다. 여기에는 일부 초기 매개변수 또는 구성 데이터가 포함되어 있습니다. web.xml에 서블릿별 정보를 저장하는 것을 권장합니다.

구문:

public String getServletConfig(){
// Add servlet code.
}
로그인 후 복사

4. 서블릿 getServletInfo() 메소드

서블릿 메소드는 컨테이너의 서블릿 정보를 표시하거나 반환합니다. 이 정보는 동작을 위한 서블릿 컨테이너에서 확인할 수 있습니다.

구문:

public String getServletInfo(){
// Add servlet code.
}
로그인 후 복사

5. 서블릿 destroy() 메소드

서블릿 파괴 메소드는 서블릿 수명 주기와 연결을 닫는 데 사용됩니다. 필요한 출력을 표시한 후 서블릿 기능을 종료합니다.

구문:

public void destroy(){
// End servlet connections.
}
로그인 후 복사

서블릿 메소드 예시

다음 예는 서블릿의 다양한 메소드와 작업별 출력을 보여줍니다.

예시 #1

Hello World 서블릿 메소드 예제 및 출력

HelloOutput.java:

코드:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloOutput implements Servlet {
private static final long serialVersionUID = 1L;
public HelloOutput() {
}
ServletConfig configurates=null;
@Override
public void init(ServletConfig configurates) throws ServletException {
this.configurates = configurates;
System.out.println("Servlet Object initializes here.");
}
@Override
public void destroy() {
System.out.println("Close connection and End process here.");
}
@Override
public ServletConfig getServletConfig() {
return configurates;
}
@Override
public String getServletInfo() {
return "Educba Website";
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printout = response.getWriter();
printout.println("<h2>Hello World First Example using " +
"Servlet Methods.</h2>");
printout.close();
}
}
로그인 후 복사

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name> HelloOutput </servlet-name>
<servlet-class>
com.educba.learn.HelloOutput
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloOutput </servlet-name>
<url-pattern> /HelloOutput </url-pattern>
</servlet-mapping>
</web-app>
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력:

서블릿 메소드

예시 #2

getServletInfo() 메소드 출력을 사용한 서블릿 메소드 예시

HelloOutput.java:

코드:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloOutput implements Servlet {
private static final long serialVersionUID = 1L;
public HelloOutput() {
}
ServletConfig configurates=null;
@Override
public void init(ServletConfig configurates) throws ServletException {
this.configurates = configurates;
System.out.println("Servlet Object initializes here.");
}
@Override
public void destroy() {
System.out.println("Close connection and End process here.");
}
@Override
public ServletConfig getServletConfig() {
return configurates;
}
@Override
public String getServletInfo() {
return "Educba Website";
}
@Override
public void service(ServletRequest requests, ServletResponse responses)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printout = response.getWriter();
printout.println("<h2>Hello World First Example using " + getServletInfo() +
".</h2>");
printout.close();
}
}
로그인 후 복사

web.xml:

코드:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name> HelloOutput </servlet-name>
<servlet-class>
com.educba.learn.HelloOutput
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloOutput </servlet-name>
<url-pattern> /HelloOutput </url-pattern>
</servlet-mapping>
</web-app>
로그인 후 복사
로그인 후 복사
로그인 후 복사

출력:

서블릿 메소드

예시 #3

html 요소와 해당 출력이 포함된 서블릿 메소드 예시

HelloOutput.java:

코드:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class HelloOutput implements Servlet {
private static final long serialVersionUID = 1L;
public HelloOutput() {
}
ServletConfig configurates=null;
@Override
public void init(ServletConfig configurates) throws ServletException {
this.configurates = configurates;
System.out.println("Servlet Object initializes here.");
}
@Override
public void destroy() {
System.out.println("Close connection and End process here.");
}
@Override
public ServletConfig getServletConfig() {
return configurates;
}
@Override
public String getServletInfo() {
return "Educba Website";
}
@Override
public void service(ServletRequest requests, ServletResponse responses)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter printout = response.getWriter();
printout.print("<html><body>");
printout.println("<h5> Simple servlet method example </h5>");
printout.println("<p> Simple servlet method example </p>");
printout.print("</body></html>");
}
}
로그인 후 복사

web.xml:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name> HelloOutput </servlet-name>
<servlet-class>
com.educba.learn.HelloOutput
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> HelloOutput </servlet-name>
<url-pattern> /HelloOutput </url-pattern>
</servlet-mapping>
</web-app>
로그인 후 복사
로그인 후 복사
로그인 후 복사

Output:

서블릿 메소드

Conclusion

The servlet method plays an important role in web application functionality. It shows and defines about server and displays the output.

위 내용은 서블릿 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿