JSP 가 변환된 서블릿에서 자동으로 선언 및 초기화되는 객체
JSP 가 서블릿으로 자동으로 변환할 때
JSP 에 작성한 모든 코드가 _jsp
에 들어감
아래 **
표시된 코드 모두 내장 객체
public void _jspService(final HttpServletRequest **request**,
final HttpServletResponse **response**) throws IOException, ServletException {
PageContext **pageContext**;
HttpSession **session** = null;
ServletContext **application**;
ServletConfig **config**;
JspWriter **out** = null;
try {
**response**.setContentType("text/html; charset=UTF-8");
**pageContext** = _jspxFactory.getPageContext(
this, **request**, **response**, null, true, 8192, true);
**application** = pageContext.getServletContext();
**config** = pageContext.getServletConfig();
**session** = pageContext.getSession();
**out** = pageContext.getOut();
} catch (java.lang.Throwable t) {
throw new ServletException(t);
}
}
}
_jspService()
안의 모든 코드를 자유롭게 사용 가능내장객체 | 데이터 타입 |
---|---|
request | javax.servlet.http.HttpServletRequest |
response | javax.servlet.http.HttpServletResponse |
session | javax.servlet.http.HttpSession |
application | javax.servlet.ServletContext |
config | javax.servlet.ServletConfig |
out | javax.servlet.jsp.JspWriter |
pageContext | javax.servlet.jsp.PageContext |
_jspService
의 복잡한 코드대신 index.jsp
에서 간단하게 사용<%
// Scriptlet : 정상적인 자바 코드가 작성되는 영역
// 1. DB 연동 처리
BoardVO vo = new BoardVO();
BoardDAO dao = new BoardDAO();
List<BoardVO> boardList = dao.getBoardList(vo);
// 2. 응답 화면 구성
// HttpServletRequest
request.setAttribute("name", "홍길동");
// HttpSession
session.setAttribute("name", "yeppi");
//ServletContext
application.setAttribute("name", "김말이");
%>
서블릿과 유사하게,
내장 객체 중에서 정보 공유와 관련된 객체가 존재한다
a.jsp
와 b.jsp
파일은 request
를 공유함a.jsp
가 브라우저에 응답하면?a.jsp
의 request
사라져서 해당 정보가 없어짐👉 정보 공유 불가
request
정보가 사라지는 것이 아닌, 세션으로 정보를 저장하려면?👉 브라우저 살아있는 동안 정보 공유 가능
위처럼 브라우저가 종료되면 정보가 날아가는 것이 아닌, 브라우저와 무관하게 사용하고 싶다면?
apllication
사용
사실 별로 사용하지 않음
👉 브라우저가 살아있든 말든, 서버만 살아있으면 정보 공유 가능
자세한 차이점은 Servlet&JSP 시리즈의 8번 화면 이동 방식을 참고해주세요