完整版《JSP实用教程第三版》课后答案.docx

上传人:b****5 文档编号:28381420 上传时间:2023-07-10 格式:DOCX 页数:18 大小:21.98KB
下载 相关 举报
完整版《JSP实用教程第三版》课后答案.docx_第1页
第1页 / 共18页
完整版《JSP实用教程第三版》课后答案.docx_第2页
第2页 / 共18页
完整版《JSP实用教程第三版》课后答案.docx_第3页
第3页 / 共18页
完整版《JSP实用教程第三版》课后答案.docx_第4页
第4页 / 共18页
完整版《JSP实用教程第三版》课后答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

完整版《JSP实用教程第三版》课后答案.docx

《完整版《JSP实用教程第三版》课后答案.docx》由会员分享,可在线阅读,更多相关《完整版《JSP实用教程第三版》课后答案.docx(18页珍藏版)》请在冰豆网上搜索。

完整版《JSP实用教程第三版》课后答案.docx

完整版《JSP实用教程第三版》课后答案

《JSP实用教程(第三版)》课后答案

第1章JSP简介

1.安装Tomcat引擎的计算机需要事先安装JDK吗?

答:

需要。

2.怎样启动和关闭Tomcat服务器?

答:

bin目录下使用startup.bat启动Tomcat服务器。

bin目录下使用shutdown。

bat关闭Tomcat服务器。

3.Boy。

jsp和boy。

jsp是否是相同的JSP文件名字?

答:

不是

4.请在D:

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

答:

设置方法:

1建立D:

\water目录;

2修改server.xml文件,在〈/host〉上一行添加:

〈Contextpath=”/fish”docBase=”D:

\water”debug="0”reloadable=”true"/〉

3使用http:

//localhost:

8080/fish/example1_1。

jsp访问example1_1。

jsp页面。

5。

假设Dalian是一个Web服务目录,其虚拟目录为moon。

A.jsp保存在Dalian的子目录sea中。

那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A。

jsp的正确方式?

A.http:

//127.0.0.1:

8080/A。

jspB。

http:

//127.0。

0.1:

8080/Dalian/A.jsp

C。

http:

//127。

0.0。

1:

8080/moon/A。

jspD。

http:

//127.0.0.1:

8080/moon/sea/A.jsp

答:

D

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

能否将端口号修改为80?

答:

修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号.

若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。

第2章JSP语法

1。

"〈%!

"和"%〉"之间声明的变量与"<%"和"%>"声明的变量有何不同?

答:

"〈%!

"和"%>"声明的变量为类的成员变量,其所占的内存直到Tomcat服务器关闭才释放.

"〈%"和"%>"为类方法中声明的局部变量,仅在JSP页面后继的程序片及表达式中有效。

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

答:

2次(当有一个用户访问JSP页面,JAVA程序片就被访问一次)。

5.假设有两个不同用户访问下列JSP页面hello。

jsp,请问第一个访问和第二个访问hello.jsp页面的用户看到的页面的效果有何不同?

hello。

jsp

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

<%@pageisThreadSafe=”false"%〉

〈BODY>〈HTML〉

<%!

intsum=1;

voidadd(intm){

sum=sum+m;

%〉

〈%intn=100;

add(n);

%〉

<%=sum%>

〈/BODY〉

答:

第一个客户看到结果是101;

第二个客户看到结果是201;

6。

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

<%@pagecontentType=”text/html;charset=GB2312”%〉

〈%

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

{

out。

println("”+c);

%〉

〈/BODY>

7。

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

答:

include指令标记:

是把被包含的文件的内容放于包含文件中,组成一个文件后编译运行。

include动作标记:

是把被包含的文件的运行结果放于包含文件运行产生的结果中,这2个文件各自编译运行。

8.编写三个JSP页面:

main.jsp、circle.jsp、ladder.jsp,将三个JSP页面保存在同一web服务目录中。

main。

jsp使用include动作标记加载circle.jsp和ladder.jsp页面.circle.jsp页面可以计算并显示圆的面积。

ladder.jsp页面可以计算并显示梯形的面积.当circle.jsp和ladder.jsp被加载时获取main。

jsp页面include动作标记的param子标记提供的圆的半径以及梯形的上底、下底和高的值。

答:

main.jsp:

〈%@pagecontentType=”text/html;charset=GB2312”%〉

〈HTML〉

<%doubler=3,a=2,b=5,c=2;

%〉

〈br〉加载circle.jsp计算半径为〈%=r%〉的圆的面积:

〈jsp:

includepage="circle。

jsp”>

〈jsp:

paramname=”sideR"value=”<%=r%〉”/>

〈/jsp:

include〉


加载ladder.jsp计算上底,下底,高为<%=a%〉,<%=b%〉,<%=c%〉的梯形面积:

〈jsp:

includepage=”ladder。

jsp"〉

paramname="sideA"value="<%=a%〉"/〉

〈jsp:

paramname="sideB"value=”<%=b%〉"/〉

paramname="sideC”value=”<%=c%>"/>

include>

ladder.jsp:

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

<%!

publicStringgetArea(doublea,doubleb,doublec)

if(a>0&&b>0&&c〉0)

{

doublearea=((a+b)*c)/2。

0;

return”"+area;

else

{

return(””+c+"传递的参数小于零,出现错误!

”);

}

%〉

〈%StringsideA=request.getParameter("sideA”);

StringsideB=request.getParameter(”sideB");

StringsideC=request.getParameter("sideC");

doublea=Double。

parseDouble(sideA);

doubleb=Double.parseDouble(sideB);

doublec=Double。

parseDouble(sideC);

%〉

我是被加载的文件,负责计算梯形的面积

给我传递的上底,下底,高分别是:

〈%=sideA%>,〈%=sideB%>,<%=sideC%>

〈br>圆形的面积:

〈%=getArea(a,b,c)%〉

〈/font>

circle。

jsp:

〈%@pagecontentType=”text/html;charset=GB2312”%〉

〈%!

publicStringgetArea(doubler)

{

if(r〉0)

{

doublearea=3.14*r*r;

return””+area;

}

else

{

return("”+r+”传递的参数小于零,出现错误!

请重新检查r的数值!

");

%>

〈%StringsideR=request.getParameter(”sideR");

doubler=Double.parseDouble(sideR);

%〉

我是被加载的文件,负责计算圆的面积〈br>

给我传递的半径是:

〈%=sideR%>

〈br〉圆形的面积:

<%=getArea(r)%〉

第3章JSP内置对象

1。

假设JSP使用的表单中有如下的GUI(复选框)

〈inputtype=”checkbox"name="item"value=”apple”>苹果

〈inputtype=”checkbox"name=”item”value=”cat”>猫

月亮

该表单所请求的JSP可以使用内置对象request获取该表单提交的数据,那么,下列哪些是request获取该表单提交的值的正确语句?

A。

Stringa=request。

getParameter(”item");

B。

Stringb=request。

getParameter("checkbox");

C。

Stringc[]=request。

getParameterValues("item”);

D。

Stringd[]=request。

getParameterValues("checkbox");

答:

C。

2。

如果表单提交的信息中有汉字,接收该信息的页面应做怎样的处理?

答:

处理方法有2种:

第1种:

<%@pagecontentType=”text/html;Charset=GB2312"%〉指令中的Charset首字母”C”大写。

第2种:

<%Stringstr1=request。

getParameter(”number”);

bytec[]=str1。

getBytes("ISO-8859-1");

str1=newString(c);

%〉

3。

编写两个JSP页面inputString.jsp和computer。

jsp,用户可以使用inputString。

jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置对象获取inputString.jsp页面提交的字符串,计算并显示该字符串的长度。

答:

inputString。

jsp

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

〈Fontsize=5>

    

       〈BR〉请输入字符串:

〈/BR>

       〈INPUTTYPE=”submit”value=”提交”name=”submit”>

       

   

〈/HTML>

 

 

computer。

jsp

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

   〈%  StringyourString=request.getParameter("string”);       %〉

      

您输入的字符串是:

〈%=yourString%>〈/P>

      〈p>字符串的长度是:

〈%=yourString.length()%>〈/p〉

〈ahref="inputString.jsp"〉return

〈/FONT>〈/BODY〉

4.response调用sendRedirect(URL:

url)方法的作用是什么?

答:

从一个页面跳转到sendRedirect(URL:

url)中url指定的页面,并且这种跳转是客户端跳转.

5。

6.一个用户在不同Web服务目录中的session对象相同吗?

答:

不相同。

7。

一个用户在同一Web服务目录的不同子目录的session对象相同吗?

答:

相同.

第4章JSP与Javabean

1.假设Web服务目录mymoon中的JSP页面要使用一个bean,该bean的包名为blue。

sky。

请说明,应当怎样保存bean的字节码文件?

答:

(1)在当前Web服务目录下建立如下目录结构:

(2)Web服务目录\WEB-INF\classes

(3)根据类的包名,在目录classes下建立相应的子目录。

即:

Web服务目录\WEB—INF\classes\blue\sky

(4)将获得的字节码文件保存在其中。

2。

tom。

jiafei.Circle是创建bean的类,下列哪个标记是正确创建session周期bean的标记?

〈jsp:

useBeanid="circle”class=”tom。

jiafei。

Circle”scope=”page”/〉

useBeanid=”circle"class=”tom。

jiafei.Circle"scope="request"/〉

useBeanid="circle"class=”tom。

jiafei。

Circle”scope="session”/〉

useBeanid=”circle”type=”tom。

jiafei。

Circle"scope=”session"/〉

答:

useBeanid="circle”class="tom。

jiafei。

Circle”scope="session"/>

3。

假设创建bean的类有一个int型的属性number,下列哪个方法是设置该属性值的正确方法?

A.publicvoidsetNumber(intn)B。

voidsetNumber(intn)

{number=n;{number=n;

}}

C.publicvoidSetNumber(intn)D。

publicvoidSetnumber(intn)

{number=n;{number=n;

}}

答:

A.

5.编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯形的上底,下底和高的值,并提交给本JSP页面,该JSP页面将计算梯形的面积之任务交给一个bean去完成。

JSP页面使用getProperty动作标记显示梯形的面积.

答:

ladder。

jsp:

<%@pagepageEncoding=”GBk"%〉

〈jsp:

useBeanid="ladder"class="pfc。

Ladder"scope=”page"/〉

〈HTML>〈BODYbgcolor=yellow〉〈Fontsize=3>

〈FORMaction=”"Method=”post">

输入梯形上底、下底和高:

上底:

下底:

〈Inputtype=textname="bottom"value=0>

高:

〈jsp:

setPropertyname=”ladder”property=”*”/〉

输入梯形上底、下底和高:

上底:

〈jsp:

getPropertyname=”ladder”property="top”/〉,

下底:

getPropertyname=”ladder"property=”bottom”/>,

高:

〈jsp:

getPropertyname="ladder"property=”height”/>。

〈BR>面积是:

getPropertyname=”ladder”property=”area”/>

〈/FONT>

Ladder。

java:

packagepfc;

publicclassLadder

doubletop=0,bottom=0,height=0,area=-1;

publicdoublegetArea()

{area=(top+bottom)*height/2;

returnarea;

}

publicdoublegetBottom(){

returnbottom;

publicvoidsetBottom(doublebottom){

this.bottom=bottom;

publicdoublegetHeight(){

returnheight;

publicvoidsetHeight(doubleheight){

this。

height=height;

}

publicdoublegetTop(){

returntop;

}

publicvoidsetTop(doubletop){

this.top=top;

}

6。

编写两个JSP页面a.jsp和b。

jsp,a。

jsp页面提供一个表单,用户可以通过表单输入矩形的两个边长提交给b.jsp页面,b。

jsp调用一个bean去完成计算矩形面积的任务.b.jsp页面使用getProperty动作标记显示矩形的面积。

答:

a。

jsp:

〈%@pagepageEncoding=”GBk”%>

〈jsp:

useBeanid="ladder”class="pfc。

Ladder"scope="page”/>

〈HTML>〈BODYbgcolor=yellow〉

输入矩形的长和宽:

长:

宽:

〈Inputtype=submitvalue="提交”>

〈/FORM〉

〈/FONT>〈/BODY>〈/HTML>

b.jsp:

〈%@pagepageEncoding=”GBk”%〉

useBeanid="rectangle”class="pfc。

Rectangle"scope="request”/>

〈HTML〉〈BODYbgcolor=yellow〉〈Fontsize=3>

〈jsp:

setPropertyname="rectangle”property="*”/〉

矩形的长和宽:

长:

getPropertyname="rectangle”property="longside"/〉,

宽:

〈jsp:

getPropertyname="rectangle"property=”width”/〉,

〈BR〉面积是:

〈jsp:

getPropertyname=”rectangle”property="area”/〉

〈/FONT>〈/BODY>

Rectangle。

java:

packagepfc;

publicclassRectangle

{

doublelongside=0,width=0,area=—1;

publicdoublegetArea()

{area=longside*width;

returnarea;

publicdoublegetLongside(){

returnlongside;

}

publicvoidsetLongside(doublelongside){

this.longside=longside;

publicdoublegetWidth(){

returnwidth;

publicvoidsetWidth(doublewidth){

this.width=width;

}

第5章JavaServlet基础

1.servlet对象是在服务器端还是在客户端创建的?

答:

服务器端.

2.servlet对象被创建后首选调用init方法还是service方法?

答:

init方法。

3.“servlet第一次被请求加载时调用init方法,当后续的客户请求servlet对象时,servlet对象不再调用init方法”,这样的说法是否正确?

答:

正确。

4.假设创建servlet的类是tom.jiafei.Dalian,创建的servlet对象的名字是myservlet,应当怎样配置web.xml文件?

答:

〈?

xmlversion=“1。

0"encoding=”ISO—8859-1"?

〈web—app>

〈servlet〉〈!

--创建一个servlet对象—->

〈servlet—name〉myservlet〈!

-—对象名——>

〈servlet—class〉tom.jiafei。

Dalian

-—指定创建对象的servlet——>

-—为Servlet进行映射地址-->

—-必须与Servlet标记中的servlet—name指定的名称相同-->

〈servlet—name>myservlet

--具体的映射路径,前面必须有一个/-->

〈/servlet-mapping>

…..

〈/web-app〉

5.如果Servlet类不重写service方法,那么应当重写哪两个方法?

答:

doGet方法或doPost方法。

6.HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?

答:

javax。

servlet.http.HttpServletResponse提供的方法

voidsendRedirect(String location)throwsIOException

客户端跳转.即当前页面可用request对象获取用户提交参数,而目标页面都不可用request对象获取用户提交参数.

转发

javax。

servlet。

RequestDispatcher接口提供的方法

voidforward(ServletRequest req

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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