jsp上的九个隐含对象

Posted 衣带渐宽终不悔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp上的九个隐含对象相关的知识,希望对你有一定的参考价值。

首先说一说件jsp的原理。jsp被认为最经典的解释是  “嵌入了java 代码的html”。

在网上查了一些资料,和我本身对jsp的认识,总结如下:

  1. jsp本质上是一个servlet,继承自 当第一次访问一个jsp时,首先继承了org.apache.jasper.runtime.HttpJspBase类,并实现了接口 org.apache.jasper.runtime.JspSourceDependent。而org.apache.jasper.runtime.HttpJspBase类继承了
    HttpServlet 类,所以也可以说,jsp被转译成的一个httpServlet类型的servlet 下面我们称作jspServlet。
    
    
  2. 在实际调用的jspServlet 方法 _jspService()中 ,web容器首先定义了九个变量如下:

final javax.servlet.jsp.PageContext pageContext;
javax.servlet.http.HttpSession session = null;
final javax.servlet.ServletContext application;
final javax.servlet.ServletConfig config;
javax.servlet.jsp.JspWriter out = null;
final java.lang.Object page = this;
javax.servlet.jsp.JspWriter _jspx_out = null;
javax.servlet.jsp.PageContext _jspx_page_context = null;

 

在try 中对这九个变量进行了赋值 如下:

response.setContentType("text/html; charset=UTF-8");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out;

 这样jsp中的java代码中就可以使用这九个变量了

 

以上是关于jsp上的九个隐含对象的主要内容,如果未能解决你的问题,请参考以下文章

JSP学习JSP中的九个内置对象

jsp的九个内置对象

jsp的九个内置对象

jsp的九个内置对象

JavaWeb---总结(十七)JSP中的九个内置对象

javaweb-JSP中的九个内置对象