JSP技术
第六章、JSP技术
6.1 JSP概述
JSP文件中,HTML代码与Java代码共同存在,HTML代码用来实现网页中静态内容的显示,Java代码用来实现网页中动态内容的显示。
- 跨平台
jsp基于Java语言的,它可以使用Java API,所以它也是跨平台的(同Java原理)。 - 业务代码相分离
界面的开发与应用程序的开发分离开。开发人员使用HTML设计界面,使用JSP标签和脚本来动态生成页面上的内容。服务器端,JSP引擎(容器,本书中指Tomcat)负责解析JSP标签和脚本程序,生成所请求的内容,并将执行结果以HTML页面的形式返回浏览器。 - 组件重用
JSP可以使用JavaBean编写业务组件,也就是使用一个JavaBean封装业务处理代码或者作为一个数据存储模型,在JSP页面中,甚至整个项目中都可以重复使用这个JavaBean,同时可应用到其他Java应用程序中。 - 预编译
用户第一次通过浏览器访问JSP页面时,服务器将对JSP页面代码进行编译,仅执行一次编译。编译好的代码会被保存,下一次访问会直接执行编译好的代码。节约CPU资源,提升客户端的访问速度。
6.2 JSP运行原理
JSP是请求响应模式,客户端发出HTTP请求,JSP程序收到请求后进行处理并返回结果。
在一个JSP页面被第一次请求时,JSP引擎(容器)把该JSP文件转换为一个Servlet。
- 发出请求,请求访问JSP文件
- 将JSP文件转换成一个Java源文件(Java Servlet源程序)在转换过程中,如果发现语法错误,立即终端并向服务器和客户端返回错误信息。
- 转换成功,Java源文件编译成相应的字节码文件*.class 该文件是一个Servlet,Servlet容器会像处理其他Servlet容器一样处理它。
- 由容器加载后的Servlet类(*.class文件)创建一个该Servlet(JSP页面转换结果)实例,并执行初始化方法 jspinit(); ,初始化方法在其生命周期中只执行一次。
- 执行 jspService();处理客户端的请求。对于每一个请求,JSP容器都会创建一个新的线程执行。极大降低对系统资源的需求,提高系统的并发量,缩短响应时间(Servlet常驻内存)。
- JSP文件被修改,服务器根据设置决定是否对该文件重新编译,需要重新编译,使用重新编译结果取代原Servlet。
- 第一次转换和编译会产生轻微的延迟。系统资源不足,Servlet可能会被移除,调用jspDestory()方法,被当垃圾收集。
- 请求处理完成,响应对象由JSP容器接收,将HTML

本文详细介绍了JSP技术,包括JSP的概述、运行原理、基本用法、指令和隐式对象。JSP结合HTML和Java实现动态网页,支持跨平台,允许业务代码与界面相分离,提供组件重用和预编译功能。JSP运行时经历转换为Servlet、编译、初始化和执行过程。JSP指令如page和include用于页面配置和内容插入。JSP隐式对象如out和pageContext提供便捷的页面操作。JSP动作元素如< jsp:include >和< jsp:forward >用于动态包含和请求转发。
&spm=1001.2101.3001.5002&articleId=118196775&d=1&t=3&u=eb596a5bab4e4e839fefb9a9fc46d942)
1979

被折叠的 条评论
为什么被折叠?



