您的位置:首页 > 其它

文章标题

2016-12-22 21:03 232 查看
jsp:javaserver page

jsp:html模板+java代码。所有的java语言都可以在jsp中使用。

html定义了整个网页的骨架7,页面结构和外观,java代码用来操作数据的显示。

jsp API

.jsp翻译为 .java代码,*继承了httpJspBase。而httpJspBase继承了HttpServlet,jsp本质就是servlet

JspServlet类是jsp引擎。tomcat在web.xml里面已经配置了jsp的内容,tomcat是一个jsp、servlet的容器

jsp和servlet之间的相同点和不同点

他们两个都是servlet,都是服务器端动态网页的技术,jsp重在数据的显示,servlet重在逻辑业务

jsp脚本片段只能出现java代码,不能出现任何模板元素,jsp引擎在翻译jsp代码的时候,会将脚本片段里面的所有java代码都放在service方法里面,jsp脚本片段必须完全遵循java语法规则,如果要嵌套模板元素,像字符串拼接一样拆分

脚本元素脚本语法
声明<%! 声明 %>
Scriplet<% 代码 %>
脚本表达式<%= 脚本表达式 %>
<!-- jap声明,可以声明变量,函数,静态块,jsp的声明主要定义全局的变量方法 -->
<%!
//java代码
int i=10;
//静态块
static{
System.out.print("输出");
}
//方法
public intadd(){
return 1+1;
}
%>


//Scriplet:所有的java代码都是放在service方法内容,可以调用外部的属性的方法
<%
for(int i=0;i<10;i++){
%>
<p>this is p</p>
<%
}
%>
```
```
//脚本表达式,用于将程序的数据输出到客户端,jsp引擎会将脚本表达式变成out.print/out.write
<%=i%>


jsp生命周期

由jsp引擎将jsp页面翻译成java代码

将java代码编译成class字节码文件

加载到容器

由容器实例化成对象

产生阶段相关的方法是jspInit()

请求到达,调用服务器阶段相关的方法是_jspService()

销毁阶段相关的方法是jspDestroy();

jsp指令:

page:page指令用于定义与jsp页面的各种属性,无论page指令出现在jsp那个地方,他都是作用整个页面

include:可以包含任意文件,用于引入其他的一个文本文件内容,可以是动态文件/静态文件

指令静态包含,先把其他页面的内容引入到当前这个页面,变成一个页面。最终只会产生一个servlet,包含动态网页,被引入的文件可以是容易扩展名,静态引入会生成一个文件 ,在翻译成servlet,不能有指令冲突

3. taglib:导入标签库的指令

jsp动作:

: 包含的是结果, 有多少个动态页面包含多少个结果,创建多个servlet,将所有servlet结果放在一起,如果包含 是静态文件,相当于静态包含,可以设置自己的指令,不会冲突。

2. :当前执行到派发动作时候,将控制权交给下一个资源

九大隐式对象之pageContext:

他是jsp页面最重要的一个对象,代表jsp页面的运行环境,这个对象封装了其他八个对象。它自身是一个容器/域对象,当前这个对象来封装数据,还包含一些动作(跳转,引入文件)

findAttribute获取到其他对象的属性值,首先找本身这个对象,存在返回结束查找,不存在就继续从其他对象查找,查询其他对象按照从小到大(表示当前对象作用的范围)的顺序

page -> request -> session -> application,找不到就返回null

但钱对象还包含了一些动作(跳转、引入文件)

pageContext.include();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: