서블릿

[서블릿] 서블릿 프로그래밍 : HelloWorld

기록하는_사람 2022. 11. 15. 13:17

서블릿 프로그래밍 : HelloWorld

📌 서블릿 생성

① src/main/jave 우클릭, New → Other  web  Servlet 

② 패키지 이름과 클래스 이름 설정 후, Next

③ 아래와 같이 설정.

④ 추가 설정과 메서드 생성

 

💡 서블릿 세부 정보 입력

Description : 서블릿에 대한 설명.

Initialization parameters : 서블릿에 전달될 초기값이나 설정값. 

URL mappings : 서블릿 호출하기 위한 URL 지정.

 

📌 코드 작성

package ch05;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(description = "My first servlet", urlPatterns = { "/hello" })
public class HelloWorld extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    public HelloWorld() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		
		PrintWriter out = response.getWriter();
			out.append("<!doctype html><html><head><title>Hello World Servlet</title></head></body>")
			.append("<h2>Hello World</h2><hr>")
			.append("현재 날짜와 시간은 " +java.time.LocalDateTime.now())
			.append("</body></html>");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

 

서블릿 프로그래밍 : HelloWorld - 코드 설명

📌 @WebServlet 어노테이션

: 서블릿 클래스라는 것을 알리기 위해 사용.

@WebServlet(description = "My first servlet", urlPatterns = { "/hello" })
public class HelloWorld extends HttpServlet {
	...

 

📌 doGet( )

: GET 요청 처리하는 메서드.

  출력 스트림 사용해 HTML 형식으로 데이터와 결합해 출력.

 

- response.setContextType( ) : 응답 콘텐츠 타입 설정과 한글 출력하도록 설정.

 

- PrintWriter : 출력 스트림으로 클라이언트에 전달할 출력문 작성에 사용.

 

- response.getWriter( ) : 출력 스트림 가져옴.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=utf-8");

    PrintWriter out = response.getWriter();
        out.append("<!doctype html><html><head><title>Hello World Servlet</title></head></body>")
        .append("<h2>Hello World</h2><hr>")
        .append("현재 날짜와 시간은 " +java.time.LocalDateTime.now())
        .append("</body></html>");
}

 

📌doPost( )

: POST 요청 처리하는 메서드로, doGet( )호출. 

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doGet(request, response);
}

 

서블릿 프로그래밍 : HelloWorld - 결과물

📌 서블릿 프로그래밍 : HelloWorld - 결과물