[Serlvet] 서블릿 이해

dooboocookie·2022년 9월 29일
0

JSP/Sevlet

목록 보기
3/4

Servlet

  • JAVA 클래스를 이용하여 웹 어플레이션을 만드는 기술

구현 과정

  1. Servlet 규약에 따른 자바 클래스를 선언
    • 자바 클래스의 접근지정자 : public
    • javax.servlet.http.HttpServlet 클래스를 상속
    • service(), get(), post() 오버라이딩
  2. .java 파일에 자바 코딩 → 컴파일 → .class 파일 생성
  3. .class 파일 웹 프로젝트에 /WEB-INF/classes 패키지에 위치
    • (이클립스와 같은 IDE를 사용하면 2~3의 과정은 자동으로 이루어짐)
  4. web.xml에 서블릿 클래스 설정 & @WebServlet 어노테이션 사용
  5. 웹 컨테이너인 WAS(톰캣)을 실행
  6. URL로 요청 → URL패턴에 해당되면 응답

web.xml 서블릿 설정

<!--서블릿 클래스를 등록하는 부분-->
<servlet>
  <!--설명-->
  <description>현재 날짜 시간을 나타내는 서블릿</description>
  <!--서블릿 클래스의 이름을 설정(매핑 시 사용)-->
  <servlet-name>now</servlet-name>
  <!--사용할 클래스를 설정-->
  <servlet-class>test.Now</servlet-class>
</servlet>

<!--서블릿 클래스를 매핑하는 부분-->
<servlet-mapping>
  <!--매핑할 서블릿의 이름(위에서 등록한 이름)-->
  <servlet-name>now</servlet-name>
  <!--서블릿 클래스가 매핑될 url 패턴들-->
  <url-pattern>/test/*</url-pattern>
</servlet-mapping>

@WebServlet으로 매핑

package test;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(
  /*서블릿에 대한 설명*/
  description = "@WebServlet 어노테이션 사용 자동 서블릿 등록",
  /*서블릿 클래스가 매핑될 url 패턴들*/
  urlPatterns = {
    "/now",
    "/test/*"
  })
/*HttpServlet 상속 필수*/
public class Now extends HttpServlet {
    public Info() {
        super();
    }
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {}
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}
profile
1일 1산책 1커밋

0개의 댓글