J2EE Architecture(9)

简介: J2EE Architecture(9) JSP规范 1、JSP技术帮助开发人员创建企业应用程序的表示部分,允许方便地生成动态清晰的内容。 在HTML内容中嵌入Java代码是JSP技术的思想灵魂。

J2EE Architecture(9)


JSP规范
1、JSP技术帮助开发人员创建企业应用程序的表示部分,允许方便地生成动态清晰的内容。
在HTML内容中嵌入Java代码是JSP技术的思想灵魂。
JSP规范和平台允许JSP设计人员根据应用程序需要的动态内容,在HTML页面中嵌入任意数量的代码。
JSP设计允许分开编写HTML代码和Java代码,之后,可将其揉合在一起,生成JSP页。
1)在客户端访问JSP页时,需要经历以下两个阶段:
(1)转换阶段
转换阶段将JSP转换为Servlet类源文件。
在这个阶段,Web容器正确解释JSP页的内容,解释过程应生成语法和语义上正确无误的Java页面。
如果此阶段出现错误,将无法创建Servlet类,更无法将JSP提供给客户端。
(2)执行阶段
将Java源代码编译为特殊Servlet类字节码。
此阶段,Web容器将编译Servlet Java文件,必须确保不出现编译错误,并正确生成Servlet字节码。
接着,将Servlet加载到Web容器JVM,实例化JSP,此时的JSP已经可以接受客户请求。
在成功编译后,JSP页已变为多线程Servlet,交由Web容器中的JSP引擎执行。这个特殊Servlet包含3个重要方法,已控制JSP页的生命期,如下:
(1)jspInit()
(2)jspDestroy()
(3)_jspService()
注:在提供JSP页面定制特性时,可覆盖前两个方法,但不能覆盖_jspService()方法。
2、JSP语法
通过特殊标记“”使用脚本元素,脚本元素通过适当方式嵌入HTML元素标记。
JSP技术的脚本元素分为以下5种:
1)注释
有3种:HTML注释、JSP注释和Java语言注释。JSP注释和Java语言注释显示在脚本标记“”中,HTML注释不在脚本元素中显示。
2)指令(directive)标记
为转换阶段提供全局信息。其语法如下:

指令类型有3种:page指令、include指令和taglib指令。
例:
3)声明(declaration)标记
它允许在脚本标记“”中引入Java程序以及与Java相关的声明。
例:
Java使用的任何声明类型均可在这个标记中显示,如类变量、实例变量、实例方法、静态方法和内部类等。规范没有限制声明标记中的Java代码。
4)Scriptlet标记
Scriptlet标记允许将任何Java代码嵌入“”标记中,输入代码将转换为_jspService()方法的一部分。
5)表达式(express)标记
它包含Java语言表达式的特定部分,在运行时,经过计算表达式生成输出。
可将表达式标记与HTML元素巧妙地结合在一起,以设置所需的输出格式。
例:
注意:与Scriptlet标记不同,表达式不以“;”结尾。
3、对象、隐性对象和作用域
JSP技术允许在服务器端创建对象,并使用某些隐性对象提供动态内容。
并非JSP页的所有部分都可以访问所有对象。
1)作用域
(1)页作用域
页作用域的对象只允许在说建页面中访问,对象存储在pageContext中。
在将响应返回给客户端时,将释放对象的所有引用。
(2)请求作用域
如多个页面服务同一个请求,则请求作用域的对象可供这些JSP页访问。
在将响应返回给客户端时,将释放对象的所有引用。
(3)会话作用域
比请求作用域大。会话包含多个请求/响应操作,参与会话的所有页面都可以访问会话对象域对象。
会话作用域对象的引用存储在隐性对象session中。
在会话完成后,将释放该对象的所有引用。
(4)应用程序作用域
在Web应用程序活动期间,应用程序作用域的对象将一直存在。
特定应用程序的所有Web组件都可以访问这些对象。
2)隐性对象
这些对象可简化开发人员的工作,可用于Scriptlet和表达式。
(1)请求对象
表示HttpServletRequest对象,其作用域为“请求”。
(2)响应对象
表示HttpServletResponse对象,其作用域为“响应”。
(3)pageContext对象
表示JSP的上下文,其作用域为“响应”。
(4)对话对象
HttpSession类型的对象,用于请求客户端。其作用域为“会话”。
(5)应用程序对象
ServletContext类型的对象,用于Web应用程序。其作用域为“应用程序”。
(6)out对象
该对象的作用是将输出写入输出流。其作用域为“页”。

 

目录
相关文章
|
Android开发 Java Kotlin
Architecture -- WorkManager
1. WorkManager 1). 简介 其实就是"管理一些要在后台工作的任务, -- 即使你的应用没启动也能保证任务能被执行",WorkManager在底层, 会根据你的设备情况, 选用JobScheduler, Firebase的JobDispatcher, 或是AlarmManager。
906 0
Enterprise Architect学习笔记-EA中关系
Enterprise Architect中定义的关系主要有一下几种: ●Associate(关联):类之间有关联,通常是作为变量存在; ●Aggregate(聚合):类A包含类B或由类B组成;...
1120 0
|
Java API 数据库
J2EE Architecture(5)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1603877 J2EE Architecture(5) 1、J2EE标准产品标准产品是J2EE平台的有形方面:1)应用程序组件客户层组件:典型的客户端有Java应用程序、Java applet和瘦客户端等;表示层组件:表示层组件在Web服务器环境中运行,Servlet、JSP和HTML等都是典型例子。
859 0
|
开发框架
J2EE Architecture(16)
J2EE Architecture(16)
597 0
|
XML Java 数据格式
J2EE Architecture(11)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1609728 J2EE Architecture(11) 1、JSP文档(JSP Document)根据XML语法调整格式的JSP页称为JSP文档。
730 0
J2EE Architecture(6)
J2EE Architecture(6)
863 0
|
架构师
J2EE Architecture(2)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596037 J2EE Architecture(2) 1、架构术语架构师要有艺术家的风范。
863 0
|
开发框架
J2EE Architecture(3)
J2EE Architecture(3)
839 0
|
API 容器 开发框架
J2EE Architecture(7)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607  J2EE Architecture(7) 1、Servlet上下文Web服务器能支持若干Web应用程序。
845 0
|
Java 容器
J2EE Architecture(12)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1611378 J2EE Architecture(12) 1、EJB规范EJB(Enterprise JavaBean)是最重要的组件,也是J2EE技术的重要组成部分。
1026 0