jsp执行过程详解

yorkzhangyang yorkzhangyang     2023-04-16     518

关键词:

文章参考

https://www.cnblogs.com/klguang/p/4715529.html

https://www.runoob.com/servlet/servlet-intro.html

https://blog.csdn.net/forward__/article/details/57079115

 

1.Servlet和JSP的概念

JSP是Java Server Page的缩写,在传统的HTML页面中加入JSP标签和java的程序片段就构成了JSP。

什么是Servlet,用于处理HTTP 客户端的请求和 读取HTTP 服务器上数据的Java类 ,是WEB应用程序中的一个组件。

 

2.Servlet在Web应用程序中的位置

技术图片

 

图1

 

 

3.Servlet工作过程

技术图片

 

 

 图2

 

3.Servlet和JSP之间的关系(图2中最后一个蓝色的Servlet容器指的是tomcat服务器,JSP页面在tomcat服务器中的解析过程如图3所示)

JSP本质上也是Servlet的一种,只是Servlet关注于逻辑控制(java文件),JSP关注页面显示(java和html的结合),分别对应MVC设计模式中的控制层和视图层。

JSP请求过程如下图所示(图片来源:https://www.cnblogs.com/klguang/p/4715529.html)

技术图片

图3

 

 

tomcat服务器读取web服务器给的客户端的请求(访问JSP页面或Servlet)后分以下几步来处理

第一步:将jsp编译成Servlet(.java)文件。存放JSP转译成的servlt的目录为:apache-tomcat-7.0.59workCatalinalocalhostyourwebapporgapachejsp 。

第二步:将Servlet文件(.java)到Java字节码文件(.class)。

第三步:根据contentType属性(设置JSP源文件和响应正文的字符集编码及MIME类型, contentType的charset是指服务器发送给客户端时的内容编码)生成

相应的文件(可以是HTML,图片,XML等文件)发送给web服务器(如apache),再由web服务器发送该响应给客户端。

 

4.Servlet的生命周期

  • Servlet 通过调用 init () 方法进行初始化。
  • Servlet 调用 service() 方法来处理客户端的请求。
  • Servlet 通过调用 destroy() 方法终止(结束)。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

 

jsp执行过程

JSP执行过程图解第一次请求:当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个.java文件,也就是servlet,并编译这个java文件生成.class的字节码文件,然后执行字节码文件响应客户端... 查看详情

存储过程详解(代码片段)

...类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。?存储过程的概念   存储过程Procedure是一组为了... 查看详情

生成器接受和返还功能在执行过程中的详解

1importrandom23SENTENCES=[4‘Howareyou?‘,5‘Fine,thankyou!‘,6‘Nothingmuch‘,7‘Justchilin‘8]910defrandom_conversation():11recv=yield‘Hi‘12print(‘************‘,recv)13print(‘a‘)14whilerecv!=‘Bye‘:15print(‘ 查看详情

oracle存储过程详解

...定义的存储过程名字并给出相应的存储过程参数来调用并执行它,从而完成一个或一系列的数据库操作。2、存储过程的创建Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。(1)无参存储过程语法 查看详情

一条sql语句是怎么执行之“步步惊心”过程详解与案例分析(代码片段)

SQL逻辑执行过程详解表与数据--1创建HR.Employees表CREATETABLEHR.Employees(empidINTNOTNULLIDENTITY,lastnameNVARCHAR(20)NOTNULL,firstnameNVARCHAR(10)NOTNULL,titleNVARCHAR(30)NOTNULL,titleofcourtesyNVARCHAR(25)NOTNULL,bi 查看详情

linux启动过程详解(代码片段)

...init进程依据inittab文件夹来设定运行级别第六步:init进程执行rc.sysinit第七步:启动内核模块第八步:执行不同运行级别的脚本程序第九步:执行/etc/rc.d/rc.local第十步:执行/bin/login程序,启动minge 查看详情

servlet与jsp的详解和区别

...决方案,在这个方案中,程序可以自动地下载到客户端并执行,这就是applet。但是它仅仅是问题的一半。问题的另一半就是Servlet。servlet可以被认为是服务器端的applet。servlet被Web服务器加载和执行,就如同applet被浏览器加载和执... 查看详情

jsp的组成和执行过程

jsp由以下五个组成:Html静态页面指令: <%@ xxx %>小脚本:<%  xxx  %>表达式:<%=      %>声明: <%!  xxx %>注释:  html注释   查看详情

hadoop详解——hdfs的命令,执行过程,java接口,原理详解。rpc机制(代码片段)

HDFS是Hadoop的一大核心,关于HDFS需要掌握的有:分布式系统与HDFS、HDFS的体系架构和基本概念、HDFS的shell操作、Java接口以及常用的API、Hadoop的RPC机制、远程debugDistributed FileSystem数据量越来越多,在一个操作系统管理的... 查看详情

mysql一条sql的执行过程详解(代码片段)

前言天天和数据库打交道,一天能写上几十条SQL语句,但你知道我们的系统是如何和数据库交互的吗?MySQL如何帮我们存储数据、又是如何帮我们管理事务?....是不是感觉真的除了写几个「select*fromdual」外基本脑子一片空白?这... 查看详情

sql语句执行过程详解

SQL语句执行过程详解一条sql,plsql的执行到底是怎样执行的呢?一、SQL语句执行原理:第一步:客户端把语句发给服务器端执行当我们在客户端参考技术ASQL语句执行过程详解一条sql,plsql的执行到底是怎样执行的呢?一、SQL语句执... 查看详情

详解一条sql语句的执行过程(代码片段)

SQL是一套标准,全称结构化查询语言,是用来完成和数据库之间的通信的编程语言,SQL语言是脚本语言,直接运行在数据库上。同时,SQL语句与数据在数据库上的存储方式无关,只是不同的数据库对于同一条SQL语句的底层实现不... 查看详情

mysql存储过程详解(代码片段)

存储过程简介SQL语句需要先编译然后执行,而存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数... 查看详情

详解java对象实例化过程

...类,main方法所在的类需要先加载和初始化类初始化就是执行<clinit>方法,对象实例化是执行<init>方法一个子类要初始化需要先初始化父类2类的加载过程类的加载机制:如果没有相应类的class,则加载class到方法区。对应着... 查看详情

sqlserver存储过程(数据库引擎)使用详解(代码片段)

...、创建存储过程三、修改存储过程四、删除存储过程五、执行存储过程5.1、建议5.2、使用Transact-SQL执行存储过程六、授予对存储过程的权限6.1、授予对存储过程的权限6.2、授予对架构中所有存储过程的权限总结一、背景知识SQLSer... 查看详情

informix存储过程详解

...义的函数,由存储过程语句(SPL)和一组SQL语句组成,以可以执行代码形式存储在数据库中,和表、视图、索引等一样,是数据库的一种对象。存储过程语言SPL(StoredProcedureLanguage),只能用在存储过程中,可以分成下面几类:1、变... 查看详情

java编译程序和运行过程详解

...单过程的前三步;2、字节码由java虚拟机解释运行,解释执行即为目标代码生成并执行。因 查看详情

存储过程详解(代码片段)

...类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句。这样就可以提高存储过程的性能。?存储过程的概念   存储过程Procedure是一组为了... 查看详情