BE_Servlet

네코·2022년 3월 21일
0

connectWeb

목록 보기
1/4

Intellij에서 웹 프로젝트 생성

  1. java sdk만 선택, 프로젝트명 위치 설정 후 빈 프로젝트로 생성.
  2. 프로젝트에서 add framework support에서 web app 선택
  3. 톰캣 서버 설정
  • 상단에 add config클릭 후 tomcat-local 선택
  • deployment에서 artifact 설정하고 여기서 플젝명으로 url 설정하려면 war_loaded 지움
  1. servlet
  • src -> Open module settings->library-> +버튼.
  • javax.servlet 검색 후 톰캣 버전에 맞게 down, 이때 down, sources, annotation 체킹

Servlet 주기

생성자 : 최초 메모리에 한번
init : 최초 메모리에 한번
service :최초 및 리로드 마다.
destroy : 서블릿 파일 수정될 때마다.

WAS는 서블릿 요청을 받으면 해당 서블릿이 메모리에 있는지 확인
if(not exist)

  • 해당 서블릿을 메모리에 올림(=constructor)
  • init()메서드 호출
    service() 메서드 호출(응답 내용이 작성되어야함)
    but) doGet()만 실행해도 service()가 실행됐음. url 직접 요청 or link클릭 시에는 GET방식

요청과 응답

WAS는 웹 브라우저로부터 Servlet요청을 받으면,

요청할 때 가지고 있는 정보를 HttpServletRequest객체를 생성하여 저장합니다.
웹 브라우저에게 응답을 보낼 때 사용하기 위하여 HttpServletResponse객체를 생성합니다.
생성된 HttpServletRequest, HttpServletResponse 객체를 서블릿에게 전달합니다.

  • HttpServletRequest

http프로토콜의 request정보를 서블릿에게 전달하기 위한 목적으로 사용합니다.
헤더정보, 파라미터, 쿠키, URI, URL 등의 정보를 읽어 들이는 메소드를 가지고 있습니다.
Body의 Stream을 읽어 들이는 메소드를 가지고 있습니다.

  • HttpServletResponse

WAS는 어떤 클라이언트가 요청을 보냈는지 알고 있고, 해당 클라이언트에게 응답을 보내기 위한 HttpServleResponse객체를 생성하여 서블릿에게 전달합니다.
서블릿은 해당 객체를 이용하여 content type, 응답코드, 응답 메시지등을 전송합니다.

0개의 댓글