JSP程序设计习题答案(张跃平、耿祥义)

2019-04-15 11:50

习题一:

1.答:确保Tomcat服务器使用的是Java_home环境变量设置的JDK。 2.答:属于操作题,解答略。

3.答:Web服务目录的下的目录称为该Web服务目录下的相对Web服务目录。浏览器的地址栏中键入:http://IP:8080/Web目录名字/子目录名字/JSP页面。

4.答:修改Tomcat服务器安装目录中conf文件夹中的主配置文件:server.xml,只要没有其他应用程序正在占用80,就可以将端口号设置为80。

习题二

1.答:“<%!”和“%>”之间声明的变量在整个JSP页面内都有效,称为JSP页面的成员变量,成员变量的有效范围与标记符号<%!、%>所在的位置无关。所有用户共享JSP页面的成员变量,因此任何一个用户对JSP页面成员变量操作的结果,都会影响到其他用户。

“<%”和“%>”之间声明的变量称为局部变量,局部变量在JSP页面后继的所有程序片以及表达式部分内都有效。运行在不同线程中的Java程序片的局部变量互不干扰,即一个用户改变Java程序片中的局部变量的值不会影响其他用户的Java程序片中的局部变量。当一个线程将Java程序片执行完毕,运行在该线程中的Java程序片的局部变量释放所占的内存。

2.答:两次。

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

4.答:第一个用户看到的sum的值是610,第二个用户看到的sum的值是1210 5.答:

<%@ page contentType=\ <%

for(char c='A';c<='Z';c++) {

out.print(\ } %>

6.答:include指令标记的作用是在JSP页面出现该指令的位置处,静态插入一个文件,即JSP页面和插入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新的JSP页面转译成Java文件。因此,插入文件后,必须保证新合并成的JSP页面符合JSP语法规则,即能够成为一个JSP页面文件。include动作标记告诉JSP页面动态加载一个文件,不把JSP页面中动作指令include所指定的文件与原JSP页面合并一个新的JSP页面,而是告诉Java解

1

释器,这个文件在JSP运行时(Java文件的字节码文件被加载执行)才被处理。如果包含的文件是普通的文本文件,就将文件的内容发送到客户端,由客户端负责显示;如果包含的文件是JSP文件,JSP引擎就执行这个文件,然后将执行的结果发送到客户端,并由客户端负责显示这些结果。 7.答: main.jsp:

<%@ page contentType=\

lader.jsp:

<%@ page contentType=\ <%

String strA=request.getParameter(\ String strB=request.getParameter(\ String strH=request.getParameter(\ double a=Double.parseDouble(strA); double b=Double.parseDouble(strB); double h=Double.parseDouble(strH); double area=(a+b)*h/2; %>

梯形面积:<%=area%>

习题三

1.答:不可以

2.答:如果某个Web服务目录下的JSP页面准备调用一个Tag文件,那么必须在该Web服务目录下,建立目录:Web服务目录\\WEB-INF\\tags,其中,WEB-INF和tags都是固定的子目录名称,而tags下的子目录名字可由用户给定。一个Tag文件必须保存到tags目录或其下的子目录中。

3.答:body-content、language、import、pageEncoding 。

2

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

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

Lianxi6.jsp:

<%@ page contentType=\<%@ taglib tagdir=\

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

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

这是一个Tag文件,负责计算矩形的面积。 <%@ attribute name=\<%@ attribute name=\ <%!

public String getArea(double a,double b) { if(a>0&&b>0) {

double area=a*b ;

return \矩形的面积:\ } else

{ return(\不能构成一个矩形,无法计算面积\ } } %>

<% out.println(\页面传递过来的两条边:\ double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB); out.println(getArea(a,b)); %> Circle.tag:

这是一个Tag文件,负责计算园的面积。 <%@ attribute name=\ <%!

public String getArea(double r) { if(r>0)

{

3

double area=Math.PI*r*r ; return \圆的面积:\ } else

{ return(\不能构成一个圆,无法计算面积\ } } %>

<% out.println(\页面传递过来的半径:\ double r=Double.parseDouble(radius); out.println(getArea(r)); %>

7.答:

one.jsp:

<%@ page contentType=\<%@ page import =\

<%@ taglib tagdir=\

面积保留3位小数点: <%

NumberFormat f=NumberFormat.getInstance(); f.setMaximumFractionDigits(3); double result=area.doubleValue(); String str=f.format(result); out.println(str); %> two.jsp:

<%@ page contentType=\<%@ page import =\

<%@ taglib tagdir=\

面积保留6位小数点: <%

NumberFormat f=NumberFormat.getInstance();

4

f.setMaximumFractionDigits(6); double result=area.doubleValue(); String str=f.format(result); out.println(str); %> GetArea.tag:

<%@ attribute name=\<%@ attribute name=\<%@ attribute name=\

<%@ variable name-given=\ <%

double a=Double.parseDouble(sideA); double b=Double.parseDouble(sideB); double c=Double.parseDouble(sideC); if(a+b>c&&a+c>b&&c+b>a) { double p=(a+b+c)/2.0;

double result=Math.sqrt(p*(p-a)*(p-b)*(p-c)) ; jspContext.setAttribute(\ } else

{ jspContext.setAttribute(\ } %>

8.答:

linxi8.jsp:

<%@ page contentType=\<%@ taglib tagdir=\

5


JSP程序设计习题答案(张跃平、耿祥义).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:行政法与行政诉讼法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: