JSP教程课件.ppt
《JSP教程课件.ppt》由会员分享,可在线阅读,更多相关《JSP教程课件.ppt(54页珍藏版)》请在冰豆网上搜索。
![JSP教程课件.ppt](https://file1.bdocx.com/fileroot1/2022-10/22/7e35def2-0ef0-4b7f-a8ed-bf6ec4bd3601/7e35def2-0ef0-4b7f-a8ed-bf6ec4bd36011.gif)
第二章第二章JSP页面页面12.1JSP页面的基本结构页面的基本结构JSPJSP页面的组成:
页面的组成:
1.HTML标记标记2.JSP标记(分为指令标记、动作标记)标记(分为指令标记、动作标记)3.成员变量与成员方法成员变量与成员方法4.Java程序片程序片5.Java表达式表达式6.注释注释2JSP页面举例页面举例3JSP页面举例页面举例程序片创建程序片创建Date对象:
对象:
在下一行输出和在下一行输出和:
42.2JSP的运行原理的运行原理当当JSP页面第一次被请求执行时,页面第一次被请求执行时,Tomcat将启动将启动一个线程:
该线程将一个线程:
该线程将.jsp文件转换成文件转换成.java文件,文件,再将再将.java文件转换成文件转换成.class文件,然后执行文件,然后执行.class文件响应客户请求。
文件响应客户请求。
当该当该JSP页面再次被执行时,将直接执行字节码文页面再次被执行时,将直接执行字节码文件。
件。
5字节码文件的功能字节码文件的功能将将HTML标记交给客户的浏览器显示。
标记交给客户的浏览器显示。
将将JSP标记、变量和方法声明、标记、变量和方法声明、Java程序片由程序片由Tomcat服务器执行。
服务器执行。
Java表达式由表达式由Tomcat计算,然后将结果转化计算,然后将结果转化为字符串,交给客户浏览器显示。
为字符串,交给客户浏览器显示。
62.3JSP的成员变量与成员方法的成员变量与成员方法在标记符在标记符内声明成员变量与成员方内声明成员变量与成员方法。
法。
成员变量在整个成员变量在整个JSP页面内有效。
页面内有效。
当多个客户请求同一个当多个客户请求同一个JSP页面时,页面时,Tomcat为为每个客户启动一个线程,这些线程每个客户启动一个线程,这些线程共享共享成员变成员变量。
因此每一个线程对成员变量的改动都会影量。
因此每一个线程对成员变量的改动都会影响其它线程。
响其它线程。
7例例1:
访客计数器:
访客计数器您是第您是第个访问本站的客户。
个访问本站的客户。
8例例2:
声明方法:
声明方法9例例2:
声明方法:
声明方法%out.println(add方法计算方法计算200与与123之和:
之和:
);inta=add(200,123);out.println(a);out.println(sub方法计算方法计算200与与123之差:
之差:
);intb=sub(200,123);out.println(b);%10例例3:
计算连加和:
计算连加和%!
intcontinueSum(intn)intsum=0;for(inti=1;i1到到100的连续和的连续和:
11synchronized关键字关键字为了防止多个用户同时操作一个成员变量,可以为了防止多个用户同时操作一个成员变量,可以对操作该变量的方法加锁。
对操作该变量的方法加锁。
加锁的办法是用加锁的办法是用synchronized关键字修饰该方关键字修饰该方法,当一个线程执行该方法时,其它线程只能等法,当一个线程执行该方法时,其它线程只能等待。
待。
12例例4:
synchronized方法举例方法举例13例例5:
帮助计算:
帮助计算PI值值在数学上有一计算在数学上有一计算PI值的公式:
值的公式:
PI/4=1-1/3+1/5-1/7+1/9-1/11利用成员变量被所有客户共享这一特性,可以让利用成员变量被所有客户共享这一特性,可以让访问这一页面的所有客户帮助计算访问这一页面的所有客户帮助计算PI值。
值。
14152.4Java程序片程序片在在之间写之间写Java程序片。
程序片。
一个一个JSP页面可以有多个页面可以有多个JAVA程序片,这些程序片,这些程序片被程序片被JSP引擎顺序执行。
引擎顺序执行。
语法格式如下:
语法格式如下:
162.4.1页面局部变量页面局部变量在程序片中声明的变量称为在程序片中声明的变量称为页面局部变量页面局部变量。
页面局部变量在该页面中后续的所有程序片及表页面局部变量在该页面中后续的所有程序片及表达式部分有效。
达式部分有效。
当多个客户请求一个当多个客户请求一个JSP页面时,一个客户的局页面时,一个客户的局部变量和另一个客户的局部变量会被分配不同的部变量和另一个客户的局部变量会被分配不同的内存空间。
内存空间。
因此,一个客户对页面局部变量的操作结果不影因此,一个客户对页面局部变量的操作结果不影响其它客户的这个局部变量。
响其它客户的这个局部变量。
17例:
读程序例:
读程序上面程序的错误在哪里?
上面程序的错误在哪里?
重复声明变量,重复声明变量,修改方法:
修改方法:
将将intn=1;改为改为n=1;或者或者将将改为改为182.4.2页面局部变量与成员变量的比较页面局部变量与成员变量的比较变量的共享性:
变量的共享性:
成员变量:
各个用户共享变量;成员变量:
各个用户共享变量;页面局部变量:
用户间没有联系。
页面局部变量:
用户间没有联系。
变量的初始化:
变量的初始化:
页面被激活后,成员变量只被初始化一次;页面被激活后,成员变量只被初始化一次;页面被激活后,每次有用户调用,页面局部页面被激活后,每次有用户调用,页面局部变量都被初始化。
变量都被初始化。
19注:
注:
可以将可以将Java程序片分成几个小的程序片,以便插入程序片分成几个小的程序片,以便插入JSP标标记或记或HTML标记,如:
标记,如:
%for(inti=1;iFONTSIZE=大家好!
大家好!
202.5JSP中的中的Java表达式表达式用于在页面上输出信息,语法格式如下:
用于在页面上输出信息,语法格式如下:
表达式的值由服务器计算,并将计算结果以字表达式的值由服务器计算,并将计算结果以字符串的形式发送到客户端显示。
符串的形式发送到客户端显示。
21表达式表达式a=b=c=22Sin(0.9)除以除以3等于等于3的平方是:
的平方是:
12345679乘乘72等于等于5的平方根等于的平方根等于99大于大于100吗?
回答:
吗?
回答:
100%232.6JSP中的注释中的注释JSP中的注释有两种:
中的注释有两种:
(1)HTML注释:
注释:
(2)JSP注释:
注释:
242.6.1HTML注释注释语法格式如下:
语法格式如下:
这种注释发送到客户端,不直接显示这种注释发送到客户端,不直接显示;但在源代码中可以查看到。
但在源代码中可以查看到。
252.6.2JSP网页自身注释网页自身注释语法格式如下:
语法格式如下:
这种注释发送到客户端,不直接显示;这种注释发送到客户端,不直接显示;而且在源代码中也查看不到。
而且在源代码中也查看不到。
262.6.3JSP程序自身注释程序自身注释272.7部分部分HTML标记标记JSP中的中的HTML标记是页面的静态部分,不需要服标记是页面的静态部分,不需要服务器做任何处理,直接发送给客户。
务器做任何处理,直接发送给客户。
JSP通过通过HTML标记为用户提供一个友好的界面。
标记为用户提供一个友好的界面。
页面中的变量声明、页面中的变量声明、JSP标记、程序片、表达式需标记、程序片、表达式需要由服务器做出处理后,再将处理结果发送给客要由服务器做出处理后,再将处理结果发送给客户。
户。
282.7.1表单标记表单标记客户使用客户使用HTML标记中的表单标记来提交数据。
标记中的表单标记来提交数据。
表单的一般格式为:
表单的一般格式为:
数据提交手段数据提交手段29表单标记表单标记method可取值可取值get或或post,区别是:
,区别是:
getget方法提交的信息显示在浏览器的地址栏中。
方法提交的信息显示在浏览器的地址栏中。
postpost方法提交的信息不会显示在地址栏中。
方法提交的信息不会显示在地址栏中。
提交手段有:
提交手段有:
文本框、下拉列表、文本区等。
文本框、下拉列表、文本区等。
302.7.2标记标记用用input标记来指定表单中数据的输入方式以及标记来指定表单中数据的输入方式以及表单的提交键,表单的提交键,基本格式为:
基本格式为:
服务器通过服务器通过name属性指定的名字来获取提交的数属性指定的名字来获取提交的数据。
据。
输入对象的输入对象的GUI类型可以是类型可以是text、checkbox、submit等。
等。
31例例1:
获取文本框信息:
获取文本框信息a.Jsp的内容:
的内容:
姓名:
姓名:
32例例1:
获取文本框信息:
获取文本框信息b.Jsp内容:
内容:
33例例2:
获取单选钮信息(:
获取单选钮信息(a.jsp内容)内容)单选钮单选钮Radio的使用的使用男男女女34例例2:
获取单选钮信息(:
获取单选钮信息(b.jsp内容)内容)35例例3:
获取复选框信息(:
获取复选框信息(a.jsp内容)内容)接收复选框的值接收复选框的值文学文学音乐音乐体育体育36例例3:
获取复选框信息(:
获取复选框信息(b.jsp内容)内容)您选择的是:
您选择的是:
%request.setCharacterEncoding(gb2312);Strings=request.getParameterValues(cb);if(s!
=null)for(intI=0;i37例例4:
获取口令框信息:
获取口令框信息Inputpassword:
%Strings=request.getParameter(pwd);if(s!
=null)out.println(Yourpasswordis:
+s);%38例例5:
获取:
获取hidden的值的值当当标记中标记中type属性的值是属性的值是hidden时,没有时,没有可见的输入界面,表单直接将可见的输入界面,表单直接将中中value属性属性的值提交给服务器。
的值提交给服务器。
格式为:
格式为:
服务器通过服务器通过name来获取来获取value的值。
的值。
39例例5:
获取:
获取hidden的值的值%Strings=request.getParameter(hid);if(s!
=null)out.println(Submittedvalueis:
+s);%40选择一个城市选择一个城市北京北京上海上海天津天津例例6:
获取单选列表框信息(:
获取单选列表框信息(a.jsp)41例例6:
获取单选列表框信息(:
获取单选列表框信息(b.jsp)42选择一个城市选择一个城市北京北京上海上海天津天津例例7:
获取多选列表框信息(:
获取多选列表框信息(a.jsp)43例例7:
获取多选列表框信息(:
获取多选列表框信息(b.jsp)%request.setCharacterEncoding(gb2312);Strings=request.getParameterValues(sel);if(s!
=null)for(inti=0;i44例例8:
获取文本区数据(留言簿模型:
获取文本区数据(留言簿模型a.jsp)请写下您的宝贵意见:
请写下您的宝贵意见:
45例例8:
获取文本区数据(:
获取文本区数据(b.jsp)收到了您的如下建议,谢谢!
收到了您的如下建议,谢谢!
46多媒体标记多媒体标记使用使用标记可以播放音乐和视频,当浏览标记可以播放音乐和视频,当浏览器执行到该标记时,会把机器中默认的播放器嵌器执行到该标记时,会把机器中默认的播放器嵌入到浏览器中播放。
入到浏览器中播放。
格式:
格式:
描述文字描述文字loop为负数时循环无限次,默认为为负数时循环无限次,默认为0autostart为逻辑值,默认为为逻辑值,默认为true47多媒体标记多媒体标记用用标记也可播放多媒体:
标记也可播放多媒体:
描述文字描述文字start的值有的值有“mouseover”和和“fileopen”(默默认认)48例例9:
标记的使用标记的使用49请选择请选择电影电影音乐音乐例例9:
标记的使用标记的使用50例例9:
标记的使用标记的使用embedsrc=51例例10:
与与标记标记52请选择请选择图片图片电影电影音乐音乐例例10:
与与标记标记53%Strings=request.getParameter(rdo);if(s!
=null)if(s.equ