当前位置:
文档之家› 第三章 JSP技术-JavaEE基础教程-冯志林-清华大学出版社
第三章 JSP技术-JavaEE基础教程-冯志林-清华大学出版社
最终会被转换成标准的Servlet,该转换过程一般在出现第一次页面请求时。 • JSP设计的目的在于简化表示层的展示。JSP并没有增加任何本质上不能用Servlet
实现的功能。 • 在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。 • 借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开。
Java程序片段( Scriptlet )和JSP标签,构成了JSP 网页(*.jsp) • JSP是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端
只要有浏览器就能浏览。
第3章 JSP技术
3.1.1 什么是JSP技术 • JSP是一种实现普通静态HTML和动态HTML混合编码的技术。 • 虽然从代码编写来看,JSP页面更像普通Web页面而不像Servlet,但实际上,JSP
第3章 JSP技术
3.1.2 JSP的优点
页面设计人员
JSP 程序员
Web 开发工具
Macromedia
.....
Dreamweaver
Eclipse
JSP 页面
静态内容
动态内容
第3章 JSP技术
3.1.3 一个简单的JSP页面
<html> <head> <meta http-equiv="Content-Type" content="text/html"; charset="GB18030"> <title>My First Web Program</title> </head> <body> Hello World!<br> The page count is: <% int count=0; %> <% count++; out.println(count); %> <br> </body> </html>
第3章 JSP技术
3.1.4 JSP生命周期管理
转换和编译工 作仅进行一次
容器实例化servlet并运行 jspInit()方法
对象现在成为一个 servlet,准备接收客 户请求
容器创建一个新的线程来处理客户 请求,servlet的_jspService()方法 运行
以后与传统servlet处 理方式无异
第3章 JSP技术
3.1.5 JSP 执行过程
第3章 JSP技术
3.1.6 一个记数器例子
在HelloJsp项目中创建一个JSP文件及一个类文件:
JSP:ShowCounter.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head></head>
<body>
每次刷新页面,将增加计数器的值。<br>
计数器值:
<%
out.print(zjc.Counter.getCount());
%>
</body>
Java代码片断
</html>
第3章 JSP技术
3.1.6 一个记数器例子
在项目中创建一个JSP文件及一个类文件:
工具类:Counter.java
第3章 JSP技术
3.1.4 JSP页面的执行
JSP页面最终以servlet方式在容器中运行
容器将JSP文件翻译成servlet类的源文件(.java),然后将其编译成servlet class(.class)。
以和手工编写servlet同样的方式运行servlet JSP页面只需在第一次执行时编译
package zjc;
public class Counter { private static int count; public static int getCount(){ count++; return count; }
}
第3章 JSP技术
3.1.6 JSP页面源码和Servlet代码对应关系
第三章 JSP技术
1)JSP简介 2) JSP 页面结构 3) JSP内置对象
第三章
JSP技术
第3章 JSP技术
3.1 JSP简介
3.1.1 什么是JSP技术
• JSP( JavaServer Pages )是由Sun 公司倡导、许多别的公司参与一起建立的一种新 动态网页技术标准。
• JSP技术是由Servlet技术发展来的,不需要手工编译(由容器自动编译)。 • JSP用Java语言作为脚本语言, 在传统的网页HTML 文件( *.htm,*.html )中加入
第3章 JSP技术
3.1.2 JSP的优点
• 采用标签化页面开发 • Web 网页开发人员不一定都是熟悉Java 语言的程序员。因此,JSP 技 术能够将许多功能封装起来,成为一个自定义的标签,这些功能是完全 根据XML 的标准来制订的,即JSP 技术中的标签库(Tag Library)。因 此,Web 页面开发人员可以运用自定义好的标签来达成工作需求,而无 须再写复杂的Java 语法,让Web 页面开发人员亦能快速开发出一动态 内容网页。
第3章 JSP技术
3.2 JSP页面结构
3.2.1 JSP页面构成要素
• 静态内容:即一些HTML代码 • JSP Scriptlet • JSP声明 • JSP表达式 • JSP注释 • JSP指令 • JSP动作 • 内置对象
第3章 JSP技术
3.2.2JSP脚本
<body> 计数器值: <% int count=0; %> <% count++; out.println(count); % > <br> <%
out.print(zjc.Counter.getCount()); %> </body>
out.write("<body>\n"); out.write("计数器值:\r\n"); int count = 0; out.write('\r'); out.write('\n'); count++; out.print(count); out.write("\r\n"); out.write("<br>\r\n"); out.print(zjc.Counter.getCount()); out.write("\n"); out.write("</body>\n"); out.write("</html>");