jsp程序设计第2版习题解答.doc

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

jsp程序设计第2版习题解答.doc

《jsp程序设计第2版习题解答.doc》由会员分享,可在线阅读,更多相关《jsp程序设计第2版习题解答.doc(22页珍藏版)》请在冰点文库上搜索。

jsp程序设计第2版习题解答.doc

习题一

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.答:

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

<%

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

{

out.print(""+c);

}

%>

6.答:

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

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

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

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

7.答:

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.答:

不可以

2.答:

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

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

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

3.答:

body-content、language、import、pageEncoding。

4.答:

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

5.答:

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

6.答:

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.答:

one.jsp:

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

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

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

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

面积保留3位小数点:

<%

NumberFormatf=NumberFormat.getInstance();

f.setMaximumFractionDigits(3);

doubleresult=area.doubleValue();

Stringstr=f.format(result);

out.println(str);

%>

two.jsp:

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

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

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

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

面积保留6位小数点:

<%

NumberFormatf=NumberFormat.getInstance();

f.setMaximumFractionDigits(6);

doubleresult=area.doubleValue();

Stringstr=f.format(result);

out.println(str);

%>

GetArea.tag:

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

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

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

<%@variablename-given="area"variable-class="java.lang.Double"scope="AT_END"%>

<%

doublea=Double.parseDouble(sideA);

doubleb=Double.parseDouble(sideB);

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("area",newDouble(result));

}

else

{jspContext.setAttribute("area",newDouble(-1));

}

%>

8.答:

linxi8.jsp:

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

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

Biaogecolor="yellow"name="姓名"phone="电话"email="email">

Biaogecolor="cyan"name="张三"phone="12345678"email="ss@"/>

Biaogecolor="#ffc0ff"name="李小花"phone="9876543"email="cc@"/>

Biaogecolor="cyan"name="孙六"phone="11223355"email="pp@"/>

Biaogecolor="#ffc0ff"name="吴老二"phone="66553377"email="ee@"/>

Biaoge>

Biaoge.tag:

<%@attributename="color"%>

<%@attributename="name"%>

<%@attributename="phone"%>

<%@attributename="email"%>

">

<%=name%>

<%=phone%>

<%=email%>

doBody/>

习题四

1.答:

(C)。

2.答:

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

3.答:

inputString.jsp:

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

computer.jsp:

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

<%StringtextContent=request.getParameter("str");

byteb[]=textContent.getBytes("ISO-8859-1");

textContent=newString(b);

%>

字符串:

<%=textContent%>的长度:

<%=textContent.length()%>

4.答:

实现用户的重定向。

5.答:

(1)不相同。

(2)相同。

(3)可能消失。

(4)一定消失。

6.答:

lianxi6.jsp:

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

<%

session.setAttribute("message","请您猜字母");

chara[]=newchar[26];

intm=0;

for(charc='a';c<='z';c++)

{a[m]=c;

m++;

}

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

charch=a[randomIndex];//获取一个英文字母

session.setAttribute("savedLetter",newCharacter(ch));

session.setAttribute("count",newInteger(0));

%>

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


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

去猜字母

guess.jsp:

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

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

<%Stringstr=request.getParameter("clientGuessLetter");

if(str==null)

{str="*";

}

if(str.length()==0)

{str="*";

}

%>

GuessLetterguessLetter="<%=str%>"/>

当前猜测结果:

<%=message%>

<%if(message.startsWith("您猜对了"))

{

%>
重新获得一个字母

<%}

else

{

%>
输入您的猜测:

<%}

%>

GuessLetter.jsp:

<%@tagpageEncoding="GB2312"%>

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

<%@variablename-given="message"scope="AT_END"%>

<%Stringmess="";

Characterch=(Character)session.getAttribute("savedLetter");

charrealLetter=ch.charValue();

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

if(c<='z'&&c>='a')

{

if(realLetter==c)

{

intn=((Integer)session.getAttribute("count")).intValue();

n=n+1;

session.setAttribute("count",newInteger(n));

mess="您猜对了,这是第"+n+"次猜测";

}

elseif(realLetter

{

intn=((Integer)session.getAttribute("count")).intValue();

n=n+1;

session.setAttribute("count",newInteger(n));

mess="您猜大了,这是第"+n+"次猜测";

}

elseif(realLetter>c)

{

intn=((Integer)session.getAttribute("count")).intValue();

n=n+1;

session.setAttribute("count",newInteger(n));

mess="您猜小了,这是第"+n+"次猜测";

}

}

else

{mess="请输入a至z之间的英文字母。

";

}

jspContext.setAttribute("message",mess);

%>

习题五

1.答:

不能

2.答:

调用publiclonglength()方法。

3.答:

A和D。

4.答:

RandomAccessFile类既不是输入流类InputStream类的子类,也不是输出流类Outputstream类的子类。

想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFile流,这样我们既可以从这个流中读取这个文件的数据,也可以通过这个流给这个文件写入数据。

5.答:

input.jsp:

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

输入目录:


输入文件名字:

read.jsp:

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

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

<%

Strings1=request.getParameter("dirName");

Strings2=request.getParameter("fileName");

if(s1.length()>0&&s2.length()>0)

{

%>

ReaddirName="<

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

当前位置:首页 > PPT模板 > 商务科技

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

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