• 246.00 KB
  • 2022-04-22 11:23:58 发布

JSP动态网站开发基础与上机指导 (范芸 范慧霞 著) 清华大学出版社

  • 9页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'课后答案网您最真诚的朋友www.hackshp.cn网团队竭诚为学生服务,免费提供各门课后答案,不用积分,甚至不用注册,旨在为广大学生提供自主学习的平台!课后答案网:www.hackshp.cn视频教程网:www.efanjy.comPPT课件网:www.ppthouse.com课后答案网www.hackshp.cn 习题参考答案习题11.简述ASP、PHP和Servlet技术的比较。答:ASP是微软开发的一种类似HTML(超文本标识语言)、Script(脚本)与CGI(公用网关接口)的结合体,它没有提供自己专门的编程语言,而是允许用户使用许多已有的脚本语言来编写ASP的应用程序。ASP的程序编制比HTML更方便且更有灵活性,它是在Web服务器端运行,运行后再将运行结果以HTML格式传送至客户端的浏览器。因此,ASP与一般的脚本语言相比,要安全得多。khdaw.comPHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C、Java和Perl语言的语法,并耦合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。它支持目前绝大多数数据库。Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的Web服务器端编程技术,主要用于在Web服务器端获得客户端的访问请求信息和动态生课后答案网成对客户端的响应消息。2.简述JSP的特点及工作原理。www.hackshp.cn答:JSP技术使用Java编程语言编写类XML的tags和Scriptlets,它与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的工作原理如图所示。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com JSP容器JSP页面请求JSP页面生成Servlet浏览器端返回HTML执行Servlet生成HTML(1)当用户访问一个JSP页面时,用户从客户端浏览器向服务器发出一个JSP页面请求,这些请求里面有很多信息,包括请求的文件、用户输入的内容及一些本地计算机的信息。khdaw.com(2)JSP文件由JSP引擎将JSP源代码转换成Servlet代码文件。(3)由JSP引擎调用服务器端的Java编译器对Servlet代码进行编译,由此生成字节码文件(.class)。(4)由Java虚拟机执行此字节码文件,并将执行结果以HTML格式发送到请求浏览器。(5)由浏览器对这些HTML代码进行解释,并将结果显示在浏览器窗口中。课后答案网3.简述JSP的安全性实现方法。答:JSP中安全性主要通过如下几种方式实现。www.hackshp.cn(1)DeclarativeSecurity(2)ProgrammaticSecurity(3)Roles(4)Authentication(5)HTTPBasicAuthentication(6)HTTPDigestAuthentication(7)HTTPSClientAuthentication4.简述JSP的安全漏洞问题。答:JSP的安全漏洞问题主要包括源代码暴露问题,远程程序执行问题,另外,除JSP本身存在的安全漏洞问题以外,其他和JSP应用相关的工具也会给JSP应用带来安全问题。如数据库(SQLServer、Oracle、DB2等)的漏洞,操作系统(WindowsNT/2000、Linux等)的漏洞。习题21.简述目前比较流行的JSP开发工具。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 答:目前比较流行的JSP开发工具有:(1)JSP运行的最佳环境——Tomcat+MySQL(2)高效开发JSP的最佳搭配工具——Eclipse+MyEclipse(3)开发JSP的经典模式MVC2.如何配置JDK环境?请参阅第2.2.2节内容。3.如何创建自己的Web目录?请参阅第2.3.3节内容。khdaw.com4.简述JSP页面的执行流程。答:JSP页面的执行过程如下所述。(1)客户通过浏览器向服务器端的JSP页面发送请求。(2)JSP引擎检查JSP文件对应的servlet源代码是否存在,若不存在转向第(4)步,否则执行下一步。(3)JSP引擎检查JSP页面是否修改,若未修改,转向第(5)步,否则执行下一步。课后答案网(4)JSP引擎将JSP页面文件转译为servlet源代码(相应的.java代码)(5)JSP引擎将servlet源代码编译为相应的字节码(.class代码)(6)JSP引擎加载字节码到内存www.hackshp.cn(7)字节码处理客户请求,并将结果返回给客户。习题31.简述HTML标签的作用。答:当浏览器打开一个HTML文档时,会根据标签的含义显示HTML文档中的文本。其中标签由“<标签名称属性>”来表示。2.JSP指令标签有哪些,分别起什么作用。答:JSP指令标签主要包括page和include指令。page指令主要用来定义整个JSP页面的各种属性,它描述了与页面相关的一些信息,作用域为它所在的JSP文件页面和其包含的文件。在JSP中用include指令在标签位置处静态插入一个文件,同时解析这个文件中的JSP语句。所谓静态插入指用被插入的文件内容代替该指令标签与当前JSP文件合并成新的JSP页面后,再由JSP引擎转译为java文件。3.在JSP文件中HTML注释和隐藏注释有什么区别。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 答:1)HTML注释JSP页面使用这种注释时,客户端通过浏览器查看JSP源文件时,能够看到HTML注释文字。其语法格式是:2)JSP注释这是JSP的标准注释,写在JSP程序中,使用这种注释时,JSP引擎编译该页面时会忽略JSP注释,返回的HTML源代码中也看不到,这种注释主要供编程人员使用。习题41.简述application对象与session对象的不同。khdaw.com答:application对象的主要作用是为多个应用程序保存信息,直到服务器关闭为止。当多个客户点击同一页面时,JSP引擎会为每个客户启动一个线程,这些线程共享同一个application对象。session对象是JSP中十分重要的一个对象,用来记录每个客户端的访问状态,并跟踪第个客户端的操作状态,一般来说,不同的用户所对应的session对象是不同的。课后答案网2.简述request对象的功能。答:request对象主要用于接收客户端通过HTTP协议连接传输到服务器端的数据。当客户访问服务器页面时,会提交一个HTTP请求,request对象就是对这个HTTP请求包的封www.hackshp.cn装,该请求中包含所有客户端传送给服务器端的数据,如请求的来源、Cookies以及请求的相关参数值等,其作用域就是一次request请求。3.JSP程序的错误分哪几类。答:在JSP程序中,常见的错误有以下3种:1)语法错误语法错误又称为编译错误,也就是编写的语句不符合语法规范。当JSP程序中存在语法错误时,JSP文件在服务器端被JSP引擎编译成Servlet时,就会发生错误,无法通过编译。2)运行错误当JSP引擎将JSP文件编译成Servlet加载到内存执行时发生的错误被称为运行错误,运行错误会被Java的异常处理机制处理。3)逻辑错误JSP程序可以被运行,但运行结果却与期望值不符,这是由于某种原因JSP程序内部逻辑发生了错误,这种错误不返回错误信息,是最难调试的一种。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 习题51.简述JDBC的体系结构。答:JDBC的体系结构有四个组件,分别为应用程序、JDBCAPI、JDBC驱动程序管理器和为各种数据库定制的JDBC驱动程序,提供与不同数据库的透明连接。其中JDBCAPI的作用就是屏蔽不同的数据库间JDBC驱动程序之间的差别,使得程序设计人员有一个标准的、纯Java的数据库程序设计接口,为在Java中访问任意类型的数据库提供技术支持。JDBC驱动程序管理器为应用程序装载数据库驱动程序。JDBC驱动程序与具体的数据库相关,用于建立与数据源的连接,向数据库提交SQL请求。2.JDBC的驱动程序有哪几类。khdaw.com答:JDBC驱动程序按其实现方式的不同可以分为四种类型:(1)JDBC-ODBC桥:通过JDBC-ODBC桥,开发者可以使用JDBC来访问一个ODBC数据源。(2)Java到本地API:该类型的驱动程序把客户机API上的JDBC调用转换为其他数据库管理系统的调用。课后答案网(3)JDBC网络纯Java驱动程序:这种类型的驱动程序将JDBC转换为与数据库管理系统无关的网络协议,之后这种协议又被某个服务器转换为一种数据库管理系统协议。(4)Java到本地数据库协议:该类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。www.hackshp.cn习题61.用来生成File对象的构造函数有哪些。答:可以用来生成File对象的构造函数有如下3个。(1)File(StringdirectoryPath):通过全路径——路径文件名来创建对象,路径可以是绝对路径也可以是相对路径。(2)File(StringdirectoryPath,Stringfilename):通过父目录和文件名来创建对象,filename是不含路径的文件名。(3)File(Filef,Stringfilename):也是通过父目录和文件名来创建对象,但父目录由一个File对象提供。2.按照数据流成分划分,可将数据流分为哪几类。答:按照数据流成分划分,可将数据流分为字节流、字符流、缓冲流、数据流、对象流等。3.简述对文件进行随机读写的类。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 答:数据流只能按顺序读写文件,而且输入流只能读不能写,输出流只能写不能读,即不能使用同一个流对文件进行读写操作。为了解决这个问题,JSP提供了随机访问类RandomAccessFile,使用该类对象可以随机读写文件。习题71.简述JavaBean的代码应遵循的规则。答:通常一个标准的JavaBean具有以下特性。(1)易于维护、使用、编写。(2)可实现代码的重用性。khdaw.com(3)可移植性强,但仅限于Java工作平台。(4)便于传输,不限于本地还是网络。(5)可以以其他部件的模式进行工作。2.简述JavaBean的范围。答:JavaBean的Scope属性具有4个可能的值,分别为page、request、session和课后答案网application,使得JavaBean组件对于不同的任务具有不同的生命周期和不同的使用范围。page范围的生命周期和作用范围在4种类型的JavaBean组件中是最小的。当JavaBean的Scope属性被设为page时,表示该JavaBean的生命周期只在一个页面内,即为JSP程www.hackshp.cn序的运行周期。当JSP程序运行结束,该JavaBean组件的生命周期也就结束了。request范围的生命周期和作用范围与JSP的Request对象一样,当JavaBean的Scope属性值被设为request时,表示JavaBean在整个请求的范围内都有效,而不仅仅在一个页面内有效。session范围的生命周期就是某个会话过程所经历的时间。当JavaBean的Scope属性值为session时,表示JavaBean可以在当前HTTP会话的生命周期内被所有页面访问,该JavaBean存在于session对象中。当JavaBean的Scope属性被指定为application时,它的生命周期和JSP的Application对象具有相同的作用范围,也和Application对象一样使用。这个JavaBean的生命周期是最长的,从创建了这个JavaBean开始,就可以在任何使用相同application的JSP文件中使用这个JavaBean。这种类型的JavaBean可以在多个用户之间共享全局信息。习题81.简述Servlet的基本功能。答:Servlet程序具有如下的一些基本功能:(1)获取客户端通过HTML的FORM表单递交的数据和URL后面的参数信息;(2)创建对客户端的响应消息内容;khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com (3)访问服务器端的文件系统;(4)连接数据库并开发基于数据库的应用;(5)调用其它的Java类。与普通Java程序相比,Servlet只是输入信息的来源和输出结果的目标不一样,因此普通Java程序所能完成的大多数任务,Servlet程序都可以完成。2.简述Servlet的工作原理。答:Servlet的工作原理:(1)浏览器向Web服务器发出请求。即使用浏览器按照HTTP协议键入一个URL地址,向Web服务器提出请求。(2)Web服务器响应该请求后,转交给Servlet引擎处理。khdaw.com(3)Servlet引擎检查对应的Servlet是否已装载,若没有装载,则将其载入内存并初始化,然后由该Servlet对请求进行处理。若Servlet中已含有访问数据库的操作,则还要通过相关的JDBC驱动程序,与数据库相连,对数据库进行访问。(4)Servlet通过JDBC取回结果,生成HTML页面并将页面送回Web服务器。(5)最后Servlet将动态生成的标准HTML页面发送给客户端浏览器。课后答案网3.Servlet的生命周期包括哪几部分?说明每一部分的具体功能。答:Servlet的生命周期分为装载Servlet、处理客户请求和结束Servlet三个阶段,分别由javax.servlet.Servlet接口的init()、service()和destroy()方法来实现。www.hackshp.cn(1)装载Servlet,实际上是用Web服务器创建一个Servlet对象,调用这个对象的init()方法完成必要的初始化工作。在servlet对象生命周期内,本方法只调用一次。(2)当客户请求到来时,Servlet引擎将请求对象传递给service()方法,同时创建一个响应对象,service()方法获得请求/响应对象后,进行请求处理(调用被覆盖的doXXX()方法进行逻辑处理),然后再将处理的结果以响应对象的方式返回给客户端。在servlet对象周期内,该方法可能被多次请求,而被多次调用。(3)当Web服务器要卸载Servlet或重新装入Servlet时,服务器会调用Servlet的destroy()方法,将Servlet从内存中删除,否则它一直为客户服务。在Servlet对象周期内,该方法只调用一次。4.一般在什么情况下应该使用doGet()方法?答:doGet()方法用来处理一个HTTPGET操作,这个操作允许客户端简单地从HTTP服务器“获得”资源。当一个客户通过HTML表单发出一个HTTPGET请求或直接请求一个URL时,doGet()方法被调用。与GET请求相关的参数添加到URL的后面,并与这个请求一起发送。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com 习题91.简述Struts框架的基本结构及工作流程。答:Struts是基于MVC的Web应用框架,由一组相互协作的类、Serlvet以及JSPTagLib组成。在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件构成。Struts框架的体系结构如图所示。EventEvenEventtControllerDispatchDispDispatchatchBusinessBusinessLogicLogiLogiccHTTPServletActionRequestClientkhdaw.comBrowserStruts-config.xmlUpdateGetGeGettViewModelHTTPJSPApplicationState课后答案网Response其具体工作流程如下:(1)检索和用户请求匹配的ActionServlet实例,如果不存在,就返回用户请求路径无效的信息。www.hackshp.cn(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。(3)根据配置信息决定是否需要表单验证。如果需要验证,就调用ActionForm的validate()方法。(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActionErrors对象,就表示表单验证成功。(5)ActionServlet根据ActionMapping实例包含的映射信息决定将请求转发给哪个Action。如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法。(6)Action的execute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指向的JSP组件。(7)ActionForward对象指向的JSP组件生成动态网页,返回客户。2.简述Struts框架中控制器的特征,以及如何在配置文件struts.xml文件中配置。ActionServlet继承自javax.servlet.http.HttpServlet类,其在Strutsframework中扮演的角色是中心控制器。它提供一个中心位置来处理全部的终端请求。控制器ActionServlet主要负责将HTTP的客户请求信息组装后,根据配置文件的指定描述,转发到适当的处理器。配置文件可参考第9.2.4节内容。khdaw.com若侵犯了您的版权利益,敬请来信通知我们!℡www.khdaw.com'

您可能关注的文档