《《JSP实用教程第三版》课后答案 .doc》由会员分享,可在线阅读,更多相关《《JSP实用教程第三版》课后答案 .doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JSP实用教程(第三版)课后答案第1章 JSP简介1. 安装Tomcat引擎的计算机需要事先安装JDK吗?答:需要。2. 怎样启动和关闭Tomcat服务器?答:bin目录下使用启动Tomcat服务器。bin目录下使用关闭Tomcat服务器。 3. 和是否是相同的JSP文件名字?答:不是4. 请在D:下建立一个名字为water的目录,并将该目录设置成一个Web服务目录,然后编写一个简单JSP页面保存到该目录中,让用户使用虚拟目录fish来访问该JSP页面。答:设置方法: 建立D: water目录; 修改文件,在上一行添加: 使用http:/localhost:8080/ fish /exampl
2、e1_1.jsp访问example1_1.jsp页面.5. 假设Dalian是一个Web服务目录,其虚拟目录为moon。A.jsp保存在Dalian的子目录sea中。那么在Tomcat服务器(端口号8080)所在计算机的浏览器键入下列哪种方式是访问A.jsp的正确方式?A:8080/A.jsp B. :8080/Dalian/A.jspC. :8080/moon/A.jsp D. :8080/moon/sea/A.jsp答:D6如果想修改Tomcat服务器的端口号,应当修改哪个文件?能否将端口号修改为80?答:修改Tomcat服务器的conf目录下的主配置文件可以更改端口号. 若Tomcat服
3、务器上没有其它占有80端口号的程序,可以将其修改为80,否则不能。第2章 JSP语法1.之间声明的变量与声明的变量有何不同?答: 声明的变量为类的成员变量,其所占的内存直到Tomcat服务器关闭才释放.为类方法中声明的局部变量,仅在JSP页面后继的程序片及表达式中有效.2. 如果有2个用户访问一个JSP页面,该页面中的Java程序片将被执行几次?答:2次(当有一个用户访问JSP页面,JAVA程序片就被访问一次).5. 假设有两个不同用户访问下列JSP页面,请问第一个访问和第二个访问页面的用户看到的页面的效果有何不同? 答:第一个客户看到结果是101; 第二个客户看到结果是201;6. 请编写一
4、个简单的JSP页面,显示英文字母表。% for(char c=A;c7. 请简单叙述include指令标记和include动作标记的不同.答: include指令标记:是把被包含的文件的内容放于包含文件中,组成一个文件后编译运行.include动作标记: 是把被包含的文件的运行结果放于包含文件运行产生的结果中,这2个文件各自编译运行.8. 编写三个JSP页面:、,将三个JSP页面保存在同一web服务目录中。使用include动作标记加载和页面。页面可以计算并显示圆的面积。页面可以计算并显示梯形的面积。当和被加载时获取页面include动作标记的param子标记提供的圆的半径以及梯形的上底、下底
5、和高的值。答:加载计算半径为 的圆的面积:jsp:param name=sideR value=/加载计算上底,下底,高为,的梯形面积:jsp:param name=sideA value=/jsp:param name=sideB value=/jsp:param name=sideC value=/:0&b0&c0)double area=(a+b)*c)/2.0;return +area;elsereturn (+c+传递的参数小于零,出现错误! );%我是被加载的文件,负责计算梯形的面积给我传递的上底,下底,高分别是:,圆形的面积:0)double area=3.14*r*r;retu
6、rn +area;elsereturn (+r+传递的参数小于零,出现错误!请重新检查r的数值! );%我是被加载的文件,负责计算圆的面积给我传递的半径是:圆形的面积:第3章 JSP 内置对象1.假设JSP使用的表单中有如下的GUI(复选框)鸟苹果猫月亮该表单所请求的JSP可以使用内置对象request获取该表单提交的数据,那么,下列哪些是request获取该表单提交的值的正确语句?A. String a=rameter(item);B. String b=rameter(checkbox);C. String c=rameterValues(item);D. String d=rameter
7、Values(checkbox);答: C.2. 如果表单提交的信息中有汉字,接收该信息的页面应做怎样的处理?答:处理方法有2种:第1种:指令中的Charset首字母”C”大写.第2种: 3.编写两个JSP页面和,用户可以使用提供的表单输入一个字符串,并提交给页面,该页面通过内置对象获取页面提交的字符串,计算并显示该字符串的长度。答: 请输入字符串: 您输入的字符串是:字符串的长度是:return4. response调用sendRedirect(URL: url)方法的作用是什么?答:从一个页面跳转到sendRedirect(URL: url)中url指定的页面,并且这种跳转是客户端跳转.5
8、. 略6. 一个用户在不同Web服务目录中的session对象相同吗?答:不相同.7. 一个用户在同一Web服务目录的不同子目录的session对象相同吗?答:相同.第4章 JSP与Javabean1. 假设Web服务目录mymoon中的JSP页面要使用一个bean,该bean的包名为。请说明,应当怎样保存bean的字节码文件?答:(1)在当前Web服务目录下建立如下目录结构: (2)Web服务目录WEB-INFclasses (3)根据类的包名,在目录classes下建立相应的子目录.即: Web服务目录WEB-INFclassesbluesky (4)将获得的字节码文件保存在其中.2. i
9、.Circle是创建bean的类,下列哪个标记是正确创建session周期bean的标记?答: 3. 假设创建bean的类有一个int型的属性number,下列哪个方法是设置该属性值的正确方法?A. public void setNumber(int n) B. void setNumber(int n) number=n; number =n; C. public void SetNumber(int n) D. public void Setnumber(int n) number =n; number =n; 答: A.5. 编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯
10、形的上底,下底和高的值,并提交给本JSP页面,该JSP页面将计算梯形的面积之任务交给一个bean去完成。JSP页面使用getProperty动作标记显示梯形的面积。答:: 输入梯形上底、下底和高: 上底: 下底: 高: 输入梯形上底、下底和高: 上底:, 下底:, 高:.面积是: :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
11、() return bottom;public void setBottom(double bottom) m = bottom;public double getHeight() return height;public void setHeight(double height) t = height;public double getTop() return top;public void setTop(double top) = top;6. 编写两个JSP页面a.jsp和b.jsp,a.jsp页面提供一个表单,用户可以通过表单输入矩形的两个边长提交给b.jsp页面,b.jsp调用一个b
12、ean去完成计算矩形面积的任务。b.jsp页面使用getProperty动作标记显示矩形的面积。答:a.jsp: 输入矩形的长和宽: 长: 宽: b.jsp: 矩形的长和宽: 长:, 宽:, 面积是: :package pfc;public class Rectangledouble longside=0,width=0,area=-1;public double getArea() area=longside*width; return area; public double getLongside() return longside;public void setLongside(doub
13、le longside) ide = longside;public double getWidth() return width;public void setWidth(double width) = width;第5章Java Servlet 基础1. servlet对象是在服务器端还是在客户端创建的?答:服务器端.2. servlet对象被创建后首选调用init方法还是service方法?答:init方法.3. “servlet第一次被请求加载时调用init方法,当后续的客户请求servlet对象时, servlet对象不再调用init方法”, 这样的说法是否正确?答:正确.4. 假设
14、创建servlet的类是i.Dalian,创建的servlet对象的名字是myservlet,应当怎样配置文件?答: myservlet i.Dalian myservlet /lookHello .5. 如果Servlet类不重写service方法,那么应当重写哪两个方法?答:doGet方法或doPost方法。6. HttpServletResponse类的sendRedirect方法和RequestDispatcher类的forward方法有何不同?答: et.http .HttpServletResponse提供的方法 void sendRedirect(Stringlocation)
15、throws IOException 客户端跳转.即当前页面可用request对象获取用户提交参数,而目标页面都不可用request对象获取用户提交参数. 转发 et .RequestDispatcher接口提供的方法 void forward(ServletRequestrequest, ServletResponseresponse) / Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. 服务器跳转.即当前页面和目标页面都可用reque
16、st对象获取用户提交参数. 7. Servlet对象怎样获得用户的会话对象?答:在doGet()或doPost()方法中使用获取当前会话对象. HttpSession session=ssion(true);一个用户在不同的Servlet中获取的session对象是完全相同的,不同的用户的session对象互不相同。 第6章 MVC模式1. 在JSP中,MVC模式中的数据模型之角色由谁担当?答:由Java Bean或EJB充当.2. 在JSP中,MVC模式中的控制器之角色由谁担当?答:一个或多个Servlet对象充当.3. 在JSP中,MVC模式中的视图之角色由谁担当?答:由一个或多个JSP页
17、面或HTML页面充当.4. MVC的好处是什么?答:MVC模式的核心思想是有效地组合“视图”、“模型”和“控制器”。在JSP技术中,视图是一个或多个JSP页面,其作用主要是向控制器提交必要的数据和为模型提供数据显示;模型是一个或多个Javabean对象,用于存储数据;控制器是一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到Javabean中,然后servlet使用重定向方式请求视图中的某个JSP页面更新显示。5. MVC模式中用到的Javabean是由JSP页面还是servlet负责创建?答:是servlet负责第7章 在JSP中使用数据库1. 加载MyS
18、QL的JDBC数据库驱动程序代码是什么?答:try me(.r); catch(Exception e) 2. 加载SQL server的JDBC数据库驱动程序代码是什么?答:try me(.SQLServerDriver); catch(Exception e) 4. 使用预处理语句的好处是什么?答:预处理语句PreparedStatement会将传入的SQL命令封装在PreparedStatement对象中,事先进行预编译处理等待使用。 当有单一的SQL语句多次执行时,用PreparedStatement类会比Statement类更有效率。 第8章 JSP中的文件操作1. File对象能读
19、写文件吗?答:不能。2. File对象怎样获取文件的长度?答:调用public long length()方法。3. 准备读取文件“A.java”,下列哪些是正确创建输入流的代码?A.try FileInputStream in=new FileInputStream(“A.java”); catch(IOException e)B. try InputStream in=new InputStream(“A.java”); catch(IOException e)C. try FileReader in=new FileInputStream(new File(“A.java”); catch(IOException e)D. try FileReader in=new FileReader (new File(“A.java”); catch(IOException e)答:A和D。4. RandomAccessFile类创建的流在读写文件时有什么特点?答:RandomAccessFile类既不是输入流类InputStream类的子类,也不是输出流类Outputstream类的子类。想对一个文件进行读写操作时,可以创建一个指向该文件的RandomAccessFile流,这样我们既可以从这个流中读取这个文件的数据,也可以通过这个流给这个文件写入数据。