본문 바로가기
Web/Servlet

[Servlet] Servlet으로 Hello World 페이지 만들기

by EricJeong 2019. 7. 4.

 

2019/07/04 - [Servlet] - [Servlet] 로컬에 Apache Tomcat 7 세팅하기

 

[Servlet] 로컬에 Apache Tomcat 7 세팅하기

Servlet을 세팅하기 위해서는 우선 서버를 설치해야 합니다. 로컬 컴퓨터에 서버를 세팅하는 프로그램중 가장 많이 사용하는 아파치 톰캣을 사용해서 서버를 설치해보겠습니다. 아파치 톰캣을 사용하기 위해서는..

deveric.tistory.com

위 세팅이 완료되어야 Servlet Application 설정이 가능합니다!

 


1. Dynamic Web Project 만들기

 

Ctrl + n을 누른 후 Wizards에 'dina'를 입력하면 'Dynamic Web Project'가 검색됩니다.

Next를 눌러 진행해줍시다.

 

 

Target runtime에 이전에 설정해둔 Apache Tomcat을 선택해 준 후 Next를 눌러 다음으로 넘어갑니다.

 

 

Generate web.xml을 체크해주면 web.xml파일이 자동생성되어 들어가게 됩니다.

Finish를 눌러 종료해 줍시다.

 

2. web.xml 수정하기

 

 

 

web.xml을 다음과 같이 수정해줍니다.

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>DevEricServers</display-name>
  
  <servlet>
  	<servlet-name>hello</servlet-name>
  	<servlet-class>deveric.hello.controller.HelloController</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>hello</servlet-name>
  	<url-pattern>/hello</url-pattern>
  </servlet-mapping>
</web-app>

 

<servlet></servlet>에는 실제 서블랫 클래스가 위치한 경로를 명시해야합니다.

명시된 경로는 <servlet-name>으로 mapping시켜주어야 합니다
<servlet-mappint></servlet-mapping>에서는 실제로 요청을 받을 url을 명시하게 됩니다.

 

서버는 현재 로컬에 위치하고 있으므로 localhost/DevEricServers 가 메인 주소가 되고

mapping된 url  localhost/DevEricServers/hello가 됩니다.

 

여기까지 완료하였으면 Java Resources/src에 package를 만들어야합니다.

 

package 이름은 <servlet-class>에 명시된 경로를 따라가야 합니다.

 

아래 사진에 있는 부분을 복사한 후 커서를 Java Resources/src에 놓은 후 package를 만들 때 붙여넣기 해주시면 편하게 만들 수 있습니다.

 

3. Servlet Class 만들기

 

 

 

이제 패키지에 서블릿 클래스를 제작하여야 합니다.

클래스 이름 또한 web.xml에 명시된 이름대로 만들어야 합니다.

서블릿 클래스는 HttpServlet을 상속받도록 제작해줍니다.

 

 

 

 

정상적으로 만들어졌다면 다음과 같이 클래스가 만들어지게 됩니다.

 

 

 

doGet() 또는 doPost()를 오버라이딩 하여 생성해줍시다.

doGet()은 GET방식으로 요청이 왔을 때 실행이 되고,

doPost()는 POST방식으로 요청이 들어왔을 때 실행이 됩니다.

 

doGet() 메서드를 오버라이드 하여 다음과 같이 수정해 주시면 됩니다.

@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		PrintWriter out = resp.getWriter();
		out.println("<html>");
		out.println("<body>");
		out.println("Hello!!! World!!!");
		out.println("</body>");
		out.println("</html>");
	}

클라이언트가 요청한 내용은 HttpServletRequest로 들어오고, 클라이언트에게 응답하는 내용은 HttpServletResponse를 통해서 할 수 있습니다.

HttpServletResponse에 들어있는 PrintWriter의 println()메서드를 이용하면

클라이언트에게 해당 내용의 html문서를 만들어 응답하게 됩니다.

 

이제 제작한 내용을 서버에 등록해야 합니다.

제작해 놓은 서버를 우클릭 한 후 Add and Remove를 클릭해주세요.

 

 

작업을 마친 후 Debbug 모드를 실행하게 되면 다음과 같은 창이 나오게 됩니다.

 

댓글