JSP的九大隐式对象

在jsp中,不用事先声明,也不用获取,可以直接使用的九个对象。
JSP翻译引擎在将JSP翻译成servlet的过程中,在servlet里预先定义了九个对象,因此我们可以在JSP页面中直接使用这九个对象

JSP 相当于Servlet的
page this
request HttpServletRequest
response HttpServletResponse
application ServletContext
config ServletConfig
session HttpSession
exception Exception
out JspWriter~=response.getWriter()
pageContext pageContext

在servlet中获取当前web应用的虚拟路径
request.getContextPath
在JSP中获取当前web应用的虚拟路径
<%=request.getContextPath()%>
用EL表达式中获取当前web应用的虚拟路径
{pageContext.getRequest().getContextPath()}
简写为
${pageContext.request.contextPath}

pageContext对象

代表当前JSP页面的运行环境的对象,通过该对象可以访问页面中的共享数据
1.pageContext对象可以作为入口对象获取其他八大隐式对象
(1)pageContext.getPage(); -- 获取page隐式对象
(2)pageContext.getRequest(); -- 获取request隐式对象
(3)pageContext.getResponse(); -- 获取response隐式对象
(4)pageContext.getServletContext(); -- 获取application隐式对象
(5)pageContext.getServletConfig(); -- 获取config隐式对象
(6)pageContext.getSession(); -- 获取session隐式对象
(7)pageContext.getException(); -- 获取exception隐式对象
(8)pageContext.getOut(); -- 获取out隐式对象
2.pageContext是一个域对象
setAttribute(String name,Object value) – 添加一个域属性
getAttribute(String name) – 根据指定的属性名获取属性值.
removeAttribute(String name) – 根据指定的属性名删除一个属性.

生命周期:
1.当访问JSP开始时创建pageConext对象
2.当访问JSP结束时销毁pageContext对象
作用范围: 整个JSP页面
主要功能: 在整个JSP页面中实现数据的共享

<%@ page language="java" pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>九大隐式对象</title>
</head>
<body>
    <%--page --%>相当于Servlet中的this
    <%--application--%>ServletContext
    <%--config --%>ServletConfig
    <%--exception--%>Exception
    <%--out--%>JspWriter()相当于response.getWriter()
    <%--session--%>HttpSession
    <%--request--%>ServletRequest
    <%--response--%>ServletResponse
    
    <%--pageContext --%>pageContext
    可以作为入口对象获取其他八大隐式对象
    如<%
    pageContext.getRequest();
    pageContext.getResponse(); 
    pageContext.getSession();
    //....
    %>
    访问JSP开始时创建pageContext对象
    访问JSP结束时销毁pageContext对象
    作用范围:仅仅在当前JSP范围内
    主要功能:在当前JSP范围内实现资源共享
    
    四大作用域的范围 从大到小ServletContext>Session>Request>pageContext
    
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。