본문 바로가기

Java&JSP&Spring/JSP&Servlet

[JAVA/Servlet]Servlet간단하게 만들고 실행해보기

[JAVA/JSP/Servlet]Servlet간단하게 만들고 실행해보기

안녕하세요 미나라이입니다.

이번에는 간단하게 Servlet프로젝트 생성 및 실행을 해보도록 하겠습니다.

프로젝트 환경

OS : Windows 10

IDE : Eclipse 2020-06 (4.16.0)

Java : 8

Jdk Version : 1.8.0_161

WAS : Tomcat 8.5.73

Servlet특징

동적인 웹 어플리케이션 컴포넌트

확장자는 .java

클라이언트의 요청에 동적으로 작동하고 응답은 HTML을 이용

java thread를 이용하여 동작

MVC의 Controller부분

프로젝트 생성

서블릿을 작성하기 위해서는 먼저 프로젝트를 생성 해 주어야겠지요

프로젝트 생성은 JSP와 비슷하게 진행됩니다.

File - New - Project탭을 선택합니다.

그럼 아래와 같은 목록이 뜨는데

Web의 Dynamic Web Project를 선택합니다.

그럼 이렇게 여러가지 초기 화면이 보이는데요

 

Project Name

프로젝트 이름을 적어줍니다.

 

Project location

Workspace의 경로인데요 이클립스 디폴트 값이 정의가 되어있습니다.

 

Target runtime

해당 프로젝트를 구동할 WAS를 설정하는 부분인데요 톰캣을 이용해서 작업을 할 예정입니다.

톰캣 설정 방법이 궁금하시면 아래 링크를 참고 해 주세요

 

[JAVA/JSP]로컬 환경에 웹 어플리케이션 서버(WAS) Tomcat설치하기

[JAVA/JSP]로컬 환경에 웹 어플리케이션 서버(WAS) Tomcat설치하기 안녕하세요 미나라이 입니다. JSP/Servlet을 이용한 포스팅을 하기에 앞서 필수 준비사항인 톰캣을 설치 해 보려고 합니다. 프로젝

nameybs.tistory.com

 

Dynamic web module version

Servlet API의 버전을 넣는 곳입니다.

이부분은 Tomcat의 버전에 따라 서포트를 안해주는 경우가 있기 때문에 아래 자료를 보고 확인 하시면 됩니다.

Configuration

톰캣 Config파일을 읽는 부분이라고 합니다.

 

입력을 마치면 Next를 누릅니다.

아래 화면에서는 자바 화면이 빌드되는 경로를 표시합니다. 

그냥 Next를 눌러서 넘어갑시다.

그럼 아래 와 같이 화면이 뜨는데요

Context root

웹 프로젝트의 루트 경로를 표시하는 부분입니다.

만약 localhost:8081의 경우 해당 프로젝트의 루트 경로는 localhost:8081/ServletTest1이 되는겁니다.

 

Content directory

JSP파일이 위치하는 경로를 표시합니다.

 

Generate web.xml deployment descriptor를 체크합니다.

서블릿 맵핑을 할 때 필요한 부분입니다.

 

입력을 마치면 Finish를 누릅니다.

프로젝트를 생성하면 아래와 같이 나오게 되는데요

위에서 web.xml파일 생성에서 체크를 눌러주었기 때문에 web.xml이 추가 된 것을 확인 할 수 있습니다.

Servlet문서를 작성 해 봅시다.

프로젝트 폴더 우클릭 - New - Servlet을 선택합니다.

그럼 아래와 같은 창이 뜨는데요

 

Java package

서블릿 문서 작성되는 패키지를 적습니다

 

Class name

서블릿 문서 파일의 이름을 적습니다

 

Superclass

기본적으로 서블릿 파일은 HttpServlet클래스를 상속받습니다.

그대로 두셔도 됩니다.

 

입력을 완료 후 Next를 누릅니다.

그러면 이렇게 아래와 같은 창이 나오는데

이부분은 맵핑을 하는 부분입니다.

디폴트는 서블릿 클래스 값이 정의가 되는데

이름을 변경 할 수 있습니다.

URL맵핑 값을 바꿔보았습니다.

맵핑 값은 굳이 안바꾸셔도 됩니다.

Next를 눌러서 다음 창으로 이동을 합니다.

그러면 이렇게 마지막 설정창이 나오는데요

이부분에는 Servlet클래스에 기본적으로 정의되는 메소드가 정의되어 있습니다.

일단은 디폴트로 둡니다.

Finish를 눌러서 창을 닫습니다.

그러면 이렇게 Servlet페이지가 작성 된 것을 확인 할 수 있습니다.

HelloWorld.java

여기에 간단하게 콘솔 출력 메세지를 적고 실행을 해 봅시다.

package com.test;

import java.io.IOException;
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 HelloWorld
 */
// 맵핑한 데이터
@WebServlet("/HWorld")
public class HelloWorld extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    // 디폴트로 설정한 생성자
    public HelloWorld() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
    // 디폴트로 설정한 메소드
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// 테스트 값 출력
        System.out.println("Hello World!");
        // TODO Auto-generated method stub
		response.getWriter().append("Served at: ").append(request.getContextPath());
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
    // 디폴트로 설정한 메소드
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

해당 Servlet파일을 우클릭 - Run As - Run on Server를 선택합니다.

실행을 하면 이렇게 브라우저가 뜨고

(URL을 확인해보면 프로젝트명/Servlet생성시 정의한 맵핑 값이 찍히는 것을 확인 할 수 있습니다.)

콘솔창에는 위에 정의한 콘솔 입력 값이 출력되는 것을 확인 할 수 있습니다.

다음 포스팅에서는 서블릿 맵핑을 하는 방법에 대해서 알아보겠습니다.

728x90
반응형