Servlet

sleeee·2023년 5월 8일
0

Servlet&JSP

목록 보기
2/4
  • 네이버 부스트 코스 강의(웹 프로그래밍 풀스택) 정리

Servlet

: 자바 웹 어플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할

  • 정의
    • WAS에서 동작하는 java 클래스
    • HttpServlet 클래스를 상속 받아야함
    • JSP와 조화로운 사용 필요

Java EE vs Java Perspective

Java EE : 웹 어플리케이션을 만들때 조금 더 편한 환경 제공
Java : 자바 어플리케이션을 만들때 조금 더 편한 환경 제공

자바 웹 어플리케이션

웹 어플리케이션 생성
WAS 설정 (Target - 톰캣 경로 설정)

서블릿 생성
서블릿 : URL 요청을 처리하는 프로그램
URL Mapping : 클래스가 WAS에 배포될 때 사용할 이름 지정

http://localhost:8080/{프로젝트이름}/{URLMapping값}

웹 브라우저가 GET Method방식으로 요청할 때, 서블릿의 doGet Method가 호출된다.
GET Method : 웹 브라우저가 서버에게 문서를 요청할 때 사용하는 방식

package examples;

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;

/**
 * Servlet implementation class HelloServlet
 */
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=UTF-8"); //응답 결과 타입 설정
		PrintWriter out = response.getWriter();
		out.println("<h1>Hello World</h1>"); //출력할 내용
	}

}

자바 웹 어플리케이션 폴더 구조

서블릿 작성 방법

  1. 3.0 이상
    @WebServlet("/URL Mapping") 어노테이션 사용
  2. 3.0 미만
    web.xml 파일에 직접 등록

Servlet Lifecycle(서블릿 생명주기)

System.out.println(); : 콘솔에 출력

response 객체로 부터 얻어 온 PrintWriter 객체 out : 응답 결과를 보내줌

  1. 서블릿 요청 -> 해당 클래스가 메모리에 있는지 확인
  2. 없을시 새로운 객체 생성
  • init() 호출
  • service() 호출
  1. 새로고침시 서블릿 요청 새로 -> 서블릿이 메모리에 있으므로 서블릿이 다시 생성 X service만 호출
  2. 서블릿 수정(어플리케이션 갱신/WAS 종료) 시 메모리에 올라가있는 서블릿 객체는 사용 불가 -> 객체 소멸
  3. 새로운 객체 생성
  • init() 호출
  • service() 호출

service
doGet
doPost

request, reponse

profile
개인 공부 기록 👩‍💻

0개의 댓글

Powered by GraphCDN, the GraphQL CDN