준호씨의 블로그

tomcat9, servlet4 옛 방식인 web.xml 로 페이지 추가하기 본문

개발이야기

tomcat9, servlet4 옛 방식인 web.xml 로 페이지 추가하기

준호씨 2020. 3. 30. 22:27
반응형

 

 

간단한 servlet 프로젝트 만들기. tomcat9, servlet4. maven, IntelliJ

이번 글에서는 tomcat9와 servlet4를 이용한 간단한 프로젝트를 만들어 보려고 합니다. tomcat 버전과 servlet 버전의 관계를 확인하려면 http://tomcat.apache.org/whichversion.html에서 확인할 수 있습니다...

junho85.pe.kr

지난 글에서 tomcat9, servlet4로 간단한 프로젝트를 만들어 보았습니다.

참고로 Application context값은 기존 /simple_servlet_Web_exploded였던 것을 /servlet으로 짧게 수정했습니다. url이 너무 길어서 보기 안 좋더라고요.

servlet3부터는 @WebServlet annotation을 이용하면 web.xml 설정할 필요 없이 페이지를 추가할 수 있습니다. 하지만 servlet 2.5까지 많이 사용하던 web.xml 에 페이지를 추가하는 방식도 여전히 제공하고 있는데요. 예전 방식으로 페이지를 추가해 보겠습니다.

servlet 파일을 다시 만들기는 귀찮으니 기존 파일을 cmd + c, v 해서 복사해 줍니다. 편의상 MyServlet2로 하겠습니다.

 

@WebServlet("/MyServlet") 부분은 삭제합니다. 그리고 기존 내용과 구분하기 위해 Hello World! 를 Hello World 2!로 고쳐줍니다.

package kr.pe.junho85;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class MyServlet2 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<h1>Hello World2!</h1>");
    }
}

tomcat을 재시작하고 http://localhost:28080/servlet/MyServlet2로 접속해 봅니다.

Hello World 2! 가 잘 나오는 것을 확인할 수 있습니다. 기존에 web.xml로 페이지를 작성했던 레거시 프로젝트가 있다면 단계적으로 annotation 방식으로 바꿔나가 보는 것도 괜찮아 보입니다.

프로젝트 소스코드는 조금 고쳐서 https://github.com/junho85/servlet-study에 올려 두었습니다.

반응형
Comments