내장객체 request 주요 메서드

MIN·2023년 12월 6일
0

Servlet/JSP

목록 보기
11/21
post-thumbnail

지난번에 이야기 했었던 일반적으로 수행해야 할 자바코드들을 적는 스크립틀릿!
이 스크립틀릿 내부에서는 객체를 별도로 생성하지 않아도 request, response에 접근할 수 있다. request와 response는 JSP의 내장객체에 해당하기 때문이다.

🍭 request 주요 메서드

💡 request.getMethod()

클라이언트가 보낸 요청 메서드를 문자열로 반환한다.

ex) GET, POST, PUT 등

💡 request.getLocalAddr()

클라이언트가 보낸 요청의 대상 주소(서버주소)를 문자열로 반환한다.

💡 request.getRemoteAddr()

요청을 보낸 클라이언트의 주소를 문자열로 반환한다

ex) 반환된 문자열 주소 : 0:0:0:0:0:0:0:1

💡 request.setAttribute(String name, Object o)

request 내장객체에 자바 객체를 저장한다.

💡 request.getAttribute(String name)

reqeust에 저장된 내장객체의 이름으로 불러와서 Object로 반환한다.
(이전에 setAttribute를 통해 저장된 객체가 있어야 함)

💡 request.getCookies()

요청에 담긴 쿠키를 배열 형태로 반환한다.
null을 반환할 수도 있다.

( ※ 쿠키는 적은 양의 데이터들을 주로 저장하며, 저장은 클라이언트쪽에서 되고 클라이언트에서 제공하면 서버에서 사용한다.)

💡 request.getContentType()

request에 담긴 contentType을 문자열로 반환한다.

💡 request.getReuestURL()

클라이언트가 요청한 주소 전체를 반환한다.

ex) 반환된 주소 : http://localhost:8080/day02/ex01.jsp

💡 request.getProtocol()

요청 프로토콜을 반환한다.
http 혹은 https로 반환됨

ex) HTTP/1.1

💡 request.getServerName()

요청 서버 주소를 반환한다.
글자 주소를 우선으로 제공하고, 없으면 IP를 반환한다.

ex) 반환된 주소 : localhost

💡 request.getServerport()

요청 서버의 포트 번호를 반환한다.
범위는 0~65535다.

ex) 8080

💡 request.getContextPath()

요청받은 자원의 최상위 폴더경로를 문자열로 반환한다.
이 경로는 JSP프로젝트의 webapp (WebContent) 폴더에 해당하는 경로

ex) /day02

💡 request.getRequestURI()

요청받은 자원 고유 식별자를 문자열로 반환한다.
전체 주소가 아님!

ex) /day02/ex01.jsp

💡 request.getParameter(String name)

요청에 담긴 클라이언트의 파라미터를 문자열로 반환한다.
클라이언트의 입력값이므로, 서버에서 set하는 메서드는 없다.
(= 값을 바꾸거나 삭제할 수 없다!)

💡 request.getQueryString()

주소에서 URL을 제외한 쿼리스트링을 문자열로 반환한다.

쿼리스트링이란?
주소창에 ?뒤에 나타나는 내용으로 클라이언트에게 입력받은 내용을 서버에서 받아 DB로 넘겨주는 내용이다. 쿼리스트링이 여러개 사용될 때는 '&'기호를 이용하여 구분해준다. 내부에서 &을 이용하여 split하기 때문!

ex)
input을 통해 guest의 이름을 클라이언트로부터 입력받음
주소창 : http://localhost:8080/day02/ex01.jsp?guest=홍길동

  • request.getQueryString()로 반환받은 문자열 :
    guest=%ED%99%8D%EA%B8%B8%EB%8F%99
  • request.getParameter("guest")로 반환받은 문자열 :
    홍길동




🔥 한줄평
실제 활용하여 사용해본게 request.getParameter밖에 없어서 다른건 아직 잘 모르겠지만 앞으로 다양하게 활용해볼 수 있기를..ㅠ

profile
기초부터 시작하는 감쟈 ※ 소개글 확인해주세요!! ※

0개의 댓글