JSP的执行过程及生命周期
一,概述
前段时间决定转战JavaWeb的我,现在终于可以修炼JSP了.从决定开始走JavaWeb方向,就先去重温了Html CSS JavaScript,然后学习Servlet编程,昨天进入了JSP的学习.接近两天的JSP学习,灌输了很多技术点,难免有点消化不良.所以还是决定慢下来一点,整理整理一些常用的知识点,消化一下.消化的最好方式,当然就是写博客了.好了,进入正题.
二,JSP引入
1)JSP作用
jsp是用Java语言(结合html等)开发动态网页的技术,而实际上,jsp就是servlet(后面提).
2)JSP特点
a,jsp的运行必须交给tomcat服务器.tomcat的work目录存放jsp运行时的临时文件.
b,jsp页面既可以写html代码,也可以写Java代码,只需满足一定语法即可.
三,JSP的执行过程
通过服务器访问一个jsp页面(比如:http://localhost:8080/day13_jsp/index.jsp),这个jsp页面是怎样显示出来的呢?
第一步:访问这个index.jsp页面,tomcat扫描的这个jsp文件,在%tomcat%work把jsp文件翻译成java源文件,即index.jsp-->index_jsp.java,这个过程就是翻译.(翻译过程)
第二步:tomcat服务器把刚刚翻译得到的java源文件编译成class字节码文件,即index_jsp.java-->index_jsp.class.(编译过程)
第三步:tomcat构造index_jsp类对象.(构造对象)
第四步:tomcat服务器调用index_jsp类里面的方法,输出内容到浏览器.(显示内容)
当我们第一次访问一个jsp时,会走这四个步骤;当我们是第n次(n>=2)访问同一个jsp时,只走第四个步骤.另外需要注意的是,jsp文件修改了或是jsp的临时文件删除了,就要重新走翻译和编译的过程.
4,为什么JSP是一个Servlet呢?
去tomcat/work目录的相应项目目录下,找到翻译的index_jsp.java文件,发现它继承了org.apache.jasper.runtime.HttpJspBase,HttpJspBase是tomcat的lib目录下jar包中的一个类.
public final class index_jsp extends org.apache.jasper.runtime.HttpJspBaseimplements org.apache.jasper.runtime.JspSourceDependent
去tomcat找到HttpJspBase,发现它继承了HttpServlet.
public abstract class org.apache.jasper.runtime.HttpJspBase extends javax.servlet.http.HttpServlet implements javax.servlet.jsp.HttpJspPage
所以,可以发现jsp间接继承了HttpServlet,所以jsp就是servlet.servlet的技术都可以用到jsp中,但jsp的技术不全能用到servlet中.
5,Servlet和Jsp生命周期的比较
Servlet的生命周期:
1)构造方法(第1次访问)
2)init方法(第1次访问)
3)service方法
4)destroy方法
Jsp的生命周期(翻看源码就可以发现jsp的方法和servlet很像,这不废话吗,呵呵)
1)翻译: jsp->java文件
2)编译: java文件->class文件(servlet程序)
3)构造方法(第1次访问)
4)init方法(第1次访问):_jspInit()
5)service方法:_jspService()
6)destroy方法:_jspDestroy()
6,总结
其实没什么好总结的,就想告诉自己,下一篇博客要写jsp的基本语法及9大内置对象相关用途.
JSP的执行过程及生命周期相关推荐
- js var是什么类型_JS变量的执行环境和生命周期
温故而知新,这些JS基础知识你都知道吗? 今天和大家分享的是 JavaScript 中有关变量的知识,希望这篇文章能让你对JS中的变量有新的认识. 目录: 变量的执行环境(执行上下文) 执行上下文的生 ...
- 【iOS开发】-UIViewController加载过程和生命周期
文章目录 前言 ViewController执行过程的探讨 ViewControllerOne 函数介绍 顺序引入 ViewControllerSecond引入 ViewControllerOne点击 ...
- JSP的执行过程(详解)
要了解JSP的执行过程,首要要搞懂什么是JSP,JSP的全称是Java Server Pages,里面包含html标签.css样式.JavaScript脚本和Java代码. 下面我们来说说JSP的执行 ...
- JSP起源、JSP的运行原理、JSP的执行过程
JSP起源 在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变. 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的静态内容也需要程序员用Java程序 ...
- 【软工】 概论 过程和生命周期建模
Chapter 1 概论 软件工程是为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则 软件工程三要素 方法:–项目计划与估算.软件系统需求分析.数据结构.系统总体结 ...
- jsp学习(1)jsp请求过程和生命周期
一.服务器处理jsp请求的过程: 以下步骤表明了 Web 服务器是如何使用JSP来创建网页的: 1.浏览器发送一个 HTTP 请求给服务器. 2.Web 服务器识别出这是一个对 JSP 网页的请求,并 ...
- Java Web复习——task03:JSP 内置对象和生命周期
文章目录 前言 一.JSP内置对象 1.1 HttpServletRequest类和Request对象 1.2 HttpServletResponse类和Response对象 1.3 JspWrite ...
- JAVA多线程:线程创建过程以及生命周期总结
1)如果所有的前台线程死亡,那么后台线程也会自动死亡. 2)一旦线程A调用了线程B的join()方法,那么线程B将会启动执行.此时,线程A会等待线程B执行完成后再继续执行. 应用场景: 可以将大任务分 ...
- 一次请求到php都经过了哪些步骤,PHP高级之一次请求处理过程或生命周期详解
简介先看看下面这个过程: 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的:PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口) ...
- 类的加载过程(生命周期)
一.概述 生命周期的7个阶段: 从使用过程看: 最后会在方法区,存在类的模版,之后就可以使用这个类了. 二.过程1:Loading阶段(加载) 所谓加载,就是将字节码文件加载到机器内存中,并在内存中构 ...
最新文章
- SEO基础知识8大精华文章之第三篇 SEO的历史(连载)
- java计算时间差 Java问题通用解决代码
- mysql数据库熟悉表空间数据文件_MySQL数据文件介绍及存放位置
- python os.exec
- E20170816-mk
- 财富反而越增涨,越没钱的人,财富越下降
- c语言关键用法大全,c语言关键字的用法详解
- Hive SQL行列转换
- matlab 加根号
- RocksDB 入门
- 移动平台动画设计的12个原则
- 带孩子们做环球旅行的读后感_年轻爸妈别糊涂,这些奶奶、姥姥们不适合带孩子...
- PAT_乙级_1002_筱筱
- Tektronix泰克MDO3054示波器
- 电脑快捷操作方式大全
- O’Reilly创始人Tim O’Reilly谈领导力
- 免费好用的IPv6之远程管理路由器-OpenWrt上uhttpd的使用介绍
- Oracle:获取数据库系统的当前时间
- Windows下python安装PyCrypto加密模块以及使用
- php 车牌号限号,不限行也不限号!还能送车牌?这种车你考虑吗?