JSP运行原理和九大隐式对象说明

所属分类: 网络编程 / JSP编程 阅读数: 1275
收藏 0 赞 0 分享

每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。

由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不再翻译,而是直接调用,所以程序的执行效率不会受到影响。

JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用。JSP技术的设计者为便于开发人员在编写JSP页面时获得这些web对象的引用,特意定义了9个相应的变量,开发人员在JSP页面中通过这些变量就可以快速获得这9大对象的引用。

这9个对象分别是哪些,以及作用也是笔试经常考察的知识点。

Jsp九大隐式对象

request       //代表request对象

response       //代表response对象

config        //代表servletConfig对象

application    //代表servletContext对象

exception   

Session

page

out           //代表response.getWriter() ,字符输出流对象 

pageContext

pageContext对象

pageContext对象是JSP技术中最重要的一个对象,它代表JSP页面的运行环境.

这个对象不仅封装了对其它8大隐式对象的引用,

它自身还是一个域对象,可以用来保存数据。

并且,这个对象还封装了web开发中经常涉及到的一些常用操作,例如引入和跳转其它资源、检索其它域对象中的属性等。

通过pageContext获得其他对象

getException方法返回exception隐式对象

getPage方法返回page隐式对象

getRequest方法返回request隐式对象

getResponse方法返回response隐式对象

getServletConfig方法返回config隐式对象

getServletContext方法返回application隐式对象

getSession方法返回session隐式对象

getOut方法返回out隐式对象

pageContext封装其它8大内置对象的意义,思考:如果在编程过程中,把pageContext对象传递给一个普通java对象,那么这个java对象将具有什么功能?

pageContext作为域对象

pageContext对象的方法

public void setAttribute(java.lang.String name,java.lang.Object value)

public java.lang.Object getAttribute(java.lang.String name)

public void removeAttribute(java.lang.String name)

pageContext对象中还封装了访问其它域的方法

public java.lang.Object getAttribute(java.lang.String name,int scope)

public void setAttribute(java.lang.String name, java.lang.Object value,int scope)

public void removeAttribute(java.lang.String name,int scope)

代表各个域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

更多精彩内容其他人还在看

使用JavaBean创建您的网上日历本(2)

使用JavaBean创建您的网上日历本(2)
收藏 0 赞 0 分享

如何用Jsp读取Mysql数据库

如何用Jsp读取Mysql数据库
收藏 0 赞 0 分享

打开页面就是全屏的方法

打开页面就是全屏的方法
收藏 0 赞 0 分享

如何在Jsp中使用JDBC来联结MySql

如何在Jsp中使用JDBC来联结MySql
收藏 0 赞 0 分享

在linux上建jsp環境

这篇文章主要介绍了在linux上建jsp環境
收藏 0 赞 0 分享

如何使用JSP访问MySQL数据库

如何使用JSP访问MySQL数据库
收藏 0 赞 0 分享

JSP数据库操作例程(Use Bean)

JSP数据库操作例程(Use Bean)
收藏 0 赞 0 分享

如何使用JSP+MySQL创建留言本(一)

如何使用JSP+MySQL创建留言本(一)
收藏 0 赞 0 分享

如何使用JSP+MySQL创建留言本(二)

如何使用JSP+MySQL创建留言本(二)
收藏 0 赞 0 分享

如何使用JSP连接DB2数据库

如何使用JSP连接DB2数据库
收藏 0 赞 0 分享
查看更多