[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를 설정하는 부분인데요 톰캣을 이용해서 작업을 할 예정입니다.
톰캣 설정 방법이 궁금하시면 아래 링크를 참고 해 주세요
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생성시 정의한 맵핑 값이 찍히는 것을 확인 할 수 있습니다.)
콘솔창에는 위에 정의한 콘솔 입력 값이 출력되는 것을 확인 할 수 있습니다.
다음 포스팅에서는 서블릿 맵핑을 하는 방법에 대해서 알아보겠습니다.
'Java&JSP&Spring > JSP&Servlet' 카테고리의 다른 글
[WAS/Tomcat]컨텍스트 패스(Context Path)란 무엇인가? (0) | 2022.01.22 |
---|---|
[JAVA/Servlet]Servlet에서 URL맵핑하는 2가지 방법 (0) | 2022.01.16 |
[JAVA/JSP]JSP파일의 아키텍처 (0) | 2022.01.16 |
[JAVA/JSP]JSP간단하게 만들고 실행해보기 (1) | 2022.01.16 |
[JAVA/JSP]로컬 환경에 웹 어플리케이션 서버(WAS) Tomcat설치하기 (0) | 2022.01.15 |