[JSP] 내장객체

안요한·2022년 6월 8일
0

JSP

목록 보기
2/17

내장 객체

  • 스크립트 안에서만 사용 가능
  • 내장 객체와 같은 이름의 변수를 선언할 수 없음(선언문 안에서는 가능하나 지양해야함)
  • 서블릿 컨테이너가 해당 JSP 페이지 실행 시 자동으로 생성
  • jsp가 변환된 fileName_jsp.java 파일을 열어보면 _jspService() 메소드 내부에 선언되어 있음

내장 객체 종류

내장 객체 이름반환값 타입내용
outjavax.servlet.jsp.JspWriterJSP 페이지에 출력할 내용을 가진 출력 스트림
applicationjavax.servlet.ServletContext웹 어플리케이션 Context의 정보를 저장
requestjavax.servlet.http.HttpServletRequest클라이언트의 요청 정보를 저장
responsejavax.servlet.http.HttpServletResponse클라이언트의 요청에 대한 응답 정보를 저장
sessionjavax.servlet.http.HttpSession세션 정보를 저장
pageContextjavax.servlet.jsp.PageContextJSP페이지에 대한 정보를 저장
pagejavax.servlet.jsp.HttpJspPageJSP페이지를 구현한 자바 클래스 객체
configjavax.servlet.ServletConfigJSP 페이지에 대한 설정 정보를 저장
exceptionjava.lang.TrowableJSP 페이지에서 예외 발생시에만 사용

내장객체의 영역

setAttribute.jsp, getAttribute.jsp

page,request,session,application

requestTestForm(클래스) → requestTest(클래스)

  • 기본적으로 자바는 클래스에서 클래스로 데이터 넘길 수 없다.
  • JSP에서는 넘겨야한다.
  • JSP에서는 클래스 마다 갖고 있는 내장객체 page,request,session,application 이 4개를 뽑아서
  • 공유할 수 있도록 만들어 놨다.
  • 한쪽 클래스의 내장객체의 데이터를 실어 놓으면 다른 클래스에서 꺼내 사용 가능
  • ex) setAttribute()를 사용해 실어 놓으면 다른 클래스에서 getAttribute() 사용해 꺼낸다.
  • request는 처리를 같이 하는 페이지끼리는 공유
    • 데이터를 submit으로 넘길때
  • session은 웹브라우저 끄기 전까지 다 공유 모든 페이지가
    • 웹브라우저 끄면 데이터 사라짐
  • application은 현재 프로젝트에서 모두 공유
    • 지우고 싶으면 서버를 껏다 키면 됨
  • page는 데이터를 옮기는 용도가 아니라 그냥 현재 페이지
  • page는 공유 안됨
  • page는 왜 있냐면, 나중에 저 4개가 옵션값으로 사용 그니깐 page는 걍 옵션용 ㅋ
profile
걍이렇게돼브렀다리

0개의 댓글