서블릿 인스턴스


서블릿은 HTTP 요청을 처리하고 javax.servlet.Servlet 인터페이스를 구현하는 Java 클래스입니다. 웹 애플리케이션 개발자는 일반적으로 javax.servlet.http.HttpServlet을 확장하는 서블릿과 특별히 HTTP 요청을 처리하기 위해 서블릿 인터페이스를 구현하는 추상 클래스를 작성합니다.

Hello World 샘플 코드

다음은 Hello World를 출력하기 위한 서블릿의 샘플 소스 코드입니다.

// 导入必需的 java 库
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// 扩展 HttpServlet 类
public class HelloWorld extends HttpServlet {
 
  private String message;

  public void init() throws ServletException
  {
      // 执行必需的初始化
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // 设置响应内容类型
      response.setContentType("text/html");

      // 实际的逻辑是在这里
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }
  
  public void destroy()
  {
      // 什么也不做
  }
}

Compile Servlet

위와 같이 작성해 보겠습니다. HelloWorld.java 파일의 코드를 작성하려면 이 파일을 C:ServletDevel(Windows의 경우) 또는 /usr/ServletDevel(UNIX의 경우)에 배치하세요. 또한 이러한 디렉터리를 CLASSPATH에 추가해야 합니다.

환경이 올바르게 설정되었다고 가정하고 ServletDevel 디렉토리로 이동하여 다음과 같이 HelloWorld.java를 컴파일합니다.

$ javac HelloWorld.java

서블릿이 다른 라이브러리에 의존하는 경우, CLASSPATH에 해당 JAR 파일을 포함해야 합니다. 여기서는 Hello World 프로그램에서 다른 라이브러리를 사용하지 않기 때문에 servlet-api.jar JAR 파일만 포함했습니다.

이 명령줄은 Sun Microsystems Java 소프트웨어 개발 키트(JDK)에 내장된 javac 컴파일러를 사용합니다. 이 명령이 올바르게 작동하려면 PATH 환경 변수에 사용되는 Java SDK의 위치가 있어야 합니다.

모든 것이 순조롭게 진행된다면 위의 컴파일은 동일한 디렉터리에 HelloWorld.class 파일을 생성합니다. 다음 섹션에서는 컴파일된 서블릿이 프로덕션 환경에 배포되는 방법을 설명합니다.

서블릿 배포

기본적으로 서블릿 애플리케이션은 <Tomcat-installation-directory>/webapps/ROOT 경로에 있으며, 클래스 파일은 <Tomcat-installation에 있습니다. -디렉토리> /webapps/ROOT/WEB-INF/classes.

정규화된 클래스 이름 com.myorg.MyServlet이 있는 경우 이 서블릿 클래스는 WEB-INF/classes/com/myorg/MyServlet.class에 있어야 합니다.

이제 HelloWorld.class를 <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes에 복사하고 <Tomcat-installation-directory>/webapps/에 배치하겠습니다. 다음을 생성합니다. ROOT/WEB-INF/의 web.xml 파일에 있는 항목:

    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>

위 항목은 web.xml 파일의 <web-app>에 생성됩니다. .</web-app> 이 파일에는 이미 다양한 항목이 있을 수 있지만 상관하지 마세요.

이제 기본적으로 완료되었습니다. 이제 <Tomcat-installation-directory>binstartup.bat(Windows의 경우) 또는 <Tomcat-installation-directory>/bin/startup sh( Linux/Solaris 등) Tomcat 서버를 시작하고 마지막으로 브라우저 주소 표시줄에 http://localhost:8080/HelloWorld를 입력합니다. 모든 것이 순조롭게 진행되면 다음과 같은 결과가 표시됩니다.

servlet-example.jpg