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

一、 JSP的原理:

  • JSP 文件会在服务器端的 JSP 引擎作用下转化为一个 Servlet 类的 Java 源代码文件。紧接 着,这个 Servlet 类会在 Java 编译器的作用下被编译成一个class文件,并装载到 jvm 解释执行。剩下的就等同于 Servlet 的处理过程了。
  • 由于JSP第一次访问时会翻译成servlet,所以第一次访问通常会比较慢,但第二次访问,JSP引擎如果发现JSP没有变化,就不会翻译,而直接调用,所以程序的执行效率不会受到影响。
  • JSP引擎在调用JSP对应的_jspServlet时,会传递或创建9个与web开发相关的对象供_jspServlet使用

二、JSP九大隐式对象

      1.    request(HttpServletRequest)

      2.    response(HttpServletResponse)

      3.    config   (ServletConfig)

      4.    application (ServletContext)

      5.    exception  (Exception)

      6.    session    (HttpSession)

      7.    page     (this)

      8.    out   (JspWriter--àPrintWriter)

      9.    pageContext (PageContext)

              1. out对象是通过调用pageContext对象的getOut方法返回的,其作用和用法与ServletResponse.getWriter方法返回的PrintWriter对象非常相似。

              2. 工作原理图:

                 

  • 其他隐式对象,个人比较熟悉,不再详述。
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Java Web学习总结(16)——JSP的九个内置对象

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

JSP+Servlet+JavaBean实现数据库的增删改查

基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果。共分为四个包和对应的JSP文件:1.DB包:建立连接数据库的方法,以及关闭操作数据库的方法。2.Servlet包:①接受来自JSP页面的参数,将这些

SpringBoot使用JSP(官网Demo)

最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌servlet容器时会有一些限制!(https://img2018.cnblogs.com/blog/562030/201901/56203020190120

JSP运行原理和九大隐式对象 - HelloWorld