第4章JSP程序设计基础JSP动态网页新技术1静态与动态网页…HTML文件內容…HTML…HTML文件內容…/HTMLxxx.htmxxx.htm客户端浏览器服务器端Tomcat网站传送HTML网页HTML网页內容传送至客戶端浏览器之后,HTML文件內容沒有任何变更xxx.jspxxx.jsp客户端浏览器服务器端Tomcat网站传送JSP网页JSP程序代码根据用户需求,构建HTML文件內容之后再输出HTMLJSP产生动态内容文件內容HTML…HTML%JSP程序代码%文件內容….../HTML第4章JSP程序设计基础JSP动态网页新技术2关于HTMLHTML以标签形式存在于网页当中。HEAD/HEAD表示网页开始的区块。TITLE与/TITLE之间的文字会显示在浏览器的标题栏中。BODY标签区块,代表网页文件主体。第4章JSP程序设计基础JSP动态网页新技术3表格标签定义table/table设定表格的开始与结束。tr/tr设定一个新列。td/td设定指定列里的一个新字段。th/th设定表格每行的字段抬头。第4章JSP程序设计基础JSP动态网页新技术4表格的边框厚度、高度与宽度属性说明border改变表格边框厚度。width改变表格的宽度。height改变表格的高度。第4章JSP程序设计基础JSP动态网页新技术5表格位置设定绝对位置表示法:使用像素来做为设定单位,不论窗口如何调整,占用固定的像素。相对位置表示法:使用百分比做为设定单位,占用某一固定的比例大小。第4章JSP程序设计基础JSP动态网页新技术6表格数据的对齐方式属性可设定的属性值说明alignleft、center、right靠左、置中、靠右对齐,默认为靠左对齐valigntop、center、bottom向上、置中、向下对齐,默认为置中对齐第4章JSP程序设计基础JSP动态网页新技术7超链接超链接标签ahref=“目标网页和文件”链接文字/a第4章JSP程序设计基础JSP动态网页新技术8超链接target属性属性值说明_blank将连结内容显示在新窗口中。_self将连接内容显示在原本的窗口中。_top将连结内容显示在原本的窗口中,并取消框架的限制。_parent将内容显示在上一层的框架中。第4章JSP程序设计基础JSP动态网页新技术9img标签链接图片文件imgsrc=filesourcepath第4章JSP程序设计基础JSP动态网页新技术10JSP程序代码区块%…%界定JSP网页提供互动功能的程序区块。%Java程序代码…%第4章JSP程序设计基础JSP动态网页新技术11JSP程序代码细节注解程序以符号//作标识://该区块里为JSP程序代码程序运行的过程中,标识為//的程式代码都会被忽略。数据输出out是JSP中的默认对象,用來将数据输出到客户端网页上。println()是out对象提供将字符串等数据输出至网页的方法。每一行完整的程序指令,均必须以分号(;)做結束。第4章JSP程序设计基础JSP动态网页新技术12JSP语法ScriptingElements:由Java程序代码构成的JSP程序区块,也就是JSP网页中的Java程序片段,%…%符号之间输出文字信息的程序代码。DirectiveElements:网页相关信息、属性的存取与设定。ActionElements:以XML为基础所发展的JSP网页元素,主要用来进行与网页加载、转向甚至引用外部组件等相关操作,此类元素以标签型式存在,并且以jsp前缀区别其它网页中所存在的标签。JSTL:JSP预先定义专门提供页制作的标签函数库,全名为JSPStandardTagLibrary(简称JSTL),包含各种网页运作所需的功能,例如循环、流程控制、输入/出、文字格式化、XML文件处理和数据库存取操作。ELElements:JSP2.0纳入的新规格,用来简化上述ScriptingElements的网页编写模式。第4章JSP程序设计基础JSP动态网页新技术13变量变量用以储存各种类型的数据,同时对应到计算机中某一段内存空间区块的特定名称,程序根据变量名称在计算机内存中取得所需的数据内容,进行各种程序逻辑的运算。声明变量:varTypevarName;第4章JSP程序设计基础JSP动态网页新技术14常量Final关键词与常数声明:finalvarTypevarName=varValue;常数所储存的內容不允许被改变,若在程序运行中更改常数的內容,會导致错误情況发生。第4章JSP程序设计基础JSP动态网页新技术15变量的命名规则必须为合法字符Java程序将字母相同、大小写相异的两个变量视为相异,同时名称包含非法字符并不被允许,例如空白与前置为数字的变量名称。避免使用关键词关键词是由Java预先定义,具有特定意义的特定名称字串,无法被使用在变量的命名。使用具意义的变量名称变量的命名基本上只要符合上述的规则即可,使用一个代表变量意义的名称为变量命名可方便辨识。第4章JSP程序设计基础JSP动态网页新技术16数据类型类型数据类型名称大小有效范围字符char字符16bit'\u0000'~'\uffff'布尔boolean布尔值1bittrue或false浮点数float浮点数32bit1.40239846E-45~3.40282347E+38double倍精确浮点数64bit4.94065645841246544E-324~1.79769313486231570E+308整数byte位整数8bit-128~127short短整数16bit-32768~32767int整数32bit-2147483648~2147483647long长整数64bit-922337203685475808~922337203685475808第4章JSP程序设计基础JSP动态网页新技术17声明整型变量整型变量,必须以任何一个整数类型的名称作声明,如下所示:bytebteVar;shortshVar;intintVar;longlngVar;第4章JSP程序设计基础JSP动态网页新技术18浮点型变量浮点数的数值类型依其数值范围的大小分为两种,分别是float和double,用以储存包含小数点的非整数数值。浮点数可以储存的数值范围比整数大,同时,一个声明为浮点数的变量同样可以被用以储存整数数据。第4章JSP程序设计基础JSP动态网页新技术19布尔型变量声明为boolean的变量只能储存true或是false:booleanblnVar1=flase;booleanblnVar2=true;第4章JSP程序设计基础JSP动态网页新技术20字符型变量Char类型的变量代表双位組的单一字符。当一個字符被指定給char型变量,字符必須使用单引号將其包围起來。一個字符可以用以表示变量或是字串。第4章JSP程序设计基础JSP动态网页新技术21数组数组(Array)是一种复合类型的数据类型,用来存放一群类型相同的数据元素。数组存放元素的位置,由索引值作识别,索引值从0开始依次增加。声明一個数组变量:数据类型数组名称[]=new数据类型[数组大小];语法2:数据类型数组名称[]={內容值};单一列结构的数组,将其称为一维数组第4章JSP程序设计基础JSP动态网页新技术22二维数组声明二维数组:数据类型数组名[][]=new数据类型[列数][行数];存取二维数组的方式也相当的简单,只需指定所要存取的元素,其所在位置的索引编号即可,例如前一个二维数组示意图中,当用户想要取得元素32所需的语法如下:a=objArr[2][1];其中的objArr代表上述的二维数组表格,[2][1]则是其位置索引,这一行程序代码片段会将取得的元素32存到变量a。第4章JSP程序设计基础JSP动态网页新技术23二维数组元素11[0][0]元素12[0][1]元素11[0][2]元素21[1][0]元素22[1][1]元素12[1][2]元素31[2][0]元素32[2][1]元素13[2][3]第4章JSP程序设计基础JSP动态网页新技术24数据类型转换数据类型转换语法:(dataType)varName第4章JSP程序设计基础JSP动态网页新技术25算术运算符运算符运算符名称范例+加法A+B=14-减法A-B=8*乘法A*B/除法A/B%取余数A%B第4章JSP程序设计基础JSP动态网页新技术26算术运算符运算符使用语法说明+=A+=5A+=5等于A=A+5-=A-=5A-=5等于A=A-5*=A*=5A*=5等于A=A*5/=A/=5A/=5等于A=A/5%=A%=5A%5等于A=A%5++A++、++AA++等于A=A+1--A--、--AA--等于A=A-1第4章JSP程序设计基础JSP动态网页新技术27前置与后置运算前置运算:运算符首先针对其连接的操作数进行运算,然后回传运算的结果。B=5;A=++B;后置运算:操作数的值首先会回传给指定变量,然后运算符再针对其进行运算。B=5;A=B++;第4章JSP程序设计基础JSP动态网页新技术28比较运算符运算符说明使用语法范例(A=3,B=23)==等于A==B返回布尔值false!=不等于A!=B返回布尔值true大于AB返回布尔值false=大于等于A=B返回布尔值false小于AB返回布尔值true=小于等于A=B返回布尔值true第4章JSP程序设计基础JSP动态网页新技术29逻辑布尔运算符运算符意义|、||OR逻辑判断&、&&AND!NOT第4章JSP程序设计基础JSP动态网页新技术30OR运算符|以及||均是OR运算符,其左右串接2个操作数,当其中有一个操作数的值是true的時候,则返回一个true的布尔值。operandA||operandBoperandA与operandB其中有一个等于true,则返回一个true的布尔值。第4章JSP程序设计基础JSP动态网页新技术31AND运算符&和&&两个同样是AND运算符,针对两个操作数进行AND的逻辑运算,只有当其连接的两操作数均是true的时候,则返回一个true的布尔值,否则一律返回false。&&不一定会针对其串接的两个操作数作运算,当左边的操作数结果为false的时候,则其直接返回一个结果为false的布尔值,不再理会右边表达式的操作数,而&则是对于两个操作数进行运算,即使左边的操作数结果为false,右边的操作数还是会完成其运算之后,才会回传其结果。第4章JSP程序设计基础JSP动态网页新技术32!运算符!是一种逻辑反向运算符,针对一个布尔操作数作运算,将其值取反后输出,其用法如下:!true=false!false=true第4章JSP程序设计基础JSP动态网页新技术33运算符优先顺序运算符说明++、--递增、递减运算*、/、%乘、除、取余数、=、、=小于、小于等于、大于、大于等于==、!=等于、不等于&逻辑运算AND|逻辑运算OR&&逻辑运算AND||逻辑运算OR+=、-=、*=、/=、%=算术指派运算符第4章JSP程序设计基础JSP动态网页新技术34If判断式if(condition){语句;}if判断式if语句区域...主程序truefalse主程序第4章JSP程序设计基础JSP动态网页新技术35if-else判断式if(condition){语句1…}else{语句2…}其他语句…if判断式主程序truefalseif语句区域...else语句区域...主程序第4章JSP程序设计基础JSP动态网页新技术36if-elseif-else判断式if(condition1){语句1…}elseif(condition2){语句2…}else{语句3…}主程序if判断式truefalseif语句区域...elseif判断式falsetrue主程序elseif