Servlet 파일 생성

softpeter·2021년 5월 5일
0
post-thumbnail

Servlet 프로젝트 환경설정

web.xml 방식

web.xml : Servlet 프로젝트 환경설정 파일

1. main > New > Directory

2. java > New > Package

3. org.example(Package) > Java Class

메인 영역에 Servlet 파일 통해서 Servlet Class 추가
Servlet Class 개발하기 위한 라이브러리는 pom.xml에 추가해서 추가 작업 없음

모든 Servlet Class는 HTTpServlet 상속 필수

Servlet Class가 가춰야할 서비스 함수가 필요

  • doGet, doPost 오버라이딩 된 것을 사용

HelloServlet (main > java > org.example)

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // ContentType 설정
        resp.setContentType("text/html;charset=UTF-8");
        // 문자 출력을 위한 객체 생성
        PrintWriter out = resp.getWriter();
        out.println("Hello, there?");
        out.close();
    }
}

모든 Servlet Class 완성 후 본 프로젝트에서 해당 Servlet Class를 사용하기 위해 web.xml 파일에 등록이 필요

web.xml (main > webapp > WEB-INF)

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>hello-servlet</servlet-name>
    // 어디있는지 파일 명시
    <servlet-class>org.example.HelloServlet</servlet-class>
  </servlet>
  // URL 매핑을 위한 설정
  <servlet-mapping>
    <servlet-name>hello-servlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>
</web-app>

Annotation(어노테이션) 방식

xeb.xml 파일에 등록했던 Web Mapping 작업을 어노테이션 방식으로 구현

HelloServlet2 (main > java > org.example)

@WebServlet("/HelloServlet2")
public class HelloServlet2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        resp.setContentType("text/html;charset=UTF-8");
        PrintWriter out = resp.getWriter();
        out.println("Hi, there!!");
        out.close();
    }
}
profile
dev.Back-end | Aal izz well

0개의 댓글