JSP基础笔记

来源:互联网 发布:软件药品库 编辑:程序博客网 时间:2024/06/04 19:16

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输出结果。同时可以传递参数。


0 0
原创粉丝点击