jsp/servlet相关技术 (二) --- jsp的原理、注释、声明、脚本等
2015-08-14 09:54
211 查看
1、jsp的基本原理
jsp的本质是servlet,当用户向指定的servlet发送请求时,servlet利用输出流动态生成html页面,包括每一个静态的html标签和所有在html页面中出现的内容。
jsp页面的内容有两部分组成:
1、静态部分:标准的html标签、静态的页面内容,这些与静态html页面相同
2、动态部分:受到java程序控制的内容,这些内容有java程序来动态生成
jsp的本质是servlet(一个特殊的java类),每个jsp页面就是一个servlet实例——jap页面由系统编译成servlet,servlet再负责响应用户请求。也就是说,jsp是servlet的一种简化,使用jsp时,其实还是使用servlet,因为web应用中的每个jsp页面都会由servlet容器生成对应的servlet。对于tomcat而言,jsp页面生成的servlet放在work路径对应的web应用下。例如新建一个test.jsp页面,在work对应 的目录下找到如下文件:test_jsp.java和test_jsp.class。
打开test_jsp.java,会发现这是一个servlet类,如下所示:
仔细阅读该java类,发现该类主要包含如下3个方法(去掉方法名的_jsp前缀,将首字母小写):
1、init():初始化jsp/servlet的方法
2、destroy():销毁jsp/servlet之前的方法
3、service():对用户请求生成相应的方法
分析jsp页面的工作原理,我们知道:
1、jsp页面必须在jsp服务器内运行
2、jsp文件必须生成servlet才能执行
3、每个jsp页面的第一个访问者速度最慢,因为必须等待jsp编译成servlet
4、jsp页面输送到客户端的是标准的html页面
2、jsp注释
jsp注释无法发送到客户端,因此无法通过源代码看到
jsp注释的格式:
<%-- 注释内容 --%>
html注释则可以在源代码中看到
html注释的格式:
<!-- 注释内容 -->
3、jsp声明
jsp声明用于声明变量和方法。jsp声明将会转换为对应servlet的成员变量或成员方法。
jsp声明的语法格式为:
<%! 声明内容 %>
注意:jsp声明的变量和方法可以使用public、private等访问控制符修饰,也可以使用static修饰,将其变为类属性和类方法,但不能使用abstract修饰声明的方法,因为抽象方法将导致jsp对应的servlet变成抽象类,从而无法实例化。
4、jsp的输出
jsp的输出表达式的方法:
<%=表达式 %>
注意:jsp输出表达式之后不能带分号
5、jsp脚本
jsp脚本的格式:
<% 脚本内容 %>
jsp脚本将转换成servlet里_jspService方法的可执行代码,说明jsp脚本也可以声明变量,但其中声明的变量时局部变量,不能使用private、public等访问控制符修饰,也不可使用static修饰。但是有一点,jsp脚本里无法声明方法,这是由于jsp脚本将转换成_jspService方法里的可执行代码,而java语法不允许在方法里定义方法,所以jsp脚本里不能定义方法。
jsp的本质是servlet,当用户向指定的servlet发送请求时,servlet利用输出流动态生成html页面,包括每一个静态的html标签和所有在html页面中出现的内容。
jsp页面的内容有两部分组成:
1、静态部分:标准的html标签、静态的页面内容,这些与静态html页面相同
2、动态部分:受到java程序控制的内容,这些内容有java程序来动态生成
jsp的本质是servlet(一个特殊的java类),每个jsp页面就是一个servlet实例——jap页面由系统编译成servlet,servlet再负责响应用户请求。也就是说,jsp是servlet的一种简化,使用jsp时,其实还是使用servlet,因为web应用中的每个jsp页面都会由servlet容器生成对应的servlet。对于tomcat而言,jsp页面生成的servlet放在work路径对应的web应用下。例如新建一个test.jsp页面,在work对应 的目录下找到如下文件:test_jsp.java和test_jsp.class。
打开test_jsp.java,会发现这是一个servlet类,如下所示:
仔细阅读该java类,发现该类主要包含如下3个方法(去掉方法名的_jsp前缀,将首字母小写):
1、init():初始化jsp/servlet的方法
2、destroy():销毁jsp/servlet之前的方法
3、service():对用户请求生成相应的方法
分析jsp页面的工作原理,我们知道:
1、jsp页面必须在jsp服务器内运行
2、jsp文件必须生成servlet才能执行
3、每个jsp页面的第一个访问者速度最慢,因为必须等待jsp编译成servlet
4、jsp页面输送到客户端的是标准的html页面
2、jsp注释
jsp注释无法发送到客户端,因此无法通过源代码看到
jsp注释的格式:
<%-- 注释内容 --%>
html注释则可以在源代码中看到
html注释的格式:
<!-- 注释内容 -->
3、jsp声明
jsp声明用于声明变量和方法。jsp声明将会转换为对应servlet的成员变量或成员方法。
jsp声明的语法格式为:
<%! 声明内容 %>
注意:jsp声明的变量和方法可以使用public、private等访问控制符修饰,也可以使用static修饰,将其变为类属性和类方法,但不能使用abstract修饰声明的方法,因为抽象方法将导致jsp对应的servlet变成抽象类,从而无法实例化。
4、jsp的输出
jsp的输出表达式的方法:
<%=表达式 %>
注意:jsp输出表达式之后不能带分号
5、jsp脚本
jsp脚本的格式:
<% 脚本内容 %>
jsp脚本将转换成servlet里_jspService方法的可执行代码,说明jsp脚本也可以声明变量,但其中声明的变量时局部变量,不能使用private、public等访问控制符修饰,也不可使用static修饰。但是有一点,jsp脚本里无法声明方法,这是由于jsp脚本将转换成_jspService方法里的可执行代码,而java语法不允许在方法里定义方法,所以jsp脚本里不能定义方法。
相关文章推荐
- 实例讲解js中的预编译
- Chrome 控制台 如何调试javascript
- Google Chrome调试js代码
- JSON 数据格式
- 一个jsp的注册界面
- js实现选中复选框文字变色的方法
- 如何学习3D Three.js 3D引擎
- js 表格合并
- jsp页面foreach循环,表单提交,批量处理数据,
- JavaScript 属性介绍
- avalon js实现仿微博拖动图片排序
- javascript实现显示和隐藏div方法汇总
- javascript运算符及优先级
- js-延迟处理函数
- javascript实现页面倒计时跳转
- JavaScript 32位整型无符号操作
- JavaScript基础教程
- Javascript DOM编程艺术(第2版) -- 读书笔记(一)
- js 操作select和option常见用法
- js基础4