2018年春季学期《Web技术》综合练习题答案.docx_第1页
2018年春季学期《Web技术》综合练习题答案.docx_第2页
2018年春季学期《Web技术》综合练习题答案.docx_第3页
2018年春季学期《Web技术》综合练习题答案.docx_第4页
2018年春季学期《Web技术》综合练习题答案.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

“Web技术”综合练习题参考答案 “Web技术”综合练习题参考答案 一单项选择题1. C2. D3. A4. D5. C6. A7. C8. A9. C10. A11.C12. C13. C14. B15. D16. D17.B18. D19. C20. D21. C22.C23.D24. C25. D26. C27. B28. D29. C30. B31. D32. C33. A34. B35. C二多项选择题 1. BCD2. ACD3. AC4. ACD5. CD6. AB7. AC8. BD9. BD10. BC11. ABCDE12. ABCD13. DE14. ABDE15. ACD16. AB17. BCD18. CD19. BC20. BD三判断题 1. A2. B3. B4. A5. A6. B7. B8. A9.A10. B11. B12. A13. B14. B15. B16. B17. A18. A19. B20. B21. A22. A23. B24. A25. A26. A27. A28. A29. B30. B四简答题 1. Web系统要解决的主要问题什么?Tim Berners-Lee提出了怎样的解决方案?答:Web系统要解决的基本问题是通过计算机网络及时沟通传递信息,这涉及到如何表示包含信息的文档、怎样在互联网上标识文档的地址、以及如何在互联网上的主机之间传输文档。Tim Berners-Lee给出的解决方案是:(1)文档系统用超文本(hypertext)系统,文档描述方法采用HTML。(2)用URL在互联网上标识文档的地址。(3)使用HTTP作为文档的传输协议。后来,HTML、URL和HTTP成为Web的基础规范。2. 标记语言、编程语言和脚本语言有哪些不同?答:标记语言源于文字编辑在编辑文稿时所使用的标记符号。标记语言规定了一系列文档标记,而文档标记是在文档中插入的命令,这些命令要么描述文档结构,要么描述当文档被打印时呈现的格式。编程语言是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的操作。脚本语言是编程语言的一种。人们在用高级编程语言编写和运行程序时,通常要经过“编写-编译-链接-运行”的过程。脚本语言是为了缩短传统的“编写-编译-链接-运行”过程而创建的计算机编程语言。早期的脚本语言通常是解释执行,用于批处理或工作控制等简单自动化任务。后来的脚本语言成熟到可以编写精巧的程序,但仍然还是被称为脚本。现在,很多时候高级编程语言和脚本语言之间互相交叉,二者之间没有明确的界限。3. 从开发的角度看,Web系统模型是怎样的?这意味着学习Web开发技术要重点学习哪些内容?答:从Web开发的角度看,Web系统的主要组件是用户、浏览器、Web服务器和后端服务。用户是网站存在的首要原因。用户浏览Web系统提供的信息,使用鼠标、键盘的设备与Web系统交互。浏览器提供与Web服务器的通信;解释来自Web服务器的数据,并将其呈现为用户实际看到的视图;提供用户交互界面,并执行适当的行为。Web服务器处理来自浏览器的请求;执行服务器端脚本程序;与其它后端服务交互。护短服务器是在Web服务器后面运行的服务,它提供数据,用来构建对浏览器的响应。学习Web开发技术要重点学习:(1)浏览器端开发技术,如HTML、CSS、JavaScript、XML等;(2)服务器技术,如Apache的安装和配置、IIS的安装和配置、Tomcat的安装和配置、搭建高可用性/高扩展性/高安全性服务器等。(3)服务器端开发技术,如PHP技术、ASP.NET技术、JavaWeb技术等;(4)数据库技术,如Oracle技术、MySQL技术、SQL Server技术等。4. HTML标记的基本组成是怎样的?答:HTML标记由几个关键组件组成,包括标签(标签可以有属性)、基于字符的数据类型、字符引用和实体引用。HTML 标记标签通常被称为 HTML 标签 (HTML tag)。HTML 标签是由尖括号包围的关键词,标签形如、.等。HTML标签通常成对出现,如和。也有一些表示空元素的标签不成对出现,如。HTML为元素内容定义了多种数据类型,如脚本数据、样式表的数据,以及大量的属性值(包括ID、名称,URI,数字,长度单位、语言、媒体描述符、颜色、字符编码、日期和时间等)。所有这些数据类型都是字符数据的方式定义的。在 HTML 中,某些字符是预留的,如小于号()。在 HTML 中,元素的中间数据不能使用小于号(),这是因为浏览器会误认为它们是标签。如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。注意,实体名称对大小写敏感。5. 在HTML页面中应用CSS的方法有哪些?答:在HTML页面中应用CSS的方法有三种:内联样式、内部样式和外部样式。内联样式(inline)也称行内样式,它是直接在HTML标签中使用style属性设置元素的样式。内部样式(internal)也称内嵌样式,它使用 元素,把页面中需要应用的多个样式规则集中定义在页面头部,即把元素放置在元素中。外部样式(external)是把若干样式规则保存为一个单独的样式表文件(扩展名为“.css”),然后在HTML文档中把样式表文件链接到文档或导入到文档。此时,HTML文件与CSS文件是两个独立的文件。在HTML文档中使用外部样式表有两种方法:(1) 链接外部样式表。(2) 导入外部样式表。6. XML文档的基本结构是怎样的?答:一个标准的XML 文档由两大部分组成:(1)文档头部(序言)作用是通知解析器按相关条件和限制对XML 文档进行解析。文档头部可以包括声明、注释、处理指令和文档类型定义四部分。“声明”必不可少,并且作为文档的第一条语句出现,其他部分根据需要确定其有无。(2)文档主体(文档元素)作用是描述数据和数据结构。由一个称为文档(根)元素和多个低层元素构成的树型结构组成。也可以有处理指令和注释。7. 在HTML页面中如何嵌入JavaScript代码?答:有四种方法:(1)内联把JavaScript代码放置标签和之间(即放在元素中);(2)外部文件把JavaScript代码放置在由标签的src属性指定的外部文件中;(3)事件句柄属性把JavaScript代码放置在事件句柄属性中,例如onclick或onmouseover;(4)放置在URL中把JavaScript代码放置在一个URL中,这个URL使用特殊的“javascript:”协议。8. 如何理解JavaScript的事件处理机制?答:事件是一个原始名词,就是Web浏览器通知应用程序发生了什么事情。客户端JavaScript采用异步事件驱动编程模型。Web浏览器会产生事件,例如,当Web浏览器加载完文档、用户把鼠标指针移到超链接上或敲击键盘时,Web浏览器都会产生事件。如果JavaScript程序关注特定类型的时间,那么它可以注册当这类事件发生时要调用的一个或多个函数,这些函数响应发生的事件。事件传播是浏览器决定哪个对象触发其事件处理程序的过程。DOM标准同时支持两种事件传播模型,即“捕获”与“冒泡”。对于单个对象的特定事件(如Window对象的load事件),必须是不能传播的。当文档元素上发生某个类型的事件时,它们会在文档树上向上传播(冒泡),如鼠标指针移动到超链接上等类似的事件。事件处理程序能通过调用方法或设置事件对象属性来组织事件传播,这样它就能停止冒泡且将无法在容器元素上触发处理程序。事件传播的另外一种形式是捕获。事件捕获使得在容器元素上注册的特定处理程序有机会在事件传播到真实目标之前拦截(捕获)它。例如,当处理鼠标拖放事件时,捕获或“夺取”鼠标事件的能力就是必须的。一些事件由与之相关的默认操作。例如,当超链接上发生click事件时,浏览器的默认操作是按照链接加载新页面。事件处理程序可以通过返回一个适当的值、调用事件对象的某个方法或设置事件对象的某个属性来阻止默认操作的发生。这是称为“取消”事件。9. Servlet容器是什么?请列举一个Servlet容器的例子。答:许多Web服务器软件都不能直接支持Servlet。为了支持Servlet,通常要单独开发程序,这种程序一般称为服务器小程序容器(Servlet Container),有时也叫做服务器小程序引擎(Servlet Engine)。它是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应。它在Servlet的生命周期内包容和管理Servlet,是一个实时运行的外壳程序。运行时由Web服务器软件处理一般请求,并把Servlet调用传递给“容器”来处理。Tomcat就是满足这种需要的JSP/Servlet引擎,是Sun公司的JSP/Servlet的官方实现。10. JSP文件的执行过程是怎样的?答:lJSP的执行过程如下:(1) 客户端发出请求,Web容器接收请求并判断:这个JSP页面是否是第一次被请求或被修改过,如果是,则执行后面(2)(3)(4)(5);如果不是,则直接(4)(5);(2) Web容器将JSP转译成Servlet源代码;(3) Web容器将产生的源代码进行编译;(4) Web容器加载编译后的代码并执行,生成HTML文件;(5) 把执行结果(HTML文件)响应至客户端。11. JDBC的基本组成和实现原理是怎样的?答:JDBC的基本组成如下图所示:(1)JDBC驱动管理器:java.sql.DriverManager,负责注册JDBC驱动器,并为创建数据库连接提供支持。由SUN公司实现。(2)JDBC驱动器API:java.sql.Driver,由SUN公司实现。(3)JDBC驱动器:由数据库供应商或者第三方工具提供商创建,也称为JDBC驱动程序。JDBC驱动程序负责与特定的数据库连接,并处理通信细节。12. Java Web应用的目录结构是怎样的?答:Java Web应用必须采用固定的目录结构,类似下面的样子:其中:WEBAPPS:是系统原来就有的。Tomcat的应用程序目录,你开发Web应用程序连同目录一起放到这里。Unit6:是你的Web应用目录,Unit6及其子目录都需要你自己创建。WEB-INF:此目录存放本Web应用的配置文件、class文件和库文件。注意,目录名称是区分大小写的。需要你自己创建。web.xml:本应用的配置文件。本文件需要你自己创建。classes:存放站点所有用的 class 文件,包括 servlet class 和非servlet class,它们不能包含在 .jar文件中。本目录需要自己创建。lib:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件。本目录需要自己创建。系统运行时,Servlet容器的类加载器先加载classes目录下的类,再加载lib目录下的JAR文件中的类。因此,如果classes目录和lib目录存在同名的类文件,classes目录下的类具有比lib下的类更高的优先权。13. 用ZIP格式安装文件安装MySQL的步骤是怎样的?答:(1)解压缩文件,把解压缩后得到的文件夹复制到某个目录下。(2)配置环境变量。(3)编辑MySQL配置文件。(4)安装MySQL服务。(5)初始化data目录。(6)启动MySQL服务。(7)登录MySQL服务器并设置root的密码。(8)每次重启计算机后要用管理员身份重启一下MySQL服务。14. Java Web程序通过JDBC访问数据库的编程步骤是怎样的?答:(1) 下载数据库的JDBC驱动程序。(2) 把JDBC驱动程序的jar文件复制到%Tomcat_HOME% webappsyourProjectWEB-INFlib目录下,然后重新启动Tomcat。本步的目的是让Tomcat(Servlet容器)能够找到JDBC驱动程序的jar文件。(3) 在Java Web程序中导入JDBC API包。(4) 在Java Web程序中加载数据库JDBC驱动程序。(5) 创建Connection对象,建立到数据库的连接。(6) 利用已有Connection对象创建Statement对象或PreparedStatement对象。(7) 利用Statement对象或PreparedStatement对象执行SQL语句。(8) 利用ResultSet对象保存和处理查询结果集。(9) 依次关闭ResultSet对象、Statement对象或PreparedStatement对象、Connection对象,释放资源。关闭连接对象后,既释放了资源,又提高了安全性。(10) 为了处理数据库访问时的异常,使用trycatchfinally语句结构处理数据库访问代码。15. 为了解决Java Web应用程序中的中文乱码问题,一般采用的编码规范是怎样的?答:Java Web开发容易出现字符乱码问题,遵照下面的规范选择字符编码方案,则可以解决此类问题:(1)HTML文件、CSS文件、JSP文件的字符编码都用utf-8 JSP文件本身用utf-8编码,文件的page执行令中指明pageEncoding=“utf-8”,二者要一致,否则Tomcat把JSP文件转换成Servlet时会出错。(2)JSP文件内部设置(POST请求处理) 其中,charset是HTML “请求-响应”字符编码,B和S交互时用;pageEncoding是本文件字符编码容器把JSP文件转换为Servlet代码时用。 request.setCharacterEncoding(utf-8);本语句是request对象字符编码,用ruquest获取数据时用。在从request对象获取数据之前设置(3)数据库字符编码设置 设置数据库默认字符编码为utf-8 或设置数据库表的相应字段字符编码为utf-8(4)JDBC API 字符编码设置 还要给JDBC 驱动程序指定字符编码设定,方法在数据流连接URL中设置,如下jdbc.url=jdbc:mysql:/2:3306/ts?characterEncoding=utf8/ 避免中文乱码要指定useUnicode和characterEncodingMySQL的JDBC URL编写方式:jdbc:mysql:/主机名称:连接端口/数据库的名称?参数=值 避免中文乱码要指定useUnicode和characterEncodingString url = jdbc:mysql:/localhost:3306/testp? + user=root&password=root&useUnicode=true&characterEncoding=UTF8;(5)Servlet、JavaBean等Java源文件的编码 统一用以ANSI编码保存或以UTF-8无BOM格式编码保存否则有中文的地方编译通不过(6)GET请求处理 旧版本Tomcat的情况GET请求出现乱码,则可用下面两种方法之一解决(a)反查编码表/请求数据的中文乱码问题 request.setCharacterEncoding(UTF-8);/以get方式提交数据时,request设置编码无效。即使设置了UTF-8还是会去查ISO8859-1 String username = request.getParameter(username); System.out.println(username); byte source = username.getBytes(iso8859-1); username = new String (source,UTF-8); System.out.println(username);先用ISO-8859-1取得原始二进制位模式,再用UTF-8解码得到字符串,这样就得到正确的字符串了。(b) 修改tomcat的server.xml文件修改tomcat的server.xml文件如下:这个方法比较简单,但要注意:改容器配置,让容器对所有文件都用UTF-8编码方案。但最好别轻易改配置,会影响到别的项目。 Tomcat 9中的情况编辑文件时只要按照咱们前面规定的字符编码规范做,则GET请求根本不会出现乱码特别要注意,此时如果还用上述两种方法之一处理,反而会产生乱码,就是画蛇添足了16. Servlet的主流程是怎样的?答:Java 程序都是从一个众所周知的入口点开始执行的,即是从 main() 方法的第一条语句开始执行的(JVM在主线程中加载执行它),main()方法控制程序主流程。不但 Java Application程序是这样的,而且Applet 和Servlet也是这样的。只是Application的main()方法代码是程序员自己写的,而Applet和Servlet的main()方法的代码由执行它们的环境提供。对于applet 程序,浏览器的Applet环境提供它的main()方法代码;对于Servlet程序,Servlet Container环境提供它的main()方法代码。这意味着,Application的主流程由程序员自己控制,而Applet和Servlet的主流程由其执行环境控制。17. 简述基于容器/Servlet的请求与响应过程。答: 客户机将 HTTP 请求发送给 Web 服务器。 Web 服务器将该请求转发给 Servlet容器。 Servlet容器做很多事,如创建Servlet实例,初始化等将请求转发给Servlet。 Servlet 处理该请求。 Servlet产生输出发送给容器。 Servlet容器将输出转为http响应发送给 Web 服务器。 Web 服务器将http响应转发给客户机。 浏览器根据响应显示页面。18. Servlet的生命周期分为哪几个阶段?每个阶段的主要工作是什么?答:Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段:初始化,运行,销毁。(1)初始化阶段:(a)Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。(b)Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。(c)Servlet容器创建一个servlet对象。(d)Servlet容器调用servlet对象的init方法进行初始化。(2) 运行阶段:当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。然后调用service方法。并把这两个参数传递给service方法。Service方法通过servletRequest对象获得请求的信息。并处理该请求。再通过servletResponse对象生成这个请求的响应结果。然后销毁servletRequest和servletResponse对象。我们不管这个请求是post提交的还是get提交的,最终这个请求都会由service方法来处理。(3) 销毁阶段:当Web应用被终止时,servlet容器会先调用servlet对象的destrory方法,然后再销毁servlet对象,同时也会销毁与servlet对象相关联的servletConfig对象。我们可以在destroy方法的实现中,释放servlet所占用的资源,如关闭数据库连接,关闭文件输入输出流等。在这里该注意的地方:在servlet生命周期中,servlet的初始化和和销毁阶段只会发生一次,而service方法执行的次数则取决于servlet被客户端访问的次数。19. Servlet 程序要引入Servlet包并不在JDK中,所以JDK编译Servlet时会报错,如何解决这个问题?答:在Tomcat的lib文件夹下有Servlet 程序要引入Servlet包servlet-api.jar。为了使编译器能够找到servlet-api.jar,以便正确编译Servlet,可用下述方法之一:方法1:把servlet-api.jar加到类路径CLASSPATH。JVM和其它JDK工具通过依次搜索平台库、库扩展和类路径来查找类。方法2:把servlet-api.jar复制到JDK的扩展库路径下。JDK的扩展库路径为%JAVA_HOME%jrelibext,把servlet-api.jar复制它下面即可。%JAVA_HOME%jrelibext是JVM的扩展类库 ,默认优先于CLASSPATH加载。方法3:编译时在javac命令中用-classpath设置用户类路径。其中,方法2最省事儿。20. JavaBean和EJB有哪些异同?答:JavaBean和EJB有基本相同之处:它们都是一组特性创建,以执行其特定任务的对象或组件。它们还有从当前所主流服务器上的容器获得其他特性的能力。JavaBean和EJB也有不同之处:JavaBean是使用java.beans开发包开发的,它是JAVA SE的一部分。JavaBean是一台机器上同一个地址空间中运行的组件,属于进程内组件。EJB是使用javax.ejb包开发的,它是标准JDK的扩展,是Java EE的一部分。EJB是在多台机器上跨几个地址空间运行的组件,是进程间组件。JavaBean相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。EJB相当于DCOM,即分布式组件,它是基于Java的远程方法调用(RMI)技术的,可以被远程访问(跨进程、跨计算机)。21. 开发和应用一个JavaBean的基本步骤是怎样的?答:(1) 编辑JavaBean类。(2) 编译JavaBean类。(3) 在Tomcat上建立Web应用目录结构。(4) 把编译后的JavaBean类的class文件部署到服务器的Web应用目录的相关目录下,如yourAppWEB-INFclasses下面。(5) 编写JSP页面文件,在JSP文件中创建和使用JavaBean,并把JSP页面文件部署到Tomcat服务器。22. 什么是DAO模型?它的基本组成部分有哪些?答:DAO(Data Access Object, 数据访问对象),主要的功能是用于进行数据操作的,在程序的标准开发框架中属于数据层的操作。DAO模型的基本思想是把数据库操作从JSP文件中分离出来,单独创建用于访问数据库的对象,即数据访问对象。在数据访问对象中封装数据库连接、数据库操作等功能。当JSP或Servlet程序需要访问数据库的时候,就调用数据访问对象的相应方法,实现数据库访问。DAO模型的基本组成包括:(1)值对象类VO(ValueObject class)。主要由属性,setter, getter方法组成,VO类中的属性与表中的字段相对应,每一个VO类的对象都表示表中的每一条记录。VO(JavaBean)用于JSP和数据操作对象之间的数据交互。在面向对象系统设计中,值对象类有时也称实体类。(2)数据访问对象类DAO类(DataAccessObject class)。负责加载数据库驱动程序,打开数据库连接,实现增删改查等数据库操作,关闭数据库连接。五编程题 1. 答:源代码如下: function show() .value=document.myform.city.value; 所在城市: 选择: 请选择城市 北京 上海 深圳 2. 答:源代码如下:JS示例function checkeNO(NO)var str=NO;/在JavaScript中,正则表达式只能使用/开头和结束,不能使用双引号var Expression=/d17d|X$|d15$/; var objExp=new RegExp(Expression);if(objExp.test(str)=true)return true;elsereturn false;function check(myform)if(myform.number.value=)alert(请输入身份证号码!);myform.number.focus();return;if(!checkeNO(myform.number.value)alert(您输入的身份证号码不正确!);myform.number.focus();return;if(checkeNO(myform.number.value)alert(您输入的身份证号码正确!);myform.submit();验证身份证号码请输入身份证号:测试用身份证号码:11010119990101277x11010119990101711611010119990101829011010119990101719111010119990101869612010119990101796x1201011999010129821201011999010125011201011999010128861201011999010136433. 答:源代码如下: /*验证两次密码是否一致*/function checkRegPWD() var pwd = document.getElementById(pwd).value;var repwd = document.getElementById(repwd).val

温馨提示

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

评论

0/150

提交评论