JSP基础笔记
2016-07-09 14:56
267 查看
jsp:java server page
jsp页面要被WEB容器翻译成Java类,按照servlet规范,所有jsp翻译生成的类,必须实现HTTPJSPPage接口。而HTTPJSPPage是servlet的子接口。也就意味着所有jsp翻译生成的类也会实现servlet。所以,从这个意义上说,jsp本质是servlet。jsp重在于页面显示,而servlet重在于逻辑处理。
jsp引擎:
jsp引擎是web容器编写的类,负责将jsp页面翻译成Java类。jsp生命周期:
由jsp引擎将jsp页面翻译成Java代码将Java代码编译成Class字节码文件
加载到容器
由容器实例化成对象
初始化阶段相关的方法是JSPInit
请求到达后,调用服务器阶段的相关方法是 _jspService()
销毁阶段向的方法是jspDestroy()
Jsp的语法和意义:
Jsp网页主要由元素和摸板数据组成1.模板数据是jsp的静态部分
2.Web容器不处理
3.元素则是必须经由web容器解释
4.元素都是以xml做语法基础,并且大小写一致
Web容器不支持的两种语法:
1.普通格式和XML兼容格式2.普通jsp语法是设计给开发者使用的
3.XML兼容jsp语法是设计用来容易被开发工具使用的
Jsp注释:
1.jsp注释:<%– 这里是jsp注释 –%>容器不翻译,只在源代码中可见,最为安全;
2.html注释:不安全,服务器会将注释输出到客户端,客户端和服务器均可见,最不安全;
3.注释://这里是java注释;/* 这里是java注释*/ 给java代码书写的注释,只在服务器端可见
jsp脚本元素:
声明
<%! %>定义jsp类的成员变量、静态变量和方法脚本
局部变量<% %> 丰富_JSPService方法,在脚本中定义的变量,全部是_JSPService的。表达式
<%= “aaa” %>丰富_jspservice方法,相当于out.print()向页面输出内容;表达式后面不能加;jsp隐式对象 :
jsp引擎翻译的jsp类当中,在_JSPService()中会定义九个变量,并将这些变量做初始化。由于脚本和表达式是在丰富_JSPService()方法。所以可以直接使用这些变量。这些变量称为jsp隐式对象。jsp隐式对象有九个:
page:当前对象config:配置对象
exeception:异常对象
pageContext:只在当前jsp页面有效
response:响应对象
request:作用于请求
out:打印输出流
session:作用与会话
application:作用于全局
在JSP中,有三种类型的指令
page指令为当前页面提供处理指令
include指令用于把另一个文件包含在JSP中
taglib指令指定如何包含和访问自定义标签库
页面指令的功能是设定整个JSP页面的属性和相关功能
page指令:
contentType:设置MIME类型和编码集
pageEncoding:设置编码集,MIME类型默认为text/html;
import:导入该jsp类所用到的类。如果需要导入多各类,中间以逗号分开。
session:默认为true。表示访问该jsp页面时,产生会话对象。
errorPage:表示当前jsp页面如果抛出了运行异常,则跳转指定出错页面。
isErrorPage:表示该jsp页面为出错处理页面。定义了exception隐式对象,接收异常对象。
静态包含
<%include file=…%>叫做指令包含,也叫静态包含。在编译时发生。将本身jsp和包含的jsp放在一起编译,形成一个class文件。所以两个页面不能存在同名变量,指令包含也只能包含文件。
动作包含
< jsp:include page =”my.jsp”>叫做动作包含,在请求时发生。本身jsp包含的是另一个jsp执行的结果。形成两个class文件。所以两个页面可以存在同名变量。动作包含可以包含文件,也可以包含servlet输出结果。同时可以传递参数。相关文章推荐
- jsp页面el表达式失效
- 使用ajaxfileupload.js实现上传文件功能
- .net 实体类与json转换(.net自带类库实现)更新
- .net 实体类与json转换(.net自带类库实现)更新
- js随机产生40个60至100之间的不相同的数字存入数组并顺序排序
- NW.js初体验
- <c:forEach>跳出循环--JSTL
- JavaScript学习笔记十七:包装对象
- js基础篇(dom操作,字符串,this等)
- perl post发送json数据
- perl post发送json数据
- perl post发送json数据
- 一些json数据格式转换的例子
- JavaScript实现拖拽预览,AJAX小文件上传
- 关于js开发的小问题
- js数组去重
- Jason和xml两者的区别
- Javascript继承机制
- 对于javascript四舍五入保留多少位小数的问题
- js 中 == 和 ===的区别