Java Servlet #1

Jay·2023년 4월 14일
0

JAVA

목록 보기
1/4
post-thumbnail

서블릿 실습

실습을 한 지는 좀 되었는데 뭘 잘 모르기때문에 정리를 안했었다.
유의미한? 것들이 있었다고 생각되어 정리해본다.

서블릿의 실행

  • WEB-INF디렉토리에는 웹서버가 사용하는 파일이 들어있지만, 외부에서 클라이언트가 직접 접근할 수가 없다.
  • 클라이언트가 서블릿에 접근할 수 있게 하는 두 가지 방법이 있다.

web.xml설정

서블릿을 웹서버에 등록

WEB-INF의 web.xml파일에서 서블릿을 웹서버에 등록해준다.

<servlet>
  <servlet-name>first</servlet-name>
  <servlet-class>com.edu.test.FirstServlet</servlet-class>
</servlet>
  • servlet태그에서는 HttpServlet을 상속받고 있는 클래스를 web.xml에 등록한다.
  • servlet-name태그에서 등록하고자 하는 서블릿의 이름을 부여한다. 여기에서는 이름을 first로 등록하고 있음.
  • servlet-class에서는 서블릿의 경로를 지정해주고 있다고 봄. 여기에서 엇? 했던 부분이 있는데 서블릿을 만들 때는 ServletFirstServlet으로 만들었는데 사용할 때는 처음 적어준 Servlet을 적지 않았다는 점이다.

서블릿을 실행할 URI 지정

<servlet-mapping>
  <servlet-name>first</servlet-name>
  <url-pattern>/hello</url-pattern>
</servlet-mapping>
  • servlet-mapping에서는 상기에 등록한 서블릿을 실행 요청할 시 사용할 URI를 지정한다. servlet태그를 사용했을 때만 사용가능.
  • servlet-name에서는 서블릿의 이름을 지정하는데 이 때는 반드시 servlet-name에서 등록한 것과 같은 이름을 지정해야 한다.
  • url-pattern에서는 서블릿 실행시 사용할 URL을 지정한다.

@WebServlet을 통한 접근

package com.edu.test;

import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;

@WebServlet("/hello")
public class FirstServlet extends HttpServlet {
...
}
  • 어노테이션을 통해 서블릿 클래스선언부 앞에 서블릿 접근시 사용할 URI를 지정한다. web.xml파일에서 servletservlet-mapping 태그는 어노테이션과 중복되지 않도록 주석처리한다.
    (근데 난 주석처리 안 했는데도 잘 쓰고 있음..)
profile
ㄱ이 아닌 개발자가 되고 싶은 사람

0개의 댓글