JSP程序设计习题解答.docx

上传人:b****4 文档编号:859633 上传时间:2022-10-13 格式:DOCX 页数:29 大小:24.23KB
下载 相关 举报
JSP程序设计习题解答.docx_第1页
第1页 / 共29页
JSP程序设计习题解答.docx_第2页
第2页 / 共29页
JSP程序设计习题解答.docx_第3页
第3页 / 共29页
JSP程序设计习题解答.docx_第4页
第4页 / 共29页
JSP程序设计习题解答.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

JSP程序设计习题解答.docx

《JSP程序设计习题解答.docx》由会员分享,可在线阅读,更多相关《JSP程序设计习题解答.docx(29页珍藏版)》请在冰豆网上搜索。

JSP程序设计习题解答.docx

JSP程序设计习题解答

习题一

1.运行startup.bat启动Tomcat服务器的好处是什么?

答:

确保Tomcat服务器使用的是Java_home环境变量设置的JDK。

2.请在C:

\下建立一个名字为book的目录,并将该目录设置成一个Web服务目录,然后编写一个简单的JSP页面,保存到该目录中,让用户使用虚拟目录red访问该JSP页面。

答:

属于操作题,解答略。

3.怎样访问Web服务目录子目录中的JSP页面?

答:

Web服务目录的下的目录称为该Web服务目录下的相对Web服务目录。

浏览器的地址栏中键入:

目录名字/子目录名字/JSP页面。

4.如果想修改Tomcat服务器的端口号,应当修改哪个文件?

能否将端口号修改为80。

答:

修改Tomcat服务器安装目录中conf文件夹中的主配置文件:

server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。

习题二

1.“<%!

”和“%>”之间声明的变量及“<%”和“%>”之间声明的变量有何不同?

答:

“<%!

”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围及标记符号<%!

、%>所在的位置无关。

所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。

“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。

运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。

当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。

2.如果有两个用户访问一个JSP页面,该页面中的Java程序片将被执行几次?

答:

两次。

3.是否允许一个JSP页面同时含有如下两条page指令:

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pagecontentType="application/msword"%>

是否允许JSP页面同时含有如下两条指令:

<%@pageimport="java.util.*"%>

<%@pageimport="java.sql.*"%>

答:

第一个问题的答案是不允许;第二个问题的答案是允许。

4.假设有两个用户访问下列JSP页面hello.jsp,请问第一个访问和第二个访问hello.jsp页面的用户所看到的页面的效果有何不同?

Hello.jsp

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pageisThreadSafe="false"%>

<%!

intsum=10;

voidadd(intm){

sum=sum+m;

}

%>

<%intn=600;

add(n);

%>

<%=sum%>

答:

第一个用户看到的sum的值是610,第二个用户看到的sum的值是1210

5.请编写一个简单的JSP页面,显示大写英文字母表。

答:

<%@pagecontentType="text/html;charset=GB2312"%>

<%

for(charc='A';c<='Z';c++)

{

out.print(""+c);

}

%>

6.请简单叙述include指令标记和include动作标记的不同。

答:

include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。

因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。

include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件及原JSP页面合并一个新的JSP页面,而是告诉Java解释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。

如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。

7.编写两个JSP页面:

main.jsp和lader.jsp,将两个JSP页面保存在同一Web服务目录中。

main.jsp使用include动作标记动态加载lader.jsp页面。

lader.jsp页面可以计算并显示梯形的面积。

当lader.jsp被加载时获取main.jsp页面中include动作标记的param子标记提供的梯形的上底、下底和高的值。

答:

main.jsp:

<%@pagecontentType="text/html;charset=GB2312"%>

includepage="lader.jsp">

paramname="a"value="5"/>

paramname="b"value="6"/>

paramname="h"value="10"/>

include>

lader.jsp:

<%@pagecontentType="text/html;charset=GB2312"%>

<%

StringstrA=request.getParameter("a");

StringstrB=request.getParameter("b");

StringstrH=request.getParameter("h");

doublea=Double.parseDouble(strA);

doubleb=Double.parseDouble(strB);

doubleh=Double.parseDouble(strH);

doublearea=(a+b)*h/2;

%>

梯形面积:

<%=area%>

习题三

1.用户可以使用浏览器直接访问一个Tag文件吗?

答:

不可以

2.Tag文件应当存放在怎样的目录中?

答:

如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:

Web服务目录\WEB-INF\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。

一个Tag文件必须保存到tags目录或其下的子目录中。

3.Tag文件中的tag指令可以设置哪些属性的值?

答:

body-content、language、import、pageEncoding。

4.Tag文件中的attribute指令有怎样的作用?

答:

使用attribute指令可以动态地向该Tag文件传递对象的引用。

5.Tag文件中的varibute指令有怎样的作用?

答:

使用variable指令可以将Tag文件中的对象返回给调用该Tag文件的JSP页面。

6.编写两个Tag文件Rect.tag和Circle.tag。

Rect.tag负责计算并显示矩形的面积,Circle.tag负责计算并显示圆的面积。

编写一个JSP页面lianxi6.jsp,该JSP页面使用Tag标记调用Rect.tag和Circle.tag。

调用Rect.tag时,向其传递矩形的两个边的长度;调用Circle.tag时,向其传递圆的半径。

答:

Lianxi6.jsp:

<%@pagecontentType="text/html;Charset=GB2312"%>

<%@taglibtagdir="/WEB-INF/tags"prefix="computer"%>

以下是调用Tag文件的效果:

RectsideA="5"sideB="6"/>

以下是调用Tag文件的效果:

Circleradius="16"/>

Rect.tag:

这是一个Tag文件,负责计算矩形的面积。

<%@attributename="sideA"required="true"%>

<%@attributename="sideB"required="true"%>

<%!

publicStringgetArea(doublea,doubleb)

{if(a>0&&b>0)

{

doublearea=a*b;

return"
矩形的面积:

"+area;

}

else

{return("
"+a+","+b+"不能构成一个矩形,无法计算面积");

}

}

%>

<%out.println("
JSP页面传递过来的两条边:

"+sideA+","+sideB);

doublea=Double.parseDouble(sideA);

doubleb=Double.parseDouble(sideB);

out.println(getArea(a,b));

%>

Circle.tag:

这是一个Tag文件,负责计算园的面积。

<%@attributename="radius"required="true"%>

<%!

publicStringgetArea(doubler)

{if(r>0)

{

doublearea=Math.PI*r*r;

return"
圆的面积:

"+area;

}

else

{return("
"+r+"不能构成一个圆,无法计算面积");

}

}

%>

<%out.println("
JSP页面传递过来的半径:

"+radius);

doubler=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:

<%@pagecontentType="text/html;charset=GB2312"%>

<%@pageimport="java.text.*"%>

<%@taglibtagdir="/WEB-INF/tags"prefix="computer"%>

GetAreasideA="3"sideB="6"sideC="5"/>

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1