서블릿 방식은 사용자 요구 사항에 따라 웹 애플리케이션을 생성, 운영 및 유지 관리하는 서블릿 수명 주기의 필수적인 부분입니다. 서블릿 메소드는 웹 애플리케이션의 작업 주기를 생성, 초기화, 처리 및 종료합니다. 서블릿 메소드는 운영 애플리케이션을 개발하고 서블릿 라이프사이클을 운영하기 위해 웹 컨테이너를 호출하는 데 사용되는 중요한 기능입니다. 서블릿은 요청을 보내고, 서버로부터 응답을 받고, 필요에 따라 작업을 수행하는 다양한 방법을 제공합니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA SERVLET - 전문 분야 | 18개 코스 시리즈 | 6가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
서버 측 구성 요소인 서블릿은 서버 측 앱을 만드는 데 사용할 수 있는 강력한 도구입니다. 서블릿을 사용하여 웹 기반 애플리케이션을 구축하는 것은 CGI 프로그램의 성능 제한이 없는 구성 요소 기반의 플랫폼 독립적 솔루션입니다. 웹 개발자는 서블릿을 사용하여 빠르고 효과적으로 서버 측 애플리케이션을 만들 수 있으며 이러한 앱은 서블릿을 지원하는 모든 웹 서버에서 작동할 수 있습니다. Java 가상 컴퓨터 내에서 서블릿이 작동할 수 있습니다. 서버에서 서블릿이 실행되는 동안 브라우저의 호환성 테스트는 수행되지 않습니다.
서블릿은 엔터프라이즈 데이터베이스 액세스를 위한 JDBC API를 포함하여 Java API 제품군에 액세스할 수 있습니다. javax.servlet 및 javax.servlet.http 패키지의 여러 Java 클래스는 서블릿 HTTP 프로토콜을 사용합니다. 또한 서블릿은 HTTP 관련 호출 라이브러리에 액세스할 수 있으며 이식성, 성능, 재사용 및 충돌 방지와 같은 Java 언어의 모든 성숙한 기능을 활용할 수 있습니다.
일반 서블릿은 운영 서블릿 수명주기에서 다음 5가지 방법을 사용하고 운영합니다.
서블릿 컨테이너는 서블릿 작업에서 init() 메서드를 한 번만 호출합니다. 이 inits() 메소드는 서블릿에 서비스를 시작했음을 알립니다.
init 메소드와 함께 다음 조건 중 하나를 사용해야 합니다:;[p 'mi;/.
구문:
public void init(ServletConfig configs) throws ServletException{ //initialize servlet object and parameters. }
초기화 기능과 기본 서블릿 설정이 포함된 ServletConfig 객체는 오류가 발생한 경우 ServletException을 발생시키는 init() 메서드로 전달됩니다.
서블릿이 요청 수신을 시작하면 서블릿 컨테이너는 service() 메서드를 호출하여 반응할 수 있습니다. Servlet 컨테이너는 또한 ServletResponse를 데이터베이스 및 디스플레이 페이지에 전달합니다.
javax.servlet.ServletRequest와 javax.servlet.ServletResponse라는 두 객체는 클라이언트 요청에 대한 서블릿 프로세스를 돕습니다.
구문:
public void service(ServletRequest requests, ServletResponse responses) throws ServletException{ //Pass servlet object and parameters. }
서블릿 컨테이너는 ServletConfig()라는 서블릿 메소드를 생성합니다. 객체 생명주기 초기화 과정에서 서블릿에 제공됩니다. 여기에는 일부 초기 매개변수 또는 구성 데이터가 포함되어 있습니다. web.xml에 서블릿별 정보를 저장하는 것을 권장합니다.
구문:
public String getServletConfig(){ // Add servlet code. }
서블릿 메소드는 컨테이너의 서블릿 정보를 표시하거나 반환합니다. 이 정보는 동작을 위한 서블릿 컨테이너에서 확인할 수 있습니다.
구문:
public String getServletInfo(){ // Add servlet code. }
서블릿 파괴 메소드는 서블릿 수명 주기와 연결을 닫는 데 사용됩니다. 필요한 출력을 표시한 후 서블릿 기능을 종료합니다.
구문:
public void destroy(){ // End servlet connections. }
다음 예는 서블릿의 다양한 메소드와 작업별 출력을 보여줍니다.
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>
출력:
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>
출력:
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:
The servlet method plays an important role in web application functionality. It shows and defines about server and displays the output.
위 내용은 서블릿 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!