第二章 JSP语法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
28
<jsp-config> 案例演示 <jsp-property-group> 复制WEB-INF\2010test <url-pattern>*.jsp</url-pattern> 虚拟目录为 test <page-encoding>GB2312</page-encoding> <url-pattern>*.html</url-pattern> <page-encoding>GB2312</page-encoding> </jsp-property-group> 说明:<jsp-config>里的定义,就是通知当前应用服务器,所有 </jsp-config>
22
& 2.6.2
三、格式
Include 指令标签
<%@ include file=“relativeURL” %> 注意:@指动作指令,令JSP引擎完成某些工作;即,编译开关 四、属性 file=“relativeURL” 但是为什么称为“静态”
P23
International Business College of Qingdao University
17
作用和格式
页对象
International Business College of Qingdao University
18
属性说明
默认的?
B
S
19
International Business College of Qingdao University
属性说明
目的呢?
为JSP页面准备一个常用且 可能需要经常修改的字符串
JSP中的注释:写在JSP程序代码中,但不发送到客户端,即给
自己看,也叫程序注释,隐藏注释
<%-- comment --%> 二、案例 P18 2-7.jsp ; 修改代码末尾看变化
16
International Business College of Qingdao University
2.6
指令标签
见2-2-1.jsp
2.2
5、变量的类型 与JAVA完全相同 回忆?
• • • • 整数:
变量和方法的声明
byte/short/int/long(8、16、32、64)
字符: char(16)因为采用Unicode全球文字共用编码,如 日语、简体中文、英语等。(C和C++是8位) 浮点: 布尔: double/float(64、32) boolean
指令标签:Page和Include & 2.6.1 Page 指令标签 一、案例:结果演示2-13.jsp, 2-13-1.jsp 二、作用和格式 三、属性说明 四、案例分析 2-13.jsp;课本案例8(2-8);2-9.jsp 思考(使用errorPage处理异常)
International Business College of Qingdao University
International Business College of Qingdao University
13
注 意
JSP 页面最终要被转换成?程序
JSP页面中的Java片段、表达式、HTML元素等都将转 换成Servlet的_jspService方法中的程序代码。
在java程序片段中声明的变量也将被插入_jspService
International Business College of Qingdao University
3
2.1
两大部分
JSP页面的基本结构
JSP元素:是指将由JSP引擎直接处理的部分,
此部分必须符合JSP语法,否则会导致编译错
误! Template Data:指的是JSP引擎不处理的部 分,JSP引擎将会把这部分信息直接传递出去 而不进行任何处理,基本上是HTML
6
四、JSP程序示例:
课本案例的执行结果:见案例2-1.jsp
Java文件从哪里找?
2.2
一、声明变量
变量和方法的声明
1、声明的语法格式
<%! 声明内容1;[声明内容2;]…… %>
注意:可以声明多个变量,但是,必须在最后一个加分号.
2、也叫成员变量:所声明变量在整个JSP页面中有效。
思考为什么?
25
提示
1、被包含文件页面指令作用
firstExample2_10_1.jsp 、secondExample2_10_2.jsp 和Ok1.txt
此处看page指令的作用
Ok.txt修改首行看结果Ok1.txt
International Businesቤተ መጻሕፍቲ ባይዱ College of Qingdao University
23
五、案例分析 相同吗?
见课本P25例
firstExample2_10.jsp 、secondExample2_10.jsp 和 same.jsp
课后思考:看转译后的JAVA文件
International Business College of Qingdao University
24
为什么?
• 表达式
• 注释语句 • 标签
2.1
一、结构
JSP页面的基本结构
一个JSP页面的基本结构通常包含三部分: 1. 普通的HTML标记、 2. JSP标签、 3. JSP脚本(变量和方法的声明、 Java程序片和Java表达式)
<%@ page contentType=“…..”%> <%@ page import=“java.io.*” %> ... <HTML> <BODY> 其他 HTML 语言 <% //符合JAVA 语法的 JAVA 语句 %> 其他 HTML 语言 </BODY></HTML>
在<%和 %>之间加入Java程序语句即可。 程序片的执行——看转译后的Java文件
见课本P16例
2-5.jsp
2.4
一、运算符
表达式
回忆?四大类——算术、逻辑、位、关系 二、表达式
语法格式:
<%=表达式内容(Expression)%>
注意:在%和=之间不能有空格;不能用;结束; 三、案例 见课本P17例 2-6.jsp 思考:计算结果是以什么方式发送到客户端?
的 .jsp以及.html 文件,若是没有定义charset=GB2312时,就会 采用预设的 “GB2312” 字符集去处理,如此,就不需要在每个 文件第一行加上charset=GB2312"了。
<jsp-config> 包括<taglib> 和<jsp-propertygroup> 两个子元素。 其中<taglib>在JSP 1.2时 就已经存在;而<jsp-property-group>是JSP 2.0 新增的元素。 <jsp-property-group>元素主要有 八个子元素,见下页,此处主要有:
International Business College of Qingdao University
4
二、JSP的执行过程:
servlet servlet 分析器
request
*.jsp
jsp parser
JSDK
*.java *.class 执 行
response
多个客户请求呢?
International Business College of Qingdao University
定页面编码方式。
但在tomcat 5.0.x中,被include的文件需要指定编码
方式,否则可能出现乱码。而且必须相同(大小写也必须 相同,例如GB2312和gb2312不一样)。 即:主页面文件和被包含页面文件中,都需要加入: <%@page contentType="text/html; charset=GB2312" %>
International Business College of Qingdao University
8
2.2
3、案例 <%! int a, b, c;
变量和方法的声明
string s="hello"; %> 课本P11 2-2.jsp(成员变量,实验两个人同时进行)
解决?
计数器
4、变量的定义域
web
WEB编程技术
吴剑云 管理科学与工程系
1
International Business College of Qingdao University
1
第二章
JSP语法
引子:第一章的例子解释 教学目的: 1、掌握JSP脚本元素的用法 2、掌握JSP指令的用法 主要内容: • JSP页面的基本结构 • 变量和方法的声明
5
查找对应的JSP文件
三、JSP的执行流程:
是否存在 Y 是否是修改或创建 后第一次调用 Y 调用Jsp Parser将其 编译成Servlet程序 调用JSDK将对应的Servlet 程序编译成Servlet字节码
N
N
执行(若未载入则先载入) 已有的对应的Java字节码
International Business College of Qingdao University
方法中,属于什么变量?
局部变量
International Business College of Qingdao University
14
注 意
如果在java程序片中出现方法的声明,这将会出现什么错误?
见案例3.jsp,课本2-3的修改程序
即用声明来解决,并且JSP声明中的JAVA代码只 能是静态代码块、变量和方法的声明,除此之外 的情况都视为非法。1.jsp和2.jsp分析(回忆Java类体由 什么组成?)
26
提示
2、包含文件页面指令作用
如果firstExample2_10_1.jsp文件去掉首行的结果? 与include语句位置有关吗?
注意:P24
看其Java文件!!
International Business College of Qingdao University
27
tomcat 4中,被include的页面文件中不需要也不能指
International Business College of Qingdao University
10
二、声明方法
在<%! 和 %>之间加入声明方法的语句即可。
方法在整个JSP页面内都有效,但要注意在该 方法内定义的变量仅在该方法内有效。 见课本P13例 2-3.jsp
2.3
JAVA程序片
International Business College of Qingdao University
20
属性说明
GB2312 注意
International Business College of Qingdao University
21
& 2.6.2
一、案例: 结果演示
Include 指令标签
firstExample2_10.jsp、secondExample2_10.jsp、ok.txt
二、原理 作用:在JSP中静态的插入一个文件(文件本身可以是静态 也可以是动态的),同时解析这个文件中的JSP语句。
International Business College of Qingdao University
缺点呢?
在低版本中无法使用
为了让tomcat 5.0.x能象tomcat 4那样处理include页面, 需要修改项目的WEB-INF/web.xml文件,进行如下配置把 默认的字符集设置成GBK或GB2312就可以了,代码如下:
web.xml 代码
International Business College of Qingdao University
回忆:类变量和实例变量
International Business College of Qingdao University
15
2.5
一、回忆Java语言中的注释
// /** /* */ */
注释语句
HTML中的注释:<!--comment [<%=expression%>]-->
此注释发送到客户端,但并不显示(见下面的案例)
成员变量和局部变量 对于外部是不可见 的,例如上例2-2改 <% %>
为局部变量,结果?
International Business College of Qingdao University
Synchronized
2-4.jsp
参看2-2转译后的java 文件以及2-2-1转译后 的java文件
9
firstExample2_102 看背景色变化
注意3: 插入的文件必须是和当前JSP文件在同一WEB服 务目录中,否则,问题?firstExample2_101.jsp
如果被包含文件修改,包含此文件的JSP文件将被重新编译,它 还需要重新保存吗?
International Business College of Qingdao University