HttpServlet

라이라·2023년 6월 14일
0

HttpServlet

RequestDispatcher
:: 서블릿에 전달된 req를 다른 쪽으로 전달/배포하는 역할

HttpServlet은 GET/POST에 맞게 doGet()/doPost() 등을 제공하므로 필요한 메서드를 오버라이드 하는 것으로 GET/POST 방식 처리를 나누어서 처리할 수 있다.

HttpServlet을 상속받은 클래스 객체는 톰캣과 같은 WAS의 내부에서 자동으로 객체를 생성하고 관리하기 때문에 객체관리에 신경쓸 필요가 없다.

HttpServlet은 멀티 스레드에 의해서 동시에 실행될 수 있도록 처리되기 떄문에 동시에 많은 사용자를 어떻게 처리해야할지에 대한 고민을 줄일 수 있다.

HttpServletRequest

::: 주로 읽는 기능을 제공

getParameter()

:: param이 없다면 null을 반환하므로 null 체크 요망
:: 항상 String값으로 돌려받기 때문에 숫자를 처리할 때 예외발생가능

?name=AAA&age=20
(key:value) = (AAA,20)

getParameterValues()

::동일한 이름의 파라미터가 여러개 있을 때 사용
:: String[]으로 반환받는다.

RequestDispatcher

:: 현재의 요청을 다른 서버의 자원(서블릿/JSP)에게 전달한다.
:: forward(), include() 두개의 메서드가 존재한다.

forward() : 현재까지의 모든 res 내용을 무시하고 jsp가 작성하는 내용만을 브라우저로 전달
include(): 지금까지 만들어진 res 내용 + jsp가 만든 내용을 브라우저로 전달

HttpServletResponse

::: 주로 쓰는 기능을 담당

sendRedirect()

:: 브라우저로부터 받은 Get/Post 요청을 처리한 후 브라우저에게 이동할 것을 응답하는 메시지를 전달한다.
:: sendRedirect()를 사용하면 브라우저의 주소가 아예 변경되기 때문에 사용자의 새로고침 요청을 미리 방지할 수 있다.

profile
혼자 보려고 올리는 용도

0개의 댓글