JSP程序设计习题解答Word格式.docx

上传人:b****2 文档编号:788373 上传时间:2023-04-29 格式:DOCX 页数:34 大小:24.78KB
下载 相关 举报
JSP程序设计习题解答Word格式.docx_第1页
第1页 / 共34页
JSP程序设计习题解答Word格式.docx_第2页
第2页 / 共34页
JSP程序设计习题解答Word格式.docx_第3页
第3页 / 共34页
JSP程序设计习题解答Word格式.docx_第4页
第4页 / 共34页
JSP程序设计习题解答Word格式.docx_第5页
第5页 / 共34页
JSP程序设计习题解答Word格式.docx_第6页
第6页 / 共34页
JSP程序设计习题解答Word格式.docx_第7页
第7页 / 共34页
JSP程序设计习题解答Word格式.docx_第8页
第8页 / 共34页
JSP程序设计习题解答Word格式.docx_第9页
第9页 / 共34页
JSP程序设计习题解答Word格式.docx_第10页
第10页 / 共34页
JSP程序设计习题解答Word格式.docx_第11页
第11页 / 共34页
JSP程序设计习题解答Word格式.docx_第12页
第12页 / 共34页
JSP程序设计习题解答Word格式.docx_第13页
第13页 / 共34页
JSP程序设计习题解答Word格式.docx_第14页
第14页 / 共34页
JSP程序设计习题解答Word格式.docx_第15页
第15页 / 共34页
JSP程序设计习题解答Word格式.docx_第16页
第16页 / 共34页
JSP程序设计习题解答Word格式.docx_第17页
第17页 / 共34页
JSP程序设计习题解答Word格式.docx_第18页
第18页 / 共34页
JSP程序设计习题解答Word格式.docx_第19页
第19页 / 共34页
JSP程序设计习题解答Word格式.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JSP程序设计习题解答Word格式.docx

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

JSP程序设计习题解答Word格式.docx

application/msword"

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

%@pageimport="

java.util.*"

java.sql.*"

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

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

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

Hello.jsp

%@pageisThreadSafe="

false"

html>

body>

intsum=10;

voidadd(intm){

sum=sum+m;

}

%>

%intn=600;

add(n);

<

%=sum%>

/body>

/html>

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

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

HTML>

BODY>

%

for(charc='

A'

;

c<

='

Z'

c++)

{

out.print("

"

+c);

/BODY>

/HTML>

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:

jsp:

includepage="

lader.jsp"

>

paramname="

a"

value="

5"

/>

b"

6"

h"

10"

/jsp:

include>

lader.jsp:

%

StringstrA=request.getParameter("

);

StringstrB=request.getParameter("

StringstrH=request.getParameter("

doublea=Double.parseDouble(strA);

doubleb=Double.parseDouble(strB);

doubleh=Double.parseDouble(strH);

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

P>

梯形面积:

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

Charset=GB2312"

%@taglibtagdir="

/WEB-INF/tags"

prefix="

computer"

H3>

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

/H3>

computer:

RectsideA="

sideB="

/>

Circleradius="

16"

Rect.tag:

h4>

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

%@attributename="

sideA"

required="

true"

sideB"

publicStringgetArea(doublea,doubleb)

{if(a>

0&

&

b>

0)

doublearea=a*b;

return"

BR>

矩形的面积:

"

+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文件,负责计算园的面积。

radius"

publicStringgetArea(doubler)

{if(r>

doublearea=Math.PI*r*r;

圆的面积:

+r+"

不能构成一个圆,无法计算面积"

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:

%@pageimport="

java.text.*"

BODYbgcolor=cyan>

GetAreasideA="

3"

sideC="

面积保留3位小数点:

NumberFormatf=NumberFormat.getInstance();

f.setMaximumFractionDigits(3);

doubleresult=area.doubleValue();

Stringstr=f.format(result);

out.println(str);

two.jsp:

面积保留6位小数点:

f.setMaximumFractionDigits(6);

GetArea.tag:

sideC"

%@variablename-given="

area"

variable-class="

java.lang.Double"

scope="

AT_END"

doublec=Double.parseDouble(sideC);

if(a+b>

c&

a+c>

b&

c+b>

a)

{doublep=(a+b+c)/2.0;

doubleresult=Math.sqrt(p*(p-a)*(p-b)*(p-c));

jspContext.setAttribute("

newDouble(result));

{jspContext.setAttribute("

newDouble(-1));

8.答:

linxi8.jsp:

ok"

tableborder=1>

ok:

Biaogecolor="

yellow"

name="

姓名"

phone="

电话"

email="

email"

cyan"

张三"

12345678"

ss@"

#ffc0ff"

李小花"

9876543"

cc@"

孙六"

11223355"

pp@"

吴老二"

66553377"

ee@"

/ok:

Biaoge>

/table>

Biaoge.tag:

color"

name"

phone"

trbgcolor="

%=color%>

tdwidth=60>

%=name%>

/td>

%=phone%>

%=email%>

/tr>

doBody/>

习题四

1.答:

(C)。

2.答:

将获取的字符串用ISO-8859-1进行编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象。

3.答:

inputString.jsp:

BODYbgcolor=green>

FORMaction="

computer.jsp"

method=postname=form>

INPUTtype="

text"

str"

INPUTTYPE="

submit"

提交"

/FORM>

computer.jsp:

MHML>

%StringtextContent=request.getParameter("

byteb[]=textContent.getBytes("

ISO-8859-1"

textContent=newString(b);

字符串:

%=textContent%>

的长度:

%=textContent.length()%>

4.答:

实现用户的重定向。

5.答:

(1)不相同。

(2)相同。

(3)可能消失。

(4)一定消失。

6.答:

lianxi6.jsp:

BODY>

session.setAttribute("

message"

请您猜字母"

chara[]=newchar[26];

intm=0;

a'

z'

{a[m]=c;

m++;

intrandomIndex=(int)(Math.random()*a.length);

charch=a[randomIndex];

//获取一个英文字母

savedLetter"

newCharacter(ch));

count"

newInteger(0));

访问或刷新该页面可以随机得到一个英文字母.

单击超链接去猜出这个字母:

Ahref="

guess.jsp"

去猜字母<

/A>

guess.jsp:

guess"

%Stringstr=request.getParameter("

clientGuessLetter"

if(str==null)

{str="

*"

if(str.length()==0)

guess:

GuessLetterguessLetter="

%=str%>

当前猜测结果:

%=message%>

%if(message.startsWith("

您猜对了"

))

{

br>

AHREF="

lianxi6.jsp"

重新获得一个字母<

%}

输入您的猜测:

method="

post"

name=form>

>

送出"

/FONT>

GuessLetter.jsp:

%@tagpageEncoding="

GB2312"

guessLetter"

%Stringmess="

Characterch=(Character)session.getAttribute("

charrealLetter=ch.charValue();

charc=(guessLetter.trim()).charAt(0);

if(c<

c>

if(realLetter==c)

intn=((Integer)session.getAttribute("

)).intValue();

n=n+1;

newInteger(n));

mess="

您猜对了,这是第"

+n+"

次猜测"

}

elseif(realLetter<

c)

您猜大了,这是第"

elseif(realLetter>

您猜小了,这是第"

else

{mess="

请输入a至z之间的英文字母。

mess);

习题五

不能

调用publiclonglength()方法。

A和D。

4.答:

RandomAccessFile类既不是输入流

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2