您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 造纸印刷 > JSP纸制教案(4)
第四章JSP页面组成4.1Java程序片一般来说,使用java程序片实现逻辑计算。Java程序片有三种形式:实体定义、表达式和java代码块。使用实体前,首先要定义实体。下面是java程序片的定义和使用的语法格式。实体定义1.实体定义包括:变量定义、方法定义、类定义。⑴.变量定义可以在”%!”和”%”标记符之间定义变量,在这种标记符之间定义的变量,通过JSP引擎转译为java文件时,成为某个类的成员变量,即全局变量。变量的类型可以是java语言允许的任何数据类型。这些变量在所定义的JSP页面内有效,即在本JSP页面中,任何java程序片中都可以使用这些变量。例如:%!intx,y=120,z;Stringstr=”我是中国人”;Datedate;%在”%!”和”%”标记符之间定义了5个变量,这5个变量都是全局变量。(2).方法定义在”%!”和”%”标记符之间定义方法。这些方法在所定义的JSP页面内有效,即在本JSP页面内,任何java程序片都可以调用这些方法。例如,定义一个方法,求n!.%!longjicheng(intn){longzhi=1;for(inti=1;i=n;i++)zhi=zhi*i;returnzhi;}%(3).类定义在”%!”和”%”标记符之间定义类。这些类在所定义的JSP页面内有效,即在本JSP页面内,任何java程序片都可以使用这些类创建对象。例如,定义一个圆类,求圆的面积和周长.%!publicclassCircle{doubler;Circle(doubler){this.r=r;}doublearea(){returnMath.PI*r*r;}doublezhou(){returnMath.PI*2*r;}}%2.表达式可以在”%=”和”%”标记符之间插入一个表达式,这个表达式必须能计算出数据值。(注意:”%=”是一个完整的符号,”%”和”=”不能有空格)。表达式的值由服务器负责计算,并将计算结果以字符串形式发送到客户端显示。例如:求x=a+b+c的值。%!inta=30;intb=40;intc=50;%%=a+b+c%表达式“%=a+b+c%“的作用,相当于先计算”a+b+c”的值,然后把结果输出到客户端。3.Java代码块可以在”%”和”%”标记符之间包含多个java语句,构成java代码块。一个JSP页面可以有许多java代码块,JSP引擎按顺序执行这些java代码块。在java代码块中定义的变量通过JSP引擎转译为java文件时,这些变量成为某个方法的变量,即局部变量。局部变量在本JSP页面内的所有java代码块中起作用(JSP页面转译为servlet源代码时,JSP页面内的所有java代码块合并到同一方法中)。[例子4.1]计算并输出表达式的值。程序ex4_1.jsp代码如下:%!intd;//定义全局变量d%!--下面是第1个java代码块--%inta=30;//定义局部变量a%!--下面是第2个java代码块--%intb=30;//定义局部变量bintc=40;//定义局部变量cd=a+b+c;//计算表达式的值out.print(d);//输出d的值%本程序有两个java代码块。变量d是全局变量,在整个JSP页面内有效,a,b,c是局部变量,在本JSP页面内的所有java代码块中有效。本程序运行后输出100.4.1.1统计访问页面的客户数[例子4.2]统计访问某页面的客户人数问题分析由于多个客户点击同一页面文件,只要在JSP页面程序中定义一个全局变量,作为统计客户的计数器,每当页面被点击执行时,使该变量加1。然后输出该计数器的值.程序结构程序名:ex4_2.jsp程序算法1.定义全局变量count并初始化.即count=02.页面每次被点击时使变量count加1,即count++3.把计数器的值输出到客户端,即%=count%程序代码%@pagecontentType=text/html;charset=GB2312%HTMLBODYBGCOLOR=cyanFONTsize=4%!intcount=0;%%count++;%P您是第%=count%个访问本站的客户。4.1.2求N![例子4.3]求10!,并输出该值。问题分析首先定义一个求N!的方法,然后通过java代码调用该方法计算10!的值,并输出到客户端程序结构程序名:ex4_3.jsp程序算法:1.定义方法longjiecheng(intn),该方法求n!。2.调用方法jiecheng(10),计算10!的值。3.通过表达式输出10!的值,即%=jiecheng(10)%。程序代码:%@pagecontentType=text/html;charset=GB2312%HTMLBODYbgcolor=red%!longjiecheng(intn){longzhi=1;for(inti=1;i=n;i++)zhi=zhi*i;returnzhi;}%P10!的阶乘是:%=jiecheng(10)%4.1.3计算圆的面积和周长[例子4.4]由客户提供圆的半径,计算圆的面积和周长问题分析:可以先定义一个圆类,该类包含计算面积和周长的方法。通过表单获得用户输入的圆的半径r,然后以半径r为参数创建一个圆对象,计算圆的面积和周长,最后输出计算结果。程序结构程序名:ex4_4.jsp程序算法:1.定义圆类Circle。2.使用表单创建用户输入界面,获得圆的半径r3.调用构造方法创建一个圆,计算圆的面积和周长4.输出圆的面积和周长4.1.4求1到N的连续和[例子4.5]求1到100的连续和,并输出到客户端。问题分析可以先定义一个求和的方法,然后调用该方法计算结果,并将结果输出到客户端。程序结构程序名:ex4_5.jsp程序算法1.定义求和方法:longcontinueSum(intn)2.调用求和的方法计算:sum=continueSum(100)3.输出sum4.1.5输出表达式[例子4.6]计算并输出表达式程序结构:程序名:ex4_6.jsp程序代码:%@pagecontentType=text/html;charset=GB2312%HTMLBODYbgcolor=cyanFONTsize=2P3的平方是:%=Math.pow(3,2)%P5的平方根等于%=Math.sqrt(5)%4.2JSP标签一般使用JSP标签控制页面属性。JSP标签分为JSP注释、指令标签和动作标签三类。指令标签有page、include和taglib。动作标签主要有include、param、forward、plugin、useBean。语法格式1.JSP注释注释本身不产生语句功能,只用来增强JSP文件的可读性,便于用户维护JSP文件。JSP注释分两种:HTML注释和JSP注释。(1)HTML注释JSP页面使用这种注释时,客户端通过浏览器查看JSP源文件时,能够看到HTML注释文字。其语法格式是:!--要注释的内容、文字、说明写在这里--(2)JSP注释使用这种注释时,JSP引擎编译该页面时会忽略JSP注释。下面是其语法格式:%--要注释的内容、文字、说明写在这里--%2.page指令标签page指令主要用来定义整个JSP页面的各种属性。一个JSP页面可以包含多个page指令,指令中,除了import属性外,每个属性只能定义一次,否则JSP页面编译将出现错误。下面是page指令格式:%@page[language=”java”][extends=”classname”][import=”packname/classname”][session=”true/false][buffer=”none/sizekb][autoFlush=”true/false”][isThreadeSafe=”true/false”][info=”info_text”][errorPage=”error_url”][isErrorPage=”true/false”][contentType=”MIME_type”][pageEncoding=”“]%本标签由多个属性名=”属性值”对构成,通过这种方式设置页面的属性。•language属性–用来设置JSP网页使用的程序语法,目前JSP只支持Java语言.•import属性–加载非默认的Java包或类。例如JavaBean等•contentType属性–设置JSP网页的文件格式与编码所使用的字符集。•session属性–值可以为true或false,用来设置JSP网页是否使用内建的session对象与功能,默认为true.•buffer属性–设置JSP网页使用的缓冲区大小,此属性的默认值为8kb,设置时可以是auto,或大于8kb的值。•autoFlush–值为true或false,表示是否在缓冲区中的存储窨已满时,自动将信息输出至客户端,默认值为true.•info属性–设置一个代表目前这个JSP网页信息,设置为一字符串,可以程序中使用getServletInfo()方法来取得。•extends属性–设置JSP程序解释成servlet后所继承的父类,一般不需要设置。•errorPage–可以在每个JSP网页中设置errorPage=“error.jsp“,表示有异常错误时,错误信息由error.jsp来显示,通常为相对路径。•isErrorPage–设置网页是否可显示其他网页所产生的异常信息,默认值为false。例如:在error.jsp页面中要设置其属性为true,表示本页为显示异常错误信息的页面。3.include指令标签该指令标签的语法格式如下:%@includefile=”文件名字”%该指令标签的作用是在该标签的位置处,静态插入一个文件。所谓静态插入指用被插入的文件内容代替该指令标签与当前JSP文件合并成新的JSP页面后,再由JSP引擎转译为java文件。被插入的文件要求满足以下条件:(1)被插入的文件必须与当前JSP页面在同一WEB服务目录下。(2)被插入的文件与当前JSP页面合并后的JSP页面必须符合JSP语法规则。例如,下面的程序是实现相同功能的两种程序结构:第一种程序结构中,使用了include指令标签,即在example4_1.jsp页面中静态插入一个Computer.jsp文件。第二种程序结构中(example4_1_1.jsp),没有使用include指令标签。下面是实现这两种程序结构的代码。第一种程序结构本程序由两个文件组成,它们是example4_1.jsp页面和Computer.jsp页面。第二种程序结构本程序直接将example4_1.jsp页面内容和Computer.jsp页面内容合并在一起,构成页面example4_1_1.jsp。5.include动作标签include动作标签的语法格式如下:jsp:includepage=”文件的名字”/或者jsp:includepage=”文件的名字”/jsp:include该标签的作用是当前JSP页面动态包含一个文件,即将当前JSP页面、被包含的文件各自独立转译和编译为字节码文件。当前JSP页面执行到该标签处时,才加载执行被包含文件的字节码。6.param动作标签param动作标签的语法格式是:jsp:paramname=”变量名字”value=”变量值”/该标签经常与jsp:incluede、jsp:forward、jsp:plugin标签一起使用,将param标签中的变量值传递给动态加载的文件。7.forward动作标签forward动作标签的语法格式:jsp:forwardpage=”要转向的页面”/jsp:forward或者jsp:forwardpage=”要转向的页面”/该指令的作用是:当前页面执行到
本文标题:JSP纸制教案(4)
链接地址:https://www.777doc.com/doc-3235361 .html