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

Stella981
• 阅读 587

一、 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. 工作原理图:

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

  • 其他隐式对象,个人比较熟悉,不再详述。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
Java Web学习总结(16)——JSP的九个内置对象
一、JSP运行原理  每个JSP页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个\_jspServlet(实质上也是一个servlet),然后按照servlet的调用方式进行调用。  由于JSP第一次访问时会翻译成servlet,所以第一次访
Stella981 Stella981
3年前
JSP+Servlet+JavaBean实现数据库的增删改查
基本思想:JSP文件显示页面,使用form或href超链接传值到Servlet中方法,在Servlet方法中调用Dao层的类对象,实现对数据库里的数据的增删改查,之后重新返回到JSP输出操作完的结果。共分为四个包和对应的JSP文件:1.DB包:建立连接数据库的方法,以及关闭操作数据库的方法。2.Servlet包:①接受来自JSP页面的参数,将这些
Stella981 Stella981
3年前
SpringBoot使用JSP(官网Demo)
最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌servlet容器时会有一些限制!(https://img2018.cnblogs.com/blog/562030/201901/56203020190120
Wesley13 Wesley13
3年前
Java面试之Java Web
64\.JSP和servlet有什么区别?JSP是servlet技术的扩展,本质上就是servlet的简易方式。servlet和JSP最主要的不同点在于,servlet的应用逻辑是在Java文件中,并且完全从表示层中的html里分离开来,而JSP的情况是Java和html可以组合成一个扩展名为JS
Wesley13 Wesley13
3年前
JavaWeb学习总结(十七)——JSP中的九个内置对象
一、JSP运行原理  每个JSP页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个\_jspServlet(实质上也是一个servlet),然后按照servlet的调用方式进行调用。  由于JSP第一次访问时会翻译成servlet,所以第一次访
Stella981 Stella981
3年前
JSP Tag
packagedemo;importjavax.servlet.jsp.JspException;importjavax.servlet.jsp.tagext.JspFragment;importjavax.servlet.jsp.tagext.SimpleTagSupport;import
Stella981 Stella981
3年前
EL表达式及其11个使用对象(尤其提到了jsp中的对象)
转摘文章(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwjlvivid.iteye.com%2Fblog%2F1395420)一、page对象page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法
Easter79 Easter79
3年前
SpringBoot使用JSP(官网Demo)
最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌servlet容器时会有一些限制!(https://img2018.cnblogs.com/blog/562030/201901/56203020190120