JSP实用教程第三版课后答案_第1页
JSP实用教程第三版课后答案_第2页
JSP实用教程第三版课后答案_第3页
JSP实用教程第三版课后答案_第4页
JSP实用教程第三版课后答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

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

2、>上一行添加: <Context path="/fish" docBase="D: water" debug="0" reloadable="true"/> 使用 fish访问页面.5.假设Dalian是一个Web效劳目录,其虚拟目录为moon。A.jsp保存在Dalian的子目录sea中。那么在Tomcat效劳器端口号8080所在计算机的浏览器键入以下哪种方式是访问A.jsp的正确方式?A B.C. D.答:D6如果想修改Tomcat效劳器的端口号,应当修改哪个文件?能否将端口号修改为80?答:

3、修改Tomcat效劳器的conf目录下的主配置文件可以更改端口号.假设Tomcat效劳器上没有其它占有80端口号的程序,可以将其修改为80,否那么不能。第 21 页第2章 JSP语法1.<%!和%>之间声明的变量及<%和%>声明的变量有何不同?答:<%!和%>声明的变量为类的成员变量,其所占的内存直到Tomcat效劳器关闭才释放.<%和%>为类方法中声明的局部变量,仅在JSP页面后继的程序片及表达式中有效.2. 如果有2个用户访问一个JSP页面,该页面中的Java程序片将被执行几次?答:2次(当有一个用户访问JSP页面,JAVA程序片就被访问一次

4、).5. 假设有两个不同用户访问以下JSP页面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>答:第一个客户看

5、到结果是101; 第二个客户看到结果是201;6. 请编写一个简单的JSP页面,显示英文字母表。<% page contentType="text/html;charset=GB2312" %><HTML><BODY> for(char c='A'c<='Z'c+)ln(" "+c);</BODY></HTML>7. 请简单表达include指令标记和include动作标记的不同.答: include指令标记:是把被包含的文件的内容放于包含文件中,组成一个文

6、件后编译运行.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子标记提供的圆的半径以及梯形的上底、下底和高的

7、值。答: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"><jsp:param name="sideR" value="<%=r%>

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

9、t;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 c)if(a>0&&b>0&&c>0)double are

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

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

12、t=GB2312" %><%!public String getArea(double r)if(r>0)double area=3.14*r*r;return ""+area;elsereturn (""+r+"传递的参数小于零,出现错误!请重新检查r的数值!" );<% String sideR=request.getParameter("sideR");double r=Double.parseDouble(sideR);<font color=blue size=4&

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

14、ple">苹果<input type="checkbox" name="item" value="cat">猫<input type="checkbox" name="item" value="moon">月亮该表单所请求的JSP可以使用内置对象request获取该表单提交的数据,那么,以下哪些是request获取该表单提交的值的正确语句?A. String a=request.getParameter("item"

15、);B. String b=request.getParameter("checkbox");C. String c=request.getParameterValues("item");D. String d=request.getParameterValues("checkbox");答:C.2. 如果表单提交的信息中有汉字,接收该信息的页面应做怎样的处理?答:处理方法有2种:第1种:<% page contentType="text/html;Charset=GB2312" %>指令中的Chars

16、et首字母C大写.第2种: <% String str1=request.getParameter("number");byte c=str1.getBytes("ISO-8859-1"); str1=new String(c);3.编写两个JSP页面inputString.jsp和computer.jsp,用户可以使用inputString.jsp提供的表单输入一个字符串,并提交给computer.jsp页面,该页面通过内置对象获取inputString.jsp页面提交的字符串,计算并显示该字符串的长度。答: <% page content

17、Type="text/html;Charset=GB2312" %><HTML><BODY><Font size=5>    <FORM action="computer.jsp" method=post name=form>       <BR>请输入字符串:<INPUT type="text" name="string" value

18、=""></BR>       <INPUT TYPE="submit" value="提交" name="submit">       <INPUT TYPE="reset" value="重置" >   </FORM></FONT><

19、/BODY></HTML><% page contentType="text/html;Charset=GB2312" %><HTML><BODY><Font size=5>   <%  String yourString=request.getParameter("string");       %>     

20、; <P> 您输入的字符串是:<%=yourString %></P>      <p>字符串的长度是:<%=yourString.length() %></p><a href = "inputString.jsp">return</a></FONT></BODY></HTML>4. response调用sendRedirect(URL: url)方法的作用是什么?答:从一个

21、页面跳转到sendRedirect(URL: url)中url指定的页面,并且这种跳转是客户端跳转.5. 略6. 一个用户在不同Web效劳目录中的session对象一样吗?答:不一样.7. 一个用户在同一Web效劳目录的不同子目录的session对象一样吗?答:一样.第4章 JSP及Javabean。请说明,应当怎样保存bean的字节码文件?答:(1)在当前Web效劳目录下建立如下目录构造: (2)Web效劳目录WEB-INFclasses(3)根据类的包名,在目录classes下建立相应的子目录.即:Web效劳目录WEB-INFclassesbluesky(4)将获得的字节码文件保存在其中.

22、2. .Circle是创立bean的类,以下哪个标记是正确创立session周期bean的标记?<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="page"/><jsp:useBean id="circle" class="tom.jiafei.Circle" scope="request"/><jsp:useBean id="circle" class=&qu

23、ot;tom.jiafei.Circle" scope="session"/><jsp:useBean id="circle" type="tom.jiafei.Circle" scope="session"/>答: <jsp:useBean id="circle" class="tom.jiafei.Circle" scope="session"/>3. 假设创立bean的类有一个int型的属性number,以下哪

24、个方法是设置该属性值的正确方法?A. public void setNumber(int n) B. void setNumber(int n) number=n; number=n;C. public void SetNumber(int n) D. publicvoid Setnumber(int n) number=n; number=n;答: A.5. 编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯形的上底,下底和高的值,并提交给本JSP页面,该JSP页面将计算梯形的面积之任务交给一个bean去完成。JSP页面使用getProperty动作标记显示梯形的面积。答:lad

25、der.jsp:<% page pageEncoding="GBk" %><jsp:useBean id="ladder" class="pfc.Ladder" scope="page"/><HTML><BODY bgcolor=yellow><Font size=3><FORM action="" Method="post" > 输入梯形上底、下底和高: 上底:<Input type=text n

26、ame="top" value=0> 下底:<Input type=text name="bottom" value=0> 高:<Input type=text name="height" value=0> <Input type=submit value="提交"></FORM><jsp:setProperty name="ladder" property="*"/> 输入梯形上底、下底和高: 上底:<

27、jsp:getProperty name="ladder" property="top"/>, 下底:<jsp:getProperty name="ladder" property="bottom"/>, 高:<jsp:getProperty name="ladder" property="height"/>.<BR>面积是: <jsp:getProperty name="ladder" property=&

28、quot;area"/></FONT></BODY></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 = bott

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

30、答:a.jsp:<% page pageEncoding="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

31、name="longside" value=0> 宽:<Input type=text name="width" value=0> <Input type=submit value="提交"></FORM></FONT></BODY></HTML>b.jsp:<% page pageEncoding="GBk" %><jsp:useBean id="rectangle" class="pfc

32、.Rectangle" scope="request"/><HTML><BODY bgcolor=yellow><Font size=3><jsp:setProperty name="rectangle" property="*"/> 矩形的长和宽: 长:<jsp:getProperty name="rectangle" property="longside"/>, 宽:<jsp:getProperty name=

33、"rectangle" property="width"/>, <BR>面积是: <jsp:getProperty name="rectangle" property="area"/></FONT></BODY></HTML>Rectangle.java:package pfc;public class Rectangledouble longside=0,width=0,area=-1;public double getArea() area=lo

34、ngside*width; return 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对象被创立后首选调

35、用init方法还是service方法?答:init方法.3. “servlet第一次被请求加载时调用init方法,当后续的客户请求servlet对象时,servlet对象不再调用init方法,这样的说法是否正确?答:正确.4. 假设创立servlet的类是tom.jiafei.Dalian,创立的servlet对象的文件?答:<?xml version=“1.0 e ncoding="ISO-8859-1"?> <web-app> <servlet> <!-创立一个servlet对象 -> <servlet-name&g

36、t;myservlet</servlet-name> <!-对象名 -> <servlet-class>tom.jiafei.Dalian</servlet-class><!-指定创立对象的servlet -> </servlet> <servlet-mapping> <!-为Servlet 进展 映射地址 -><!-必须及Servlet 标记中的servlet-name指定的名称一样 -> <servlet-name>myservlet</servlet-name&g

37、t;<!-具体的映射路径,前面必须有一个/ -> <url-pattern>/lookHello</url-pattern> </servlet-mapping></web-app>5. 如果Servlet类不重写service方法,那么应当重写哪两个方法?答:doGet方法或doPost方法。6. ServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?答:javax.servlet. . ServletResponse提供的方法 void sendRedir

38、ect(String location) throws IOException 客户端跳转.即当前页面可用request对象获取用户提交参数,而目标页面都不可用request对象获取用户提交参数. 转发 javax.servlet .RequestDispatcher接口提供的方法 void forward(ServletRequest request, ServletResponse response) / Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. 效劳器跳转.即当前页面和目标页面都可用request对象获取用户提交参数. 7. Servlet对象怎样获得用户的会话对象?答:在doGet()或doPost()方法中使用获取当前会话对象. Session session=request.getSession(true);一个用户在不同的Servlet中获取的sessi

温馨提示

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

评论

0/150

提交评论