jsp课堂笔记

来源:互联网 发布:淘宝可以免费开店吗 编辑:程序博客网 时间:2024/05/22 15:04



JSP全称叫java server page
jsp页面要被web容器翻译成java类,按照servlet规范,所有jsp翻译生成的类,必须实现httpjsppage配置接口,而HttpjspPage是servlet的子接口,也就意味所有jsp翻译生成类也会实现servlet,所以,从这个意义上说,jsp本质是servlet。jsp重在于页面显示,而servlet重在与逻辑处理

JSP引擎:
是web容器编写的类,负责将jsp页面翻译成java类,在web容器/conf/web.xml中进行注册。

jsp生命周期:
1. 由jsp引擎将jsp页面翻译成java代码
2. 将java代码编译成class字节码文件
3. 加载到容器
4. 由容器实例化成对象
5. 初始化阶段相关的方法是jspInit();
6. 请求到达,调用服务阶段相关的方法是:_jspService()
7. 销毁阶段相关的方法是jspDestroy()

js网页主要由元素(Element)和模板数据(templateData)两部分组成

web容器支持两种不同格式的jsp语法:
1. 普通格式和XML兼容模式
2. 普通jsp语法是设计给开发者用的
3. xml兼容jsp语法是设计用来容易被开发工具使用的

jsp的脚本元素:
1. 声明:<%!   %>定义jsp类的成员变量、静态变量和方法。
2. 脚本:<%    %> 丰富_jspService(),在脚本中定义的变量、全部是_jspService()的局部变量。
3. 表达式:<%=   % >丰富_jspService(),相当于out.print()向页面输出内容。注意,后面不能加分号;。

jsp注释:

jsp注释
 <%--xxxx--%>
容器不翻译,只在源代码可见,最为安全

html注释:
 <!--xxxx-->
html会通过out.print输出到客服端,客服端和服务器均可见,最不安全

java注释:
 //   /**/
给java代码书写的注释,只在服务器端可见

jsp隐式对象:
jsp引擎翻译的jsp类中,在_jspService()中会定义九个变量,并将这些变量做初始化,由于脚本和表达式是在丰富_jspService()方法,所以可以直接使用这些变量,这些变量称为jsp的隐式对象

jsp隐式对象有九个:
四个作用域:
1. pageContext:只在当前jsp页面有效。
2. request:作用于请求
3. session:所用与会话
4. application:作用于全局。

两个输出
5. response:相应对象
6. out:打印输出流



7. page:当前对象
8. config:配置对象
9. exception:异常对象

page指令:
- contentType:设置MIME类型和编码集
- pageEncoding:设置编码集,MIME类型默认为text/html;
- import:导入该jsp类中所用到的类。如果需要导入多个类,中间以,逗号分开。
- session:默认为true,表示访问该jsp页面是,产生会话对象。
- errorPage:表示当前jsp页面如果抛出了运行异常,则跳转指定出错页面
- isErrorPage:表示该jsp页面为出错处理页面,定义了exception隐式对象,接收异常对象

<%@include file="my.jsp" %>叫做指令包含,也叫静态包含,在编译时发生,将本身jsp和包含的jsp放在一起编译,形成一个class文件,所以两个页面不能存在同名变量,指令包含也只能包含文件

<jsp:include page="my.jsp">叫做动作包含,在请求时发生,本身jsp包含的是另一个jsp执行的结果,形成两个class文件,所以两个页面可以存在同一个变量。动作包含可以包含文件,也可以包含servlet输出结果。同时可以传递参数。
<jsp:include page="/out">
 <jsp:param value="ppp" naem="myid" />
</jsp:include>

jsp网页转发到另一个jsp页面
<jsp:forward page="relativeURL"/>内部转发页面

0 0
原创粉丝点击