Servlet을 구현하기 위해서는 HttpServlet라는 추상 클래스를 상속받아야 합니다. Servlet을 구현하는 방법에 대해서 알아보겠습니다.
지난 시간에 Tomcat 서버 연결에 이어지는 내용이니 못 보신 분들은 아래 링크에서 확인할 수 있습니다.
1. Dynamic Web Project 생성
Dynamic Web Project를 생성합니다.
Project name을 설정합니다. 저는 Day2라고 하겠습니다.
webapp 폴더에서 New - JSP File을 선택한 후, Hello.jsp 로 생성합니다.
Hello.jsp 파일이 성공적으로 생성되었습니다.
2. Hello JSP 출력하기
Hello.jsp 파일을 열어보면
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
다음과 같이 HTML 태그로 이루어져있습니다.
<body>
Hello JSP
</body>
body 태그에 Hello JSP를 넣어봅시다.
성공적으로 실행이 된 것을 볼 수 있습니다.
3. Calendar 예제
Calendar.getInstance()를 활용하여 Calendar 객체를 불러오는 예제를 실행해 보겠습니다.
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.*;
import java.util.Calendar;
public class ServletTest extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
response.setCharacterEncoding("euc-kr");
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
PrintWriter out = response.getWriter();
out.write("<HTML><HEAD><TITLE>ServletTest</TITLE></HEAD>");
out.write("<BODY><H1>");
out.write("현재시각은 ");
out.write(Integer.toString(hour));
out.write("시 ");
out.write(Integer.toString(minute));
out.write("분 ");
out.write(Integer.toString(second));
out.write("초입니다.");
out.write("<H1><BODY><HTML>");
out.close();
}
}
현재 시각을 불러오는 예제입니다. 실행을 하면 콘솔에서 서버가 실행됩니다.
Tomcat 서버가 실행된 것을 Console 창에서 확인할 수 있고
현재 시각이 성공적으로 나오는 것을 볼 수 있습니다.
이번에는 jsp 파일을 webapp 폴더에 생성하여 실행해 보겠습니다.
다음과 같이 JspTest.jsp로 생성하면 됩니다.
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%@page import = "java.util.Calendar"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<%
Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
%>
<meta http-equiv="Content-Type" context="text/html"; charset="EUC-KR">
<title>Servlet Test</title>
</head>
<body>
<h1>현재 시간은 <%=hour %>시 <%=minute %>분 <%=second %>초 입니다.</h1>
</body>
</html>
이렇게 작성하고 실행을 합니다.
성공적으로 출력이 됐습니다.