第3讲-JSP语法基础(一)课件_第1页
第3讲-JSP语法基础(一)课件_第2页
第3讲-JSP语法基础(一)课件_第3页
第3讲-JSP语法基础(一)课件_第4页
第3讲-JSP语法基础(一)课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JSP语法基础(一)第三讲日期:学习目标学习并掌握JSP中的脚本元素、数据类型以及运算符学习并掌握JSP中的条件语句和循环语句3.1【案例4】四则运算演示3.1.1JSP、Java与JavascriptJsp由sun公司推出,基于java技术,用于创建可支持跨平台及跨Web服务器的动态网页。Jsp建立在javaservlets模型之上,它允许网站设计者将静态HTML内容与服务器端的脚本混合起来生成动态网页输出,使编写动态网页的开发变得更简单。Javascript是NetScape公司的产品,比JSP简单很多,主要用于客户端,实现基于浏览器上的一些动态功能,能够在客户端动态生成HTML。3.1.2JSP中的脚本元素从前面学习中知道,在普通的HTML网页中使用专用的标记加入JSP的动态部分,就构成了JPS动态网页。基本上所有的JSP动态部分都是以“<%”开始,到“%>”结束,两者之间的就是JSP动态内容,总称为JSP元素。JSP元素可分为脚本元素、指令元素与动作元素三大部分。脚本元素包括JSP动态页面所使用的表达式、声明、脚本片段和注释;指令元素用于对JSP引擎所生成的Servlet结构;动作元素则用于控制JSP引擎的行为和连接到更多的组件,如JavaBean和Plugin等。脚本元素包括JSP动态页面所使用的表达式、声明、脚本程序片段和注释,基本上来说就是程序代码和说明部分。1.声明JSP声明的作用是说明将要使用的变量和方法,以保存信息或定义JSP页面可能需要调用的方法,其作用范围是整个页面。因为JSP是基于Java技术的,因此要求像Java一样,对于将要在JSP程序中用到的变量和方法,必须先进行声明,不然将会出错。在声明元素中声明的变量和方法,将在JSP页面初始化时进行初始化。JSP声明的语法格式如下:<%!declaration;%>例如:<%!inti=0;%>上面的语句声明了一个int(整型)变量i,并赋初始值为0。<%!publicStringfun(inti){…}%>声明必须以分号结尾。可以直接使用在指令<%@page%>中被包含进来的已经声明的变量和方法,不需要对他们重新进行声明。一个声明仅在一个页面中有效。如果想在每个页面都用到某些声明,最好把它们写成一个单独文件,然后用指令<%@include%>或动作<jsp:include>将它们包含进来。2.表达式表达式用于将JSP内容转换为字符串以便于包含在页面的输出中。表达式表示的是一个在脚本语言中被定义的表达式,在运行后被自动转化为字符串,然后插入到这个表达式在JSP文件中的位置显示。因为表达式的值已经被转化为字符串,所以能够在一行文本中插入表达式。表达式的使用格式如下:<%=expression%>其中,expression部分是表达式的内容,它是一个有计算结果的JSP表达式(注意,表达式一定要有一个可以输出的值),如数学计算式子、有返回值的函数、变量等。<%=n%><b><%=newDate()%><b><%=n+m%>3.脚本片段脚本片段(Scriptlets)也称为代码片段,它是一个有效的Java程序段,是JSP中的代码部分。在这个部分中可以使用几乎任何Java的语法来编制程序,它是嵌放在<%和%>标记中的,语法格式如下:<%scriptlet%>例:time1.jsptime2.jsp分析两段程序的区别:声明变量和方法的语句可以放在脚本中,只不过这样两种不同的处理方法,在JSP被编译为Servlet的时候结果将有所不同:放在<%!%>中的声明语句在编译为Servlet的时候将作为类的属性而存在,放在脚本片段中的声明将在类的方法内部被声明。4.注释注释是程序设计中的常用工具,注释通常有两方面的作用:一个作用是作为提示,让人可以从注释信息中了解某段程序的功能或设计思想,在阅读/编写程序时提供参考信息;另一个作用是将未完成的或有错误的某个程序块通过改为注释而隐藏起来,使其暂时不参与程序的执行,这种方式也适用于程序调试,即将调试时编写的调试语句作为注释隐藏起来。JSP中的注释可以分为两类:一类是输出到客户端,用户在查看源文件时可以看见;另一类是仅在服务器端,供开发者使用的,这种注释仅服务器端可见,不会发送到客户端。(1)输出到浏览器端的注释<!---->(2)服务器端的JSP注释

<%--注释--%>//注释单行注释/*注释*/多行注释3.1.3JSP的数据类型1.变量变量是指在程序运行过程中,值可以发生变化的量。与Java一样,JSP中的变量也遵循“先定义,后使用”的原则,变量在使用前,都要求先进行定义其数据类型。在定义时系统会为变量分配固定的内存,在程序执行中可以按照变量名对其中的内容进行访问。变量定义的一般形式如下:数据类型关键字变量名表;数据类型关键字变量[=初始值];例如:intm1,a;charch;float_val;intmax=100;2.基本数据类型JSP中的数据类型可以分为基本数据类型与复合数据类型两大类。基本数据类型有四类:整型、浮点型、布尔型、字符型。复合数据类型是建立在基本数据类型之上的,有字符串型(String)、数组(Array)、类(Class)和对象(Object)等。这里先介绍JSP的基本数据类型。(1)整型JSP中的整型数据用于表示整数,根据其数据所占内存的大小,又可分为四种,如表3-1所示。数据类型关键字字长(位)表数范围缺省值字节型byte8−128~1270短整型short16−32768~327670整型int32−2147483648~21474836470长整型long64−92233728~922337270表3-1

JSP整型数据类型(2)浮点型浮点型数据用于表示带有小数位的数,根据其数据所占内存的大小,又可分为两种,如表3-2所示。数据类型关键字字长(位)表数范围缺省值浮点型float321.4013E-45~3.428E+380.0双精度型double642.2255E-208~1.7977E+3080.0表3-2

JSP浮点数据类型(3)字符型JSP中的字符型数据用于表示一个字符,即表示单个字符。由于JSP中使用的是16位的Unicode字符集,因此,字符型数据实质上是一个16位的无符号整数。如表3-3所示。数据类型关键字字长(位)表数范围缺省值字符型char160~65535"\u0"表3-3

字符数据类型(4)布尔型布尔型又称为逻辑型,它用于表示一个布尔值(逻辑值),其取值只能有两种,即逻辑真(true)和逻辑假(false),缺省值为false。布尔型数据用关键字boolean定义,下面是布尔型变量的定义:booleanf1,f2;booleant=true;3.1.4运算符运算符又称为操作符,是数据间进行运算的符号。JSP的运算符源于Java,所以有丰富的运算符。按运算类型可分为赋值运算符、算术运算符、逻辑运算符、关系运算符、位运算符等;按运算对象(又称为操作数)的个数又可分为单目运算符、双目运算符和三目运算符。例如:a++ //单目运算符a+b //双目运算符a>b?b:a //三目运算符1.算术运算符2.关系运算符3.逻辑运算符4.赋值运算符5.类型转换运算符6.条件运算符3.2【案例5】百鸡问题3.2.1JSP中的条件语句1.if条件语句if条件语句有三种使用形式:单分支if语句、if…else语句和多分支if语句。(1)单分支if语句单分支if语句只对一个条件(可以是复合条件)进行判断,如果结果为真就执行其下所包含的语句或语句块;否则跳过if语句所包含的内容,转去执行if语句后边的语句。单分支if语句的使用格式如下:if(表达式)语句1;即当表达式的值为真(true)时,执行“语句1”,否则跳过“语句1”,转去执行if语句后面的一行语句。例如:if(a!=0)(2)if…else语句if…else语句有两个条件分支,在不同情况下分别得以执行。if…else语句的使用格式如下:if(表达式)语句1;else语句2; 这种形式的if语句,当表达式为真(true)时,执行“语句1”,否则执行“语句2”。例如:if(a>b)a++;elsea--;(3)多分支if语句多分支if语句是对if…else语句的一种扩充,它可以对多个条件进行判断,并在条件成立时执行相应的语句。多分支if语句的使用格式如下:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;…else语句n;这种语句将分别对表达式1、表达式2….依次进行测试,当某个表达式成立(值为真)时,去执行其后相关的语句,并由此退出条件结构。如果所有表达式均不成立,则执行最后的“语句n”。可以发现,多分支if语句的实质就是if…else…语句的嵌套,,即在其else语句中嵌入另一个if语句。2.switch语句在分支不算太多的情况下,多分支的if语句还是很好用的。但是在有很多个分支时,程序中大量出现的if…else…会令人晕头转向。在JSP中,还有一个更好的方法来解决这类条件结构的问题,那就是使用switch语句。switch语句又称为开关语句,它的用途类似于多分支的if语句。但这种多路选择仅取决一个表达式的不同取值,而不是表达式的真假。switch语句的使用格式如下:switch(表达式){case常量表达式1:语句1;break;case常量表达式2:语句2;break;…case常量表达式n:语句n;break;default:语句m;break;}3.选择结构的嵌套在程序中会有这种情况:需要对多个条件进行判断,但这些条件又不能在同一条件语句中进行判断,而是有先后顺序,即当某个条件满足后再去判断其他条件,这时就要用到选择结构的嵌套形式。如果选择结构内部执行语句中的某一语句又是另一个选择结构语句,那么就称为是选择结构的嵌套。在选择结构的嵌套中,switch与if语句相互间的嵌套易于识别,不易区分且容易出错的是if…else语句之间的嵌套。前面学习过的if…else结构中,作为结构内部的语句序列可以是任意的JSP语句,当然也可以是另一个if语句,如下面的程序段所示:if(a>b)if(x!=y)…else…else…3.2.2JSP中的循环语句循环结构的应用使得大量重复的工作变得更容易,提高了编程效率。JSP中提供了多种循环语句,常用的有三种:while、dowhile和for。1.while语句循环结构可分为当型循环结构与直到型循环结构,前者是先进行条件判断;后者是执行一次要重复执行的程序段或语句,再进行条件判断。while循环是当型循环,其形式如下:while(表达式)循环体;当型循环的特点是:先判断,后执行。即在执行中遇到while语句时,先对表达式进行判断,当表达式取值为真(true)时,就执行一次循环语句中的循环体,然后再检查表达式的值,再循环,直到表达式值为假(false)时结束循环,执行循环语句后面的语句。2.do…while语句在程序执行过程中,有时需要先执行循环体内的语句,再对输入的条件进行判断(即直到型循环)。在JSP中,直到型循环使用do…while循环结构来实现。dowhile循环语句的使用格式如下:do{循环体;}while(表达式);do…while循环执行时,先执行一次循环体,再对表达式进行判断,如果表达式值为真(true),就重复执行循环,直到表达式值为假(false)时结束循环,执行循环后面的语句。因此,do-while语句的特点是“先执行,后判断”。3.for语句for循环是一种比较特殊的循环,它能将循环变量初始化、循环条件以及循环变量的改变都放在同一行语句中。for循环的表达形式如下:for(表达式1;表达式2;表达式3)循环体;其中,表达式1的作用是为循环变量赋初值,表达式2为循环条件,表达式3是对循环变量进行修改。for语句在执行时,先执行一次表达式1,对循环变量赋初值;再执行表达式2,判断是否符合循环条件,如果符合条件,执行下面的循环体。否则,退出循环;执行完循环体后,返过来执行表达式3,对循环变量进行修改;再次执行表达式2,判断是否符合循环条件,以此重复执行,直到退出循环。可以看出,for循环等价于如下的while循环:表达式1;while(表达式2){循环体;表达式3;}4.循环嵌套循环结构中包含了另一个循环结构时,就被称为循环的嵌套或多重循环。前面所学过的循环语句while、do…while、for都可以用在循环的嵌套中。循环的嵌套可以是相同类型的循环嵌套,也可以是不同类型的循环嵌套,下面都是正确的循环嵌套。格式1:格式2:格式3:while(…)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论