JSP文件怎么运行JAVA_jsp文件怎么运行
jsp文件的运行方法:首先客户端发出Request请求,JSP Container将JSP转译成Servlet的源代码;然后将产生的Servlet源代码进行编译,并加载到内存执行;最后把结果Response至客户端即可。
当客户端浏览器向服务器发出访问一个JSP页面的请求时,服务器根据该请求加载相应的JSP页面,并对该页面进行编译,然后执行。
推荐课程:Java教程。
页面的执行过程如下图所示:
客户端通过浏览器向服务器发出请求,在该请求中包含了请求的资源的路径,这样当服务器接收到该请求后就可以知道被请求的内容。
服务器根据接收到的客户端的请求来加载相应的JSP文件。
Web服务器中的JSP引擎会将被加载的JSP文件转化为Servlet。
JSP引擎将生成的Servlet代码编译成Class文件。
服务器执行这个Class文件。
最后服务器将执行结果发送给浏览器进行显示。
从上面的解释中可以看到,JSP文件被JSP引擎转换后,又被编译成了Class文件,最终由服务器通过执行这个Class文件来对客户端的请求进行响应。其中第三步和第四步构成了JSP处理过程中的翻译阶段,而第五步则为请求处理阶段。
但并不是每次请求都需要重复进行这样的处理。当服务器第一次接收到对某个页面的请求时,JSP引擎就开始按照上述的处理过程来将被请求的JSP文件编译成Class文件。当再次对该页面进行请求时,如果该页面没有任何改动,服务器就会直接调用对应的Class文件来执行。因此当某个JSP页面第一次被请求时,会有一些延迟,而再次访问时会感觉速度快了很多。如果被请求的页面经过了修改,那么服务器会重新编译这个文件,然后再执行。
jsp是怎么运行的
**jsp ——JSP引擎转换为Servlet——Java编译为.class文件——由Java虚拟机解释执行
Web容器处理JSP文件请求的执行过程主要包括以下4个部分:
客户端发出Request请求
JSP Container 将JSP转译成Servlet的源代码
将产生的Servlet源代码经过编译后,并加载到内存执行
把结果Response(响应)至客户端
很多人都会认为JSP的执行性能会和Servlet相差很多,其实执行性能上的差别只在第一次的执行。因为JSP在执行第一次后,会被编译成Servlet的类文件,即.class,当再重复调用执行时,就直接执行第一次所产生的Servlet,而不再重新把JSP编译成Servelt。因此,除了第一次的编译会花较久的时间之外,之后JSP和Servlet的执行速度就几乎相同了。
在执行JSP网页时,通常可以分为两个时期:转译时期(Translation Time)和请求时期(Request Time)
转译时期:JSP网页转移成Servlet类。
请求时期:Servlet类执行后,响应结果至客户端。
转译期间做了两件事情:
转译时期:将JSP网页转移为Servlet源代码 .java.
编译时期:将Servlet 源代码 .java编译成 Servlet类 .class.
当JSP网页在执行时,JSP Container 会做检查工作,如果发现JSP网页有更新修改时,JSP Container 才会再次编译JSP成 Servlet; 如果JSP没有更新时,就直接执行前面所产生的Servlet.**
JSP文件怎么运行JAVA_jsp文件怎么运行相关推荐
- IntelliJ IDEA的Rebuild顺序,运行的文件跟原文件不相同
IntelliJ IDEA这个工具我使用了一段时间了,正在逐步对其深入,今天遇到了一个问题,这个问题困扰了好久,刚开始我以为是project strutcture上面编译路径的问题,但是我看了很久,r ...
- Python 标准库之 os (获取当前目录、读取/设置环境变量、重命名文件、运行shell命令、创建/删除/查看目录文件、判断目录/文件/存在、获取绝对路径、获取文件名、获取换行符、获取路径分隔符)
1. os与sys模块的官方解释如下: os This module provides a portable way of using operating system dependent funct ...
- 命令行编译运行CSharp文件
命令行编译运行CSharp文件 找到csc.exe所在的路径.如我本机上为"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" 在环境变量 ...
- cmd库的导入Java,在cmd命令窗口导入第三方jar包来运行java文件
在cmd命令窗口导入第三方jar包来运行java文件,以下测试都是基于window环境,Linux环境没有测试. 1.编译 使用命令javac -cp或者javac -classpath 本机测试:如 ...
- InstallShield 2015 LimitedEdition VS2012 运行bat文件
转载:http://www.cnblogs.com/fengwenit/p/4271150.html 运行bat文件 网上很多介绍如何运行bat的方法,但我这个是limted 版本,不适用. 1. ...
- Ubuntu16.04运行.run文件
QT配置ROS环境,运行.run文件-参考链接: https://blog.csdn.net/have_fun_/article/details/88242536
- 用cmd运行python文件_怎么用cmd运行python文件
Layout Go工程项目的整体组织 首先我们看一下整个 Go 工程是怎么组织起来的. 很多同事都在用 GitLab 的,GitLab 的一个 group 里面可以创建很多 project.如果我们进 ...
- linux 如何运行.sql文件
比如我在home路径下存在SQL文件: 如何运行SQL文件: 首先登陆mysql,选择数据库:use jsclub; 然后运行:source /home/jsclub.sql; 就可以把SQL文件中的 ...
- Linux下面如何运行.sh文件
Linux下面如何运行.sh文件 命令行下面: 1.chmod 空格"+x" 空格 你的sh文件名 (+x是一个整体,不要拆开) 2.输入"./你的sh文件名" ...
- sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用
sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用 打开pycharm --> Run --> Edit Configurations --> ...
最新文章
- 查找DetailsView1数据控件中的数据
- Error: <spyOn> : handleError() method does not exist
- 0821Servlet基础
- python异常处理_Python学习点滴04 - 学会异常处理(2)
- 接口测试用例设计思路_基于python语言的接口自动化demo小实战
- maven修改本地仓库地址配置文件
- idea无限重置插件安装
- 递归算法及经典例题详解
- PageHelper分页插件的简单使用
- 《数学建模与数学实验》第1章学习笔记
- 分享8个免费的超清背景图片下载网站
- 3种交叉验证与参数选择方式
- IE浏览器无法打开HTTPS解决办法
- 6-13 折半查找 (15 分)
- Windows XP使用技巧大全
- 前端js面试题(高级)
- python提取excel指定关键词的行数据
- Java的来源和基础语法
- Google 屏蔽的关键字
- 机器视觉系列(二)——机械部分