1、%”和“%”之间声明的变量有何不同?“”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围及标记符号所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。2如果有两个用户访问一个
2、JSP页面,该页面中的Java程序片将被执行几次?两次。3是否允许一个JSP页面同时含有如下两条page指令:application/msword是否允许JSP页面同时含有如下两条指令:% page import=java.util.*java.sql.*第一个问题的答案是不允许;第二个问题的答案是允许。4假设有两个用户访问下列JSP页面hello.jsp,请问第一个访问和第二个访问hello.jsp页面的用户所看到的页面的效果有何不同?Hello.jsp% page isThreadSafe=falsehtmlbody int sum=10; void add(int m) sum=sum+
3、m; % int n=600; add(n); /body/html第一个用户看到的sum的值是610,第二个用户看到的sum的值是12105请编写一个简单的JSP页面,显示大写英文字母表。HTMLBODY% for(char c=A;c/HTML6请简单叙述include指令标记和include动作标记的不同。include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。in
4、clude动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件及原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。7编写两个JSP页面:main.jsp和lader.jsp,将两个JSP页面保存在同一Web服务目录中。main.jsp使用include动作标记动态加载lader.jsp页面。
5、lader.jsp页面可以计算并显示梯形的面积。当lader.jsp被加载时获取main.jsp页面中include动作标记的param子标记提供的梯形的上底、下底和高的值。main.jsp:jsp:include page=lader.jspparam name=a value=5 /b6h10/jsp:includelader.jsp:% String strA=request.getParameter(); String strB=request.getParameter( String strH=request.getParameter( double a=Double.parseDo
6、uble(strA); double b=Double.parseDouble(strB); double h=Double.parseDouble(strH); double area=(a+b)*h/2;P 梯形面积:%=area%习题三1用户可以使用浏览器直接访问一个Tag文件吗?不可以2Tag文件应当存放在怎样的目录中?如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:Web服务目录WEB-INFtags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。一个Tag文件必须保存到tags目录或其下
7、的子目录中。3Tag文件中的tag指令可以设置哪些属性的值?body-content、language、import、pageEncoding 。4Tag文件中的attribute指令有怎样的作用?使用attribute指令可以动态地向该Tag文件传递对象的引用。5Tag文件中的varibute指令有怎样的作用?使用variable指令可以将Tag文件中的对象返回给调用该Tag文件的JSP页面。6编写两个Tag文件Rect.tag和Circle.tag。Rect.tag负责计算并显示矩形的面积,Circle.tag负责计算并显示圆的面积。编写一个JSP页面lianxi6.jsp,该JSP页面使
8、用Tag标记调用Rect.tag和Circle.tag。调用Rect.tag时,向其传递矩形的两个边的长度;调用Circle.tag时,向其传递圆的半径。Lianxi6.jsp:Charset=GB2312% taglib tagdir=/WEB-INF/tags prefix=computerH3以下是调用Tag文件的效果:/H3computer:Rect sideA= sideB=/Circle radius=16Rect.tag:h4这是一个Tag文件,负责计算矩形的面积。% attribute name=sideA required=truesideB public String ge
9、tArea(double a,double b) if(a0&b0) double area=a*b ; return BR矩形的面积:+area; else return(+a+,+b+不能构成一个矩形,无法计算面积% out.println(JSP页面传递过来的两条边:+sideA+sideB); double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB); out.println(getArea(a,b);Circle.tag:这是一个Tag文件,负责计算园的面积。radius public String
10、getArea(double r) if(r double area=Math.PI*r*r ;圆的面积:+r+不能构成一个圆,无法计算面积JSP页面传递过来的半径:+radius); double r=Double.parseDouble(radius); out.println(getArea(r);7编写一个Tag文件GetArea.tag负责求出三角形面积,并使用variable指令返回三角形的面积给调用该Tag文件的JSP页面。JSP页面负责显示Tag文件返回的三角形的面积。JSP在调用Tag文件时,使用attribute指令将三角形三边的长度传递给Tag文件。one.jsp和two.jsp都使用Tag标记调用GetArea.tag。one.jsp将返回三角形的面积保留最多3位小数、two.jsp将返回的三角形面积保留最多6位小数。one.jsp:% page import =java.text.*BODY bgcolor=cyanGetArea sideA=3 sideC=h4
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1