2. Servlet 작성 방법 - accidentlywoo/legacyVue GitHub Wiki

2. Servlet 작성 방법

  • 들어가기 전에 현재 프로젝트에서 웹을 개발할 때 서블릿을 직접 써서 개발하지는 않습니다. 조금 더 편하게 사용할 수 있게 도와주는 다양한 프레임워크를 사용해서 개발하는 경우가 더 많습니다. 하지만, 그 프레임워크들도 서블릿이 없이는 동작할 수 없기 때문에 서블릿의 기본적인 작성법이나, 서블릿의 라이프 사이클을 이해하고 있다면 웹의 동작을 이해하는 데 많은 도움이 됩니다.

학습 목표

  1. 서블릿을 작성할 수 있습니다.
  2. 서블릿 버전에 따른 web.xml을 적절하게 작성할 수 있습니다.

핵심 개념

  • HttpServlet
  • web.xml

학습하기

버전에 따른 Servlet 작성 방법

  1. Servlet 3.0 spec 이상에서 사용하는 방법
  • web.xml 파일을 사용하지 않습니다.
  • 자바 어노테이션(annotation)을 사용합니다.
  • 앞에서 실습했던 First Web에서 사용합니다.
  1. Servlet 3.0 spec 미만에서 사용하는 방법
  • servlet을 등록할 때 web.xml 파일에 등록합니다.

실습 코드 Servlet3.1

TenServlet.java ` package examples;

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class TenServlet */ @WebServlet("/ten") public class TenServlet extends HttpServlet { private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet() */ public TenServlet() { super(); // TODO Auto-generated constructor stub }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); out.print("

      1부터 10까지 출력합니다.

      "); for(int i = 1; i<=10; i++) { out.print(i+"
      "); } out.close(); }

} `

실습코드 Servlet2.5

web.xml `

exam25 index.html index.htm index.jsp default.html default.htm default.jsp TenServlet TenServlet exam.TenServlet TenServlet /ttt `

TenServlet ` package exam;

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

/**

  • Servlet implementation class TenServlet */ public class TenServlet extends HttpServlet { private static final long serialVersionUID = 1L;

    /**

    • @see HttpServlet#HttpServlet() */ public TenServlet() { super(); // TODO Auto-generated constructor stub }

    /**

    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.print("

      1-10까지 출력

      "); for(int i =1;i<11;i++) { out.print(i+"
      "); } out.close(); }

} `

⚠️ **GitHub.com Fallback** ⚠️