2021-11-12

JAVAweb学习第五天

学习jsp

JSP 概述
6.1.1 什么是JSP
JSP 全名是 Java Server Pages,它是建立在 Serviet规范之上的动态网页开发技术。在JSP
文件中,HTML 代码与 Java 代码共同存在,其中,HTML 代码用来实现网页中静态内容的显示。
Java 代码用来实现网页中动态内容的显示。为了与传统 HTIML 有所区别,JSP 文件的扩展名
为jisp。
JSP 技术所开发的 Web 应用程序是基于 Java 的,它可以用一种简捷而快速的方法从 Java
程序生成 Web 页面,其使用上具有如下几点特征。
•。跨平台:由于 JSP 是基于 Java 语言的,它可以使用 Java API,所以它也是跨平合的。
可以应用于不同的系统中,如 Windows、Linux 等。当从一个平台移植到另一个平台时,JSP和
JevaBean 的代码并不需要重新编译,这是因为 Java 的字节码是与平台无关的,这也应验了Java
语言“一次编译,到处运行”的特点。
。业务代码相分离:在使用 JSP 技术开发 Web 应用时,可以将界面的开发与应用程序的
开发分离开。开发人员使用 HTML 来设计界面,使用 JSP 标签和脚本来动态生成页面上的内容。
在服务器端,JSP 引擎(或容器,本书中指 Tomcat)负责解析 JSP 标签和脚本程序,生成所请
求的内容,并将执行结果以 HTML 页面的形式返回到浏览器。
•组件重用:JSP 中可以使用 JavaBean 编写业务组件,也就是使用一个 JavaBean 类封
装业务处理代码或者作为一个数据存储模型,在 JSP 页面中,甚至在整个项目中,都可以重复!
使用这个 JavaBean。同时,JavaBean 也可以应用到其他 Java 应用程序中。
•预编译:预编译就是在用户第 1 次通过浏览器访问 JSP 页面时,服务器将对 JSP页
面代码进行编译,并且仅执行一次编译。编译好的代码将被保存,在用户下一次访问时,会
直接执行编译好的代码。这样不仅节约了服务器的 CPU 资源,还大大地提升了客户端的访问速度

6.1.3 JSP 运行原理
JSP 的工作模式是请求/响应模式,客户端首先发出 HTTP 请求,JSP 程序收到请求后进行处
理并返回处理结果。在一个 JSP 文件第 1 次被请求时,JSP 引擎(容器)把该 JSP 文件转换成
为一个 Servlet,而这个引擎本身也是一个 Servlet。
JSP 的运行过程具体如下。
(1)客户端发出请求,请求访问 JSP 文件。
( 2 )JSP 容器先将 JSP 文件转换成一个 Java 源文件( Java Serylet 源程序),在转换过程中,
如果发现 JSP 文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
(3)如果转换成功,则 JSP 容器将生成的 Java 源文件编译成相应的字节码文件*.class。该
class 文件就是一个 Servlet,Servlet 容器会像处理其他 Servlet 一样来处理它。
(4)由 Servlet 容器加载转换后的 Servlet 类(.class 文件)创建一个该 Servlet (JSP 页面
的转换结果)实例,并执行 Servlet 的 jspInit()方法。jspInit()方法在 Serviet 的整个生命周期中只
会执行一次。
(5)执行 jspService()方法来处理客户端的请求。对于每一个请求,JSP 容器都会创建一个
新的线程来处理它。如果多个客户端同时请求该 JSP 文件,则JSP 容器也会创建多个线程,使
得每一个客户端请求都对应一个线程。JSP 运行过程中采用的这种多线程的执行方式可以极大地
降低对系统资源的需求,提高系统的并发量并缩短响应时间。需要注意的是,由于第(4)步生
成的 Servlet 是常驻内存的,所以响应速度非常快。

6.1.3 JSP 运行原理
JSP 的工作模式是请求/响应模式,客户端首先发出 HTTP 请求,JSP 程序收到请求后进行处
理并返回处理结果。在一个 JSP 文件第 1 次被请求时,JSP 引擎(容器)把该 JSP 文件转换成
为一个 Servlet,而这个引擎本身也是一个 Servlet。
JSP 的运行过程具体如下。
(1)客户端发出请求,请求访问 JSP 文件。
( 2 )JSP 容器先将 JSP 文件转换成一个 Java 源文件( Java Serylet 源程序),在转换过程中,
如果发现 JSP 文件中存在任何语法错误,则中断转换过程,并向服务端和客户端返回出错信息。
(3)如果转换成功,则 JSP 容器将生成的 Java 源文件编译成相应的字节码文件*.class。该
class 文件就是一个 Servlet,Servlet 容器会像处理其他 Servlet 一样来处理它。
(4)由 Servlet 容器加载转换后的 Servlet 类(.class 文件)创建一个该 Servlet (JSP 页面
的转换结果)实例,并执行 Servlet 的 jspInit()方法。jspInit()方法在 Serviet 的整个生命周期中只
会执行一次。
(5)执行 jspService()方法来处理客户端的请求。对于每一个请求,JSP 容器都会创建一个
新的线程来处理它。如果多个客户端同时请求该 JSP 文件,则JSP 容器也会创建多个线程,使
得每一个客户端请求都对应一个线程。JSP 运行过程中采用的这种多线程的执行方式可以极大地
降低对系统资源的需求,提高系统的并发量并缩短响应时间。需要注意的是,由于第(4)步生
成的 Servlet 是常驻内存的,所以响应速度非常快。

其中有page指令
在这里插入图片描述

include指令
在这里插入图片描述

out对象等
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值