当前位置: 首页 > news >正文

Jsp运行原理

  当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。JSP页面的执行过程如下图所示:

  1. 客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的内容。
  2. 服务器根据接收到的客户端的请求来加载相应的JSP文件。
  3. Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet。
  4. JSP引擎将生成的Servlet代码编译成Class文件。
  5. 服务器执行这个Class文件。
  6. 最后服务器将执行结果发送给浏览器进行显示。

        从上面的解释中可以看到,JSP文件被JSP引擎转换后,又被编译成了Class文件,最终由服务器通过执行这个Class文件来对客户端的请求进行响应。其中第三步和第四步构成了JSP处理过程中的翻译阶段,而第五步则为请求处理阶段。

        但并不是每次请求都需要重复进行这样的处理。当服务器第一次接收到对某个页面的请求时,JSP引擎就开始按照上述的处理过程来将被请求的JSP文件编译成Class文件。当再次对该页面进行请求时,如果该页面没有任何改动,服务器就会直接调用对应的Class文件来执行。因此当某个JSP页面第一次被请求时,会有一些延迟,而再次访问时会感觉速度快了很多。如果被请求的页面经过了修改,那么服务器会重新编译这个文件,然后再执行。

转载于:https://www.cnblogs.com/huangjinyong/p/9317296.html

相关文章:

  • 苹果mac版微软官方远程连接工具下载Microsoft Remote Desktop For Mac
  • Day 2:线程与进程系列问题(二)
  • 静态方法和类方法
  • 在Asp.Net Core中使用中间件保护非公开文件
  • less、sass、stylus
  • 数组由大到小排序并返回排序后的下标
  • Python 爬虫四 基础案例-自动登陆github
  • 安装python3
  • POJ 3616 Milking Time(加掩饰的LIS)
  • SpringBoot------新建一个项目
  • HNOI2002 彩票 [搜索]
  • [P3097] [USACO13DEC] [BZOJ4094] 最优挤奶Optimal Milking 解题报告(线段树+DP)
  • build custom centos7
  • ES系列二、CentOS7安装ES head6.3.1
  • 对整型、浮点型、字符串类型的认识
  • 深入了解以太坊
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CentOS从零开始部署Nodejs项目
  • Java,console输出实时的转向GUI textbox
  • Mocha测试初探
  • PHP 7 修改了什么呢 -- 2
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 新手搭建网站的主要流程
  • 由插件封装引出的一丢丢思考
  • 终端用户监控:真实用户监控还是模拟监控?
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 如何正确理解,内页权重高于首页?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • # Panda3d 碰撞检测系统介绍
  • #13 yum、编译安装与sed命令的使用
  • #pragma once与条件编译
  • #预处理和函数的对比以及条件编译
  • $(selector).each()和$.each()的区别
  • (¥1011)-(一千零一拾一元整)输出
  • (70min)字节暑假实习二面(已挂)
  • (javascript)再说document.body.scrollTop的使用问题
  • (九)信息融合方式简介
  • (三)c52学习之旅-点亮LED灯
  • (生成器)yield与(迭代器)generator
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)负载均衡,回话保持,cookie
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .bat批处理(九):替换带有等号=的字符串的子串
  • ??在JSP中,java和JavaScript如何交互?
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ C++ ] STL_list 使用及其模拟实现
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [383] 赎金信 js
  • [Asp.net MVC]Bundle合并,压缩js、css文件