《JSP实用教程》课后答案_第1页
《JSP实用教程》课后答案_第2页
《JSP实用教程》课后答案_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP实用教程(第三版)课后答案第1章JSP简介1. 安装Tomcat引擎的计算机需要事先安装 JDK吗?答.需要。2. 怎样启动和关闭Tomcat服务器?答:bin目录下使用startup.bat启动Tomcat服务器。bin目录下使用shutdown.bat 关闭Tomcat服务器。3. Boy.jsp和boy.jsp是否是相同的JSP文件名字?答:不是4请在 下建立一个名字为 water的目录,并将该目录设置成一个 Web服务 目录,然后编写一个简单 JSP页面保存到该目录中,让用户使用虚拟目录 fish 来访问该JSP页面。答:设置方法: 建立D: water目录; 修改server.

2、xml文件,在v/host>上一行添加:<Con text path="/fish" docBase="D: water" debug="0" reloadable="true"/> 使用 http:/localhost:8080/ fish /example1 1.jsp访问 example1_1.jsp页面.5. 假设Dalian是一个 Web服务目录,其虚拟目录为 moon °A.jsp保存在Dalian 的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览

3、器键 入下列哪种方式是访问A.jsp的正确方式?A . :8080/A.jspB. :8080/Dalian/A.jspC. :8080/moon/A.jspD. :8080/moon /sea/A.jsp答:D6. 如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修 改为80?答:修改Tomcat服务器的conf目录下的主配置文件server.xml可以更改端口号. 若Tomcat服务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。第 2

4、 章 JSP 语法1. <%!和 %>之间声明的变量与 <%和 %>声明的变量有何不同 ? 答:<%!和 %>声明的变量为类的成员变量 , 其所占的内存直到 Tomcat 服务器 关闭才释放 ."<%和"%>为类方法中声明的局部变量,仅在JSP页面后继的程序片及表达 式中有效 .2. 如果有2个用户访问一个JSP页面,该页面中的Java程序片将被执行几次? 答:2次(当有一个用户访问JSP页面,JAVA程序片就被访问一次).5假设有两个不同用户访问下列JSP页面hello.jsp,请问第一个访问和第二个 访问 hello.js

5、p 页面的用户看到的页面的效果有何不同 ?hello.jsp<% page contentType="text/html;charset=GB2312" %><% page isThreadSafe="false" %><BODY><HTML><%! int sum=1;void add(int m)sum = sum +m;%><% int n =100;add(n);%><%=sum%></BODY></HTML> 答:第一个客户看到结果是 1

6、01;第二个客户看到结果是 201;6. 请编写一个简单的 JSP 页面,显示英文字母表。<% page contentType="text/html;charset=GB2312" %> <HTML><BODY><%for(char c='A'c<='Z'c+)out.println(" "+c);%></BODY></HTML>7. 请简单叙述 include 指令标记和 include 动作标记的不同 .答:include 指令标记 :是把

7、被包含的文件的内容放于包含文件中 ,组成一个文件后编译 运行.include 动作标记 : 是把被包含的文件的运行结果放于包含文件运行产生的结果 中,这 2 个文件各自编译运行 .8. 编写三个JSP页面:ma in .jsp、circle.jsp、ladder.jsp,将三个JSP页面保存在 同一 web服务目录中。mai n.jsp使用in elude动作标记加载circle.jsp和ladder.jsp 页面。 circle.jsp 页面可以计算并显示圆的面积。 ladder.jsp 页面可以计算并显示 梯形的面积。 当 circle.jsp 和 ladder.jsp 被加载时获取 ma

8、in.jsp 页面 include 动作 标记的 param 子标记提供的圆的半径以及梯形的上底、下底和高的值。答:main.jsp :<% page contentType="text/html;charset=GB2312" %><HTML><BODY bgcolor=yellow><% double r=3,a=2,b=5,c=2;%><br>加载circle.jsp计算半径为<%=r%>的圆的面积:<jsp:include page="circle.jsp">&l

9、t;jsp:param name="sideR" value="<%=r%>"/></jsp:include><br>加载ladder.jsp计算上底,下底,高为<%=a%>,v%=b%>,v%=c%>的梯形面 积:<jsp:include page="ladder.jsp"><jsp:param name="sideA" value="<%=a%>"/><jsp:param name=&

10、quot;sideB" value="<%=b%>"/><jsp:param name="sideC" value="<%=c%>"/></jsp:include></BODY></HTML>ladder.jsp:<% page contentType="text/html;charset=GB2312" %><%! public String getArea(double a,double b,double

11、c)if(a>0&&b>0&&c>0)double area=(a+b)*c)/2.0;return ""+area;elsereturn (""+c+" 传递的参数小于零,出现错误! " );%><% String sideA=request.getParameter("sideA");String sideB=request.getParameter("sideB");String sideC=request.getParamet

12、er("sideC");double a=Double.parseDouble(sideA);double b=Double.parseDouble(sideB);double c=Double.parseDouble(sideC);%><font color=red size=4> 我是被加载的文件,负责计算梯形的面积 <br> 给我传递的上底,下底,高分别是 :<%=sideA%>,<%=sideB%>,<%=sideC%><br>圆形的面积:<%=getArea(a,b,c) %>

13、;</font>circle.jsp:<% page contentType="text/html;charset=GB2312" %><%!public String getArea(double r)if(r>0)double area=3.14*r*r;return ""+area;elsereturn (""+r+" 传递的参数小于零,出现错误!请重新检查 r 的数值! " );%><% String sideR=request.getParameter(&q

14、uot;sideR");double r=Double.parseDouble(sideR);%><font color=blue size=4> 我是被加载的文件,负责计算圆的面积 <br> 给我传递的半径是 :<%=sideR%><br> 圆形的面积:<%=getArea(r) %></font>第 3 章 JSP 内置对象1. 假设JSP使用的表单中有如下的 GUI(复选框)<input type="checkbox" name="item" value=

15、"bird"> 鸟<input type="checkbox" name="item" value="apple"> 苹果<input type="checkbox" name="item" value="cat"> 猫<input type="checkbox" name="item" value="moon"> 月亮该表单所请求的JSP可以使用内置对象

16、request获取该表单提交的数据,那么,下列 哪些是request获取该表单提交的值的正确语句?A. String a=request.getParameter("item");B. String b=request.getParameter("checkbox");C. String c=request.getParameterValues("item");D. String d=request.getParameterValues("checkbox");答 : C.2. 如果表单提交的信息中有汉字 ,接收该

17、信息的页面应做怎样的处理?答 :处理方法有 2 种:第 1 种 :<% page contentType="text/html;Charset=GB2312" %>指令中的 Charset 首字 母” C大写.第 2 种 :<% String str1=request.getParameter("number");byte c=str1.getBytes("ISO-8859-1");str1=new String(c);%>3. 编 写 两 个 JSP 页 面 inputString.jsp 和 compute

18、r.jsp, 用 户 可 以 使 用 inputString.jsp 提供的表单输入一个字符串,并提交给 computer.jsp 页面,该页 面通过内置对象获取 inputString.jsp 页面提交的字符串, 计算并显示该字符串的 长度。答: inputString.jsp<% page contentType="text/html;Charset=GB2312" %> <HTML><BODY><Font size=5><FORM action="computer.jsp" method=pos

19、t name=form><BR>请输入字符串:vINPUT type="text" name="string" value=""x/BR><INPUT TYPE="submit" value=" 提交" name="submit"><INPUT TYPE="reset" value="重置">v/FORM>v/FONT>v/BODY>v/HTML> computer

20、.jsp <% page contentType="text/html;Charset=GB2312" %> <HTML><BODY><Font size=5><% String yourString=request.getParameter("string"); %><P> 您输入的字符串是 :<%=yourString %></P><p>字符串的长度是:<%=yourString.length() %>v/p><a hr

21、ef = "inputString.jsp">return</a></FONT></BODY></HTML>4. response调用 sendRedirect(URL: url)方法的作用是什么?答:从一个页面跳转到sendRedirect(URL: url)中url指定的页面,并且这种跳转是客 户端跳转 .5. 略6. 一个用户在不同 Web服务目录中的session对象相同吗? 答:不相同 .7. 一个用户在同一 Web服务目录的不同子目录的session对象相同吗? 答:相同.第 4 章 JSP 与 Javabe

22、an1. 假设 Web服务目录 mymoon中的JSP页面要使用一个 bean,该bean的包名为blue.sky。请说明,应当怎样保存bean的字节码文件?答:(1) 在当前 Web 服务目录下建立如下目录结构:(2) Web服务目录 WEB-INFclasses(3) 根据类的包名,在目录classes下建立相应的子目录.即:Web服务目录 WEB-INFclassesbluesky(4) 将获得的字节码文件保存在其中 .2. tom.jiafei.Circle是创建bean的类,下列哪个标记是正确创建 session周期bean 的标记?<jsp:useBean id="

23、circle" class="tom.jiafei.Circle" scope="page"/><jsp:useBean id="circle" class="tom.jiafei.Circle" scope="request"/><jsp:useBean id="circle" class="tom.jiafei.Circle" scope="session"/><jsp:useBean

24、id="circle" type="tom.jiafei.Circle" scope="session"/>答: <jsp:useBean id="circle" class="tom.jiafei.Circle" scope="session"/>3. 假设创建 bean 的类有一个 int 型的属性 number, 下列哪个方法是设置该属性 值的正确方法 ?A.public void setNumber(int n)B. void setNumber(i

25、nt n) number=n; number =n;C.public void SetNumber(int n)D. public void Setnumber(int n) number =n; number =n;答:A.5. 编写一个 JSP 页面,该页面提供一个表单, 用户可以通过表单输入梯形的上 底,下底和高的值,并提交给本 JSP 页面,该 JSP 页面将计算梯形的面积之任 务交给一个 bean 去完成。 JSP 页面使用 getProperty 动作标记显示梯形的面积。 答:ladder.jsp:<% page pageEncoding="GBk" %&

26、gt;<jsp:useBean id="ladder" class="pfc.Ladder" scope="page"/> <HTML><BODY bgcolor=yellow><Font size=3><FORM action="" Method="post" >输入梯形上底、下底和高:上底:<ln put type=text n ame="top" value=0> 下底:<ln put typ

27、e=text n ame="bottom" value=0>高 :<Input type=text name="height" value=0>vln put type=submit value="提交"></FORM><jsp:setProperty name="ladder" property="*"/>输入梯形上底、下底和高:上底:<jsp:getProperty n ame="ladder" property=&q

28、uot;top"/>, 下底:<jsp:getProperty name="ladder" property="bottom"/>, 高: <jsp:getProperty name="ladder" property="height"/>.<BR> 面积是:<jsp:getProperty n ame="ladder" property="area"/></FONT></BODY><

29、;/HTML>Ladder.java:package pfc;public class Ladderdouble top=0,bottom=0,height=0,area=-1;public double getArea() area=(top+bottom)*height/2;return area;public double getBottom() return bottom;public void setBottom(double bottom) this.bottom = bottom;public double getHeight() return height;public

30、void setHeight(double height) this.height = height;public double getTop() return top;public void setTop(double top) this.top = top;6. 编写两个 JSP 页面 a.jsp 和 b.jsp,a.jsp 页面提供一个表单,用户可以通过 表单输入矩形的两个边长提交给 b.jsp 页面, b.jsp 调用一个 bean 去完成计算矩 形面积的任务。 b.jsp 页面使用 getProperty 动作标记显示矩形的面积。 答:a.jsp:<% page pageEnc

31、oding="GBk" %><jsp:useBean id="ladder" class="pfc.Ladder" scope="page"/> <HTML><BODY bgcolor=yellow><Font size=3> <FORM action="b.jsp" Method="post" >输入矩形的长和宽:长 :<Input type=text name="longside"

32、 value=0>宽 :<Input type=text name="width" value=0>vln put type=submit value="提交"></FORM> </FONT></BODY></HTML>b.jsp:<% page pageEncoding="GBk" %><jsp:useBean id="rectangle" class="pfc.Rectangle" scope=&quo

33、t;request"/> <HTML><BODY bgcolor=yellow><Font size=3><jsp:setProperty name="rectangle" property="*"/> 矩形的长和宽:长:<jsp:getProperty n ame="recta ngle" property="l on gside"/>, 宽:<jsp:getProperty name="rectangle" p

34、roperty="width"/>,<BR> 面积是:<jsp:getProperty n ame="recta ngle" property="area"/></FONT></BODY></HTML>Rectangle.java: package pfc; public class Rectangledouble longside=0,width=0,area=-1; public double getArea() area=longside*width;return

35、 area;public double getLongside() return longside;public void setLongside(double longside) this.longside = longside;public double getWidth() return width;public void setWidth(double width) this.width = width;第5章Java Servlet基础1. servlet对象是在服务器端还是在客户端创建的?答:服务器端2. servlet对象被创建后首选调用init方法还是service方法? 答:

36、in it方法.3. servlet第一次被请求加载时调用init方法,当后续的客户请求servlet对象时, servlet对象不再调用init方法”这样的说法是否正确?答:正确4. 假设创建 servlet的类是 tom.jiafei.Dalian,创建的 servlet对象的名字是 myservlet,应当怎样配置web.xml文件?答:<?xml version=“1.0 ” e ncoding88S61"?><web_app><servlet> <!-创建一个 servlet对象-><servlet-name>my

37、servlet</servlet-name> <!-对象名-> <servlet-class>tom.jiafei.Dalia n</servlet-class><!-扌旨定创建对象的servlet-></servlet><servlet- map pi ng> <!-为 Servlet 进行 映射地址-><!-必须与 Servlet 标记中 的servlet-name指定的名称相同 -><servlet-name>myservlet</servlet-name>

38、<!-具体的映射路径,前面必须有 一个 / ->vurl-pattern>/lookHellov/url-pattern></servlet-mapp ing></web-app>5. 如果Servlet类不重写service方法,那么应当重写哪两个方法? 答:doGet方法或doPost方法。6. HttpServletResponse 类的 sendRedirect 方法和 RequestDispatcher 类的 forward方法有何不同?答:javax.servlet.http .HttpServletResp onse提供的方法voi

39、d sendRedirect(String location) throws lOException客户端跳转.即当前页面可用request对象获取用户提交参数,而目标页面都 不可用request对象获取用户提交参数.转发javax.servlet .RequestDispatche 接口提供的方法void forward(ServletRequest request, ServletResponse response)/ Forwards a request from a servlet to ano ther resource (servlet, JSP file, or HTML fil

40、e) on the server.服务器跳转.即当前页面和目标页面都可用request对象获取用户提交参数.7. Servlet对象怎样获得用户的会话对象?答:在doGet()或doPost()方法中使用获取当前会话对象.HttpSessi on sessi on=request.getSessi on (true);一个用户在不同的Servlet中获取的session对象是完全相同的,不同的用户的 session对象互不相同。第 6 章 MVC 模式1. 在JSP中,MVC模式中的数据模型之角色由谁担当? 答:由Java Bean或EJB充当.2. 在JSP中,MVC模式中的控制器之角色由谁担当? 答:一个或多个 Servlet 对象充当 .3. 在JSP中,MVC模式中的视图之角色

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论