JavaWeb开发实战
第1章JDBC基础
- 选择题。(每小题2分,共20分)
- 下列选项中,面向程序,供Java程序开发人员使用的是( B )。
A.JDBC B.JDBC API
C.JDBC Driver Manager D.JDBC Driver API
- 下列选项中,是注册数据库驱动的是(C)。
A.JDBC B.JDBC API
C.JDBC Driver Manager D.JDBC Driver API
- 下列选项中,面向程序,供数据库厂商使用的是(D)。
A.JDBC B.JDBC API
C.JDBC Driver Manager D.JDBC Driver API
- 下列选项中,用于执行预编译的SQL语句的接口是(B)。
A.Statement B.PreparedStatement
C.CallableStatement D.ResultSet
- 下列选项中,用于向数据库发送SQL语句的接口是(A)。
A.Statement B.PreparedStatement
C.CallableStatement D.ResultSet
- 下列选项中,所有JDBC驱动程序必须要实现的接口是(B)。
A.DriverManager类 B.Driver
C.Connection D.Statement
- 下列选项中,表示Java程序和数据库的连接的接口是(C)。
A. DriverManager类 B.Driver
C. Connection D.Statement
- 下列关于JDBC URL说法有误的是 (C)。
A.协议总是jdbc B.子协议因数据库厂商的不同而有所差异
C.JDBC URL中不包括数据库名称 D.JDBC URL包括主机端口
- 下列选项中,不是PreparedStatement的优点的是(D)。
A.PreparedStatement能够执行参数化的SQL语句
B.PreparedStatement比 Statement效率更高
C.PreparedStatement可以防止SQL注入攻击
D.Statement比PreparedStatement效率更高
- 下列选项中,表示执行select查询语句获得的结果集的接口是(A)。
A.ResultSet B.ResultSetMetaData
C.CallableStatement D.Statement
- 填空题(每题2分,共20分)
1. 持久化是指将数据存储到可永久保存的存储设备中。
2. JDBC API提供获取数据库连接、执行SQL语句、获得结果的等功能。
3. JDBC Driver Manager为应用程序装载数据库驱动,确保使用正确的驱动来访问每个数据源。
4.JDBC Driver Manager的一个特色功能是能够支持连接到多个异构数据库的多个并发驱动程序。
5. JDBC Driver API提供了数据库厂商编写驱动程序时必须实现的接口。
6. JDBC URL提供了一种标识数据库的方法,可以使JDBC程序识别指定的数据库并与之建立连接。
7. JDBC URL中由协议、子协议、主机端口、数据库名称、参数等组成。
8. Statement对象提供了3种方法执行SQL语句。
9. 回收数据库资源是,数据关闭的顺序是先得到的后关闭,后得到的先关闭。
10. 在程序运行过程中,SQL注入会造成数据库信息泄露、网页篡改、网站被挂马等问题。
四、简答题。(每题10分,共30分)
- 简述JDBC的概念。
JDBC是Java DataBase Connectivity(Java数据库连接)的简写,它是一套用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成,是Java程序访问数据库的标准规范
- 简述JDBC体系结构的三层组成。
(1)JDBC:面向程序,供Java程序开发人员使用。
(2)JDBC Driver Manager:注册数据库驱动,供Java程序开发人员使用。
(3)JDBC Driver API:面向数据库,供数据库厂商使用。
- 列举JDBC的常用API。
Driver接口、DriverMannager类、Connection接口、Statement接口、PreparedStatement接口、 allableStatement接口、ResultSet接口、ResultSetMetaData接口。
第5章Web开发前奏
- 选择题。(每小题2分,共20分)
- 下列web应用根目录中,用于存放web应用所需的各种jar包的是( D )。
A.WEB-INF B.web.xml
C.class D.lib
- 下列选项中,不是web资源的是(A)。
A.URL B.HTML文件
C.图片文件 D.音视频文件
- 下列关于万维网的说法,错误的是(C)。
A.万维网是一个由许多互相连接的超文本文档形成的系统
B.通过万维网,用户可以使用链接从Internet上的一个站点方便快捷地访问到另一个站点
C.web资源通过HTTP定位
D.用户可以通过点击链接的形式获取资源
- 下列关于HTML的说法,有误的是(A)。
A.Web资源都是采用HTML表达信息 B.标准通用标记语言下的一个应用
C.允许直接包含纯文本形式的信息 D.支持利用标签设置内容的显示格式
- 下列选项中,不是URL的组成部分的是(D)。
A.网络协议 B.Web服务器的IP地址或域名
C.资源所在路径或文件名等 D.传输协议
- 下列关于URL的说法,有误的是(B)。
A.相当于一个文件名在网络范围内的扩展 B.无URL也可以实现对Web资源的定位
C.用户在浏览器中输入的网站地址 D.每个网页都有一个唯一的URL地址
- 下列关于HTTP的说法,有误的是(C)。
A.是一种通讯协议 B.规定了客户端与服务器之间信息交互的方式
C.不能保证计算机快速传输 D.可以确定具体传输文档中的有限传输部分
- 下列关于C/S架构的说法中,有误的是(A)。
A.浏览器/服务器结构 B.客户机/服务器结构
C.采用大型数据库系统 D.可以充分利用两端硬件环境的优势
- 下列关于B/S结构的说法中,有误的是(B)。
A.浏览器/服务器结构 B.客户端/服务器结构
C.对C/S结构的一种改进的结构 D.客户端不需要开发任何用户界面
注:B/S是Browser/Server(浏览器/服务器)结构
C/S是Client/Server(客户机/服务器)结构
- 下列关于Tomcat的说法中,有误的是(D)。
A.Tomcat是Apache Jakarta 项目中的一个核心子项目
B.Java语言中的Servlet /JSP规范在Tomcat中得到完美支持
C.Tomcat基于Java语言开发,能够在任何安装有JVM的操作系统上运行。
D.Tomcat是目前最流行的Web应用服务器
- 填空题(每题2分,共20分)
1. 万维网中的资源通过 统一资源定位符(URL)来定位,并通过超文本传输协议(HTTP)
传递给用户。
2. 用户在浏览器中输入的网站地址就是URL。
3. URL一般由网络协议 、Web服务器的IP地址或域名、资源所在路径或文件名等三个部分组成。
4. HTTP规定了客户端与服务器之间信息交互的方式。
5. B/S结构下,客户端不需要开发任何用户界面,而统一采用IE或火狐等浏览器。
6. Web服务器是运行及发布Web应用的容器。
7. Tomcat默认的端口号是8080。
8. 虚拟主机是在一个web服务器上设置多个域名的机制。
9. WEB-INF目录存放web.xml等配置文件。
10. class目录用于存放编译后的字节码文件。
四、简答题。(每题10分,共30分)
- 简述Web的三个核心标准。
用超文本技术HTML来表达信息,以及建立信息与信息的链接。
用统一资源定位技术URL来实现Web资源的精准定位。
用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程。
- 简述Tomcat的优势。
Tomcat基于Java语言开发,能够在任何安装有JVM的操作系统上运行。它免费开源、运行稳定、占用系统资源小、扩展性好,而且支持负载均衡与邮件服务等功能,成为目前比较流行的Web 应用服务器。
- 列举在Tomcat中发布Web应用的三种方法。
直接放在Tomcat安装目录的webapps目录下;
通过修改server.xml文件进行部署;
创建配置文件进行部署。
第6章HTTP协议
- 选择题。(每小题2分,共20分)
- HTTP协议是TCP/IP协议(B )协议。
A.网络层 B.应用层
C.传输层 D.数据链路层
- 下列选项中,用于实现数据的选路和转发,确定通信路径的是(C)。
A.应用层 B.传输层
C.网络层 D.数据链路层
- 下列选相中,用来处理连接网络的硬件范畴的是(A)。
A.数据链路层 B.网络层
C.传输层 D.应用层
- 下列HTTP版本中,同一个TCP连接,可以同时处理多个请求的是(C)。
A.HTTP0.9 B.HTTP1.0
C.HTTP1.1 D.HTTP2.0
- 下列HTTP请求方式中,是从指定的资源获取响应消息头的是(B)。
A.GET B.HEAD
C.POST D.PUT
- 下列HTTP请求方式中,向指定的URL提交数据,请求服务器处理的是(D)。
A.GET B.PUT
C.TRACE D.POST
- 下列选项中,说法有误的是(C)。
A.GET请求页面刷新时数据没有影响 B.POST请求页面刷新时数据会被再次提交
C.GET请求对传输数据的大小没有限制 D.POST请求对传输数据的大小没有限制
- 下列选项中,不是HTTP请求行的组成部分的是(A)。
A.请求内容 B.请求方式
C.URL D.协议版本
- 下列请求头字段中,用于指定客户端可以接收的媒体类型的是(B)。
A.Host B.Accept
C.Referer D.If-Match
- 下列选项中,不是HTTP响应行组成部分的是(D)。
A.HTTP协议版本 B.状态码
C.状态码描述信息 D.URL
- 填空题(每题2分,共20分)
1. HTTP定义了客户端和Web服务器相互通信的规则。
2. TCP/IP协议是互联网相关的各类协议组的集合。
3. 传输层用于定义数据封包的传送、流程的控制、传输过程的侦测等。
4. 应用层决定了向用户提供应用服务时通信的活动,HTTP即位于该层。
5. 第一个版本的HTTP协议是HTTP0.9。
6. HTTP的安全版是HTTPS。
7. HTTP报文是客户端和服务端相互通信时发送的数据块。
8. GET请求方式向指定的URL请求文本资源。
9. GET请求和POST请求相比,安全性较好的是 POST ,安全性较差的是GET。
10. HTTP请求行位于请求报的第一行,由请求方法 URL 协议版本三部分组成。
四、简答题。(每题10分,共30分)
- 简述HTTP协议的三个特点。
HTTP协议基于标准的客户端服务器模型,主要由请求和响应构成。
HTTP协议允许传输任意类型的数据,它的传输速度很快,当客户端向服务器请求服务时,需传送请求方法和路径。
HTTP协议是一个无状态的协议。
- 简述HHTP协议请求步骤。
客户端在应用层(HTTP协议)发出获取某个Web页面的HTTP请求;
在传输层(TCP协议)把从应用层收到的数据进行分割,并打上标记序号及端口号后转发给网络层;
在网络层(IP协议)增加通信目的地MAC地址后转发给数据链路层;
接收端的服务器在数据链路层收到数据,按照顺序往上层发送,一直到应用层。当传输到应用层,才算真正接收到由客户端发过来的HTTP请求。
- 简述与HTTP相比,HTTPS具有的特点。
使用HTTPS协议需要到CA申请证书,一般免费证书较少,因此需要一定费用。
HTTP采用明文传输传输数据,HTTPS 则是采用SSL对内容加密后再传输。
HTTPS使用和HTTP不同的连接方式,HTTP建立在TCP连接之上,HTTPS除了建立TCP连接之外,还要建立SSL连接。
HTTPS与HTTP使用不同的端口,前者是443,后者是80。
第7章Servlet详解
- 选择题。(每小题2分,共20分)
- Servlet接口中,与Servlet生命周期相关的方法有( B )个。
A.2 B.3
C.4 D.5
- Servlet接口中,共提供了方法(D)个。
A.2 B.3
C.4 D.5
- 下列关于Servlet的说法,有误的是(C)。
A.Servlet是基于Java语言的Web服务器编程技术
B.一个Servlet程序是一个运行在服务器的特殊Java类
C.Servlet能够处理来自客户端的强求,但不生成响应
D.Servlet具有可移植好、效率高等优点
- 下列选项中,为Servlet接口提供通用实现的抽象类是(A)。
A.GenericServlet B.servlet
C.HttpServlet D.ServletContext
- Servlet生命周期销毁阶段,调用的方法是(C)。
A.init() B.servive()
C.destroy() D.Inherted abstract methods()
- 下列元素中,用于指定Servlet的访问路径的是(B)。
A.<servlet-name> B.<url-pattern>
C.<servlet> D.<url>
- 通过下列选项中哪一项,客户端可以访问Servlet(D)。
A.服务器 B.Servlet的名称
C.类路径 D.URL
- 下列接口中,用于定义一系列获取Servlet配置信息的是(A)。
A.ServletConfig接口 B.ServletContext接口
C.HttpServletRequest接口 D.HttpServletResponse接口
- 下列接口中,提供获取Web应用的基础信息的方法的是(B)。
A.ServletConfig接口 B.ServletContext接口
C.HttpServletRequest接口 D.HttpServletResponse接口
- 下列接口中,继承自ServletRequest接口,用于封装HTTP请求信息的是(C)。
A.ServletConfig接口 B.ServletContext接口
C.HttpServletRequest接口 D.HttpServletResponse接口
- 填空题(每题2分,共20分)
1. Servlet是Sun公司提出的一种实现动态网页的解决方案。
2. Servlet类必须实现 Servlet接口,才能被服务器识别和管理。
3. Servlet接口位于javax.servlet包中。
4. GenericServlet类能够满足Servlet类的特征和功能。
5. Servlet的生命周期通过Servlet接口中的init() 、service() 和destroy()方法来表示。
6. GenericServlet类是一个抽象类,它为Servlet接口提供了通用实现,能够满足基本Servlet类的特征和功能。
7. Servlet的生命周期由服务器来管理。
8. Servlet配置一般分为声明Servlet 和映射Servlet两步进行。
9. <servlet-mapping>元素包含<servlet-name>和<url-pattren>两个子元素。
10.Servlet在运行中,可以通过调用ServletConfig对象的方法来获取配置信息。
四、简答题。(每题10分,共30分)
- 简述Servlet的工作流程。
服务器根据web.xml文件中的配置,把请求信息交给指定的Servlet
Servlet取得包括请求头在内的各种请求信息
Servlet调用其他Java类的方法,完成对请求信息的逻辑处理
Servlet实现到其他Web组件的跳转(包括重定向和请求转发等)
Servlet生成响应
- 列举ServletContext对象提供的各项功能。
获取Web应用的初始化参数、获取Web应用的基础信息、作为存取数据的容器、获取Web应用的文件信息
- 简述HttpServletResponse接口提供的功能。
设置响应状态、设置响应头信息、设置响应体消息、请求重定向。
第8章 会话跟踪
- 选择题。(每小题2分,共20分)
- 下列方法中,用于Session对象移除数据的是(D )。
A.setMaxInactiveInterval() B.setAttribute()
C.getAttribute() D.removeAttribute()
- 下列方法中,返回Session是否为新建的是(A)。
A.isNew() B.invalidate()
C.getLastAccessedTime() D.getId()
- 下列方法中,返回Session中存在的属性名的是(B)。
A.getAttribute() B.getAttributeNames()
C.getServletContext() D.removeAttribute()
- 下列方法中,可以回去HttpSession对象的是(AC)。
A.getSession() B.getAttribete()
C.getSeeion(Boolean create) D.getServletContext()
- 下列方法中,用于设置Cookie的有效目录路径的是(B)。
A.getMaxage() B.setPath(String path)
C.getPath() D.setMaxAge()
- 下列方法中,返回Cookie项的注解部分的是(A)。
A.getComment() B.getVersion()
C.getDomain() D.getSescure()
- 下列方法中,用于返回Cookie有效期的是(C)。
A.getVersion() B.getValue()
C.getMaxAge() D.getPath()
- 下列方法中,用于设置Cookie的安全属性的是(A)。
A.setSecure(Boolean flag) B.setComment(String purpose)
C.setVersion(int v) D.setDomain(String pattern)
- 下列方法中,用于设置Cookie采用的协议版本的是(D)。
A.setSecure(Boolean flag) B.setComment(String purpose)
C.setVersion(int v) D.setDomain(String pattern)
- 下列选项中,可以通过调用HttpServletResponse对象的addCookie()方法实现的是(B)。
A.服务器获取客户端发送的Cookie B.服务器想哭护短响应Cookie
C.Cookie的删除 D.Cookie的修改
- 判断题。(每题2分,共20分)
会话过程中每次请求和响应都会产生数据。(T)
会话过程中每次请求HTTP协议会为了下一次请求儿保存本次请求传输的信息。(F)
Session工作在客户端,Cookie工作在服务端。(F)
Cookie是服务器为了识别用户身份而存储在客户端上的文本信息。(T)
客户端将Cookie存储在网络中。(F )
Cookie类提供了直接修改和删除Cookie的方法。(F)
在修改、删除Cookie时,新建的Cookie所有属性都要与原Cookie一致。(F )
当客户端访问服务器时,服务器通过Session机制记录客户端信息。(T )
Session机制要借助Cookie机制实现功能。(T)
URL重写是将URL重新写成Web应用可以处理的另一个URL的过程。(T )
- 填空题(每题2分,共20分)
1. 会话跟踪采用的方案包括Cookie和Session。
2. Cookie是由W3C组织提出的一种在客户端保持会话跟踪的解决方案。
3. Cookie类位于javax.servlet.http包中。
4. setMaxAge(int maxAge)方法用于设置Cookie的有效期。
5. setPath(String path)方法用于设置Path的有效目录路径。
6. 完成Cookie属性后,调用addCookie()方法通过增加Set-Cookie响应头的方式将其响应给客户端。
7. 服务器调用getCookie()方法,可以获取客户端发送的Cookie。
8. Session是一种将会话数据保存到服务器的技术。
9. HttpServletRequest类提供了获取HttpSession对象。
10. setMaxInactiveInterval()方法用于设置Session的有效时间,单位为秒。
四、简答题。(每题10分,共30分)
- 简述Cookie的修改、删除方法及注意事项。
如果要修改客户端上的某个Cookie,只需要新建一个同名的Cookie,并添加到Response对象中覆盖原来的Cookie。如果要删除客户端上的某个Cookie,只需新建一个同名的Cookie,并将maxAge设置为0,并添加到Response对象中覆盖原来的Cookie。这里要注意的是,在修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性都要与原Cookie一样。
- 简述服务器会创建一个HttpSession对象的情况。
客户端首次访问Web应用和服务器为客户端创建的Session已被销毁,客户端再次访问Web应用。
- 简述服务器获取客户端发送的Cookie的方式。
当客户端向服务器发送带Cookie的请求时,服务器调用HttpServletRequest对象的getCookies()方法获取,该方法返回封装了所有Cookie对象的数组,遍历该数组即可获取各个Cookie对象。
第9章 JSP详解
- 选择题。(每小题2分,共20分)
- 下列关于Java脚本片段,说法有误的是( B )。
A.开发者需要在JSP中使用一段Java代码实现复杂操作时,就要用到JSP脚本片段
B.JSP脚本片段是指用<%= %>括起来的一段Java代码
C.Java代码可以包含变量、方法、表达式等
D.如果去掉“<%”和“%>”,Java代码的内容将被视为模板文本,直接返回到客户端
- 下列选项中,在JSP页面中表示注释的是(D)。
A.<% %> B.<%= %>
C.<%= D.<%-- --%>
- 下列选项中,是HTML注释格式的是(C)。
A.<% %> B.<%= %>
C.<!-- --> D.<%— --%>
- 下列指令中,用于设置和JSP页面相关的信息的是(A)。
A.page指令 B.include指令
C.taglib指令 D.define指令
- 下列选项中,被称为文件加载指令的是(B)。
A.page指令 B.include指令
C.taglib指令 D.define指令
- 下列选项中,用于指定JSP页面使用的标签库的指令是(C)。
A.page指令 B.include指令
C.taglib指令 D.define指令
- 下列选项中,提供了一种在JSP中包含页面的方式的动作元素是(D)。
A.<jsp:useBean> B.<jsp:param>
C.<jsp:forward> D.<jsp:include>
- 下列选项中,用于请求转发的动作元素是(C)。
A.<jsp:param> B.<jsp:setProperty>
C.<jsp:forward> D.<jsp:getProperty>
- 下列选项中,是一种提供参数的动作元素是(A)。
A.<jsp:param> B.<jsp:useBean>
C.<jsp:forward> D.<jsp:include>
- 下列选项中,用于处理JSP页面中的异常的内置对象是(B)。
A.out对象 B.expection对象
C.page对象 D.pageContext对象
- 填空题(每题2分,共20分)
1. <%@ page %>指令用于设置JSP文件的页面属性。
2. 在HTML代码的<body>元素中,使用<% %>声明一段Java脚本,脚本使用request对象获取表单提交的用户信息。
3. JSP运行在服务器中。
4. JSP本质上是一种Servlet类,一次要被转换成Servlet类后才能编译运行。
5. JSP页面就是带有JSP元素的常规Web页面,它由模板文本 和JSP元素
组成。
6. 模本文本主要是指 HTML代码 ,它的内容是固定的。
7. JSP元素包括JSP脚本元素、 JSP指令 以及JSP动作元素等。
8. JSP脚本元素包括表达式 、脚本片段、声明和注释等。
9. JSP表达式可以直接把Java的表达式结果输出到JSP页面中。
10. JSP脚本片段是指用 <% 和 %> 括起来的一段Java代码。
四、简答题。(每题10分,共30分)
- 简述JSP的执行过程的几个步骤。
1)客户端向服务器发送请求,访问JSP页面。
(2)服务器接到请求后检索对应的JSP页面,如果该JSP页面是第一次被请求,服务
器将此页面中的静态数据(HTML文本)和动态数据(Java元素)全部转化为Java代码,使JSP文件转换成一个Servlet类文件。在转换过程中,服务器若发现JSP文件中存在语法错误,则中断转换过程,并向客户端返回出错信息。
(3)服务器将转换后的Servlet源代码编译形成字节码文件(.class),对于Tomcat服务器而言,生成的字节码文件默认存放在Tomcat安装目录的work目录下。
(4)编译后的字节码文件被加载到内存中执行,并根据用户的请求生成HTML格式的响应内容。
(5)服务器将响应内容发送回客户端。
- 列举与JavaBean相关的动作元素。
<jsp:useBean>、<jsp:setProperty>和<jsp:getProperty>这3个动作元素都是与JavaBean相关的。
- 简述out对象。
out对象是一个缓冲输出流对象,它与HttpServletResponse类的getWriter()方法返回的PrintWriter对象非常相似,不同的是,当向out对象的输出流中写入数据时,数据会先被存储在缓冲区中,在JSP默认配置下,缓冲区满时数据才会被自动刷新输出。
第10章EL表达式
- 选择题。(每小题2分,共20分)
- 下列选项中,说法有误的是( A )。
A.当属性名中包含“.”或“-”等特殊字符,就必须要用“.”操作符
B.使用“[]”操作符可以获取Map对象的指定键名的值。
C.使用“[]”操作符可以获取数组或有序集合的指定索引位置的元素。
D.“.”操作符可以和“[]”操作符结合使用。
- 下列选项中,结果为Flase的是(B)。
A.True||False B.True&&Flase
C.!False D.True&&True
- 下列选项中,可以获取JSP页面的内置对象的是(C)。
A.header对象 B.Cookie对象
C.pageContext对象 D.initParam对象
- 下列选项中,用于获取所有请求头的值组成的数组的是(D)。
A.header对象 B.pageContext对象
C.initParam对象 D.headerValues对象
- 下列选项中,用于获取Web应用的初始化参数的是(A)。
A.initParam对象 B.pageContext对象
C.headerValues对象 D.Cookie对象
- 下列选项中,执行结果为True的是(B)。
A.${empty ‘a’} B.${empty null}
C.${empty “abc”} D.${empty !False}
- 下列选项中,优先级最高的运算符是(D)。
A.&& B.||
C.! D.[]
- 下列选项中,用于获取请求作用范围的属性值的是(C)。
A.sessionScope对象 B.applicationScope对象
C.requestScope对象 D.pageScope对象
- 下列选项中,用于获取应用程序作用范围的属性值的是(B)。
A.sessionScope对象 B.applicationScope对象
C.requestScope对象 D.pageScope对象
- 下列选项中,优先级最低的运算符是(C)。
A.empty B.&&
C.|| D.!
四、简答题。(每题10分,共30分)
- 列举EL表达式的功能。
获取数据、执行运算、获取Web开发常用对象、调用Java方法。
- 简述“[]”操作符比“.”操作符应用广泛的几个方面。
(1)当属性名中包含“.”或“-”等特殊字符,就必须要用“[]”操作符。
(2)使用“[]”操作符可以获取数组或有序集合的指定索引位置的元素。
(3)使用“[]”操作符可以获取Map对象的指定键名的值。
(4)“.”操作符可以和“[]”操作符结合使用。
- 列举empty运算符的执行结果为True的几种情况。
var指向的对象为null;
var指向的对象为空字符串;
var指向的是一个集合或数组,并且该集合或数组中没有任何元素;
var指向的是一个Map对象的键名,并且该Map对象为空或该Map对象没有指定的key或该Map对象的key对应的值为空。
第12章Filter详解
- 选择题。(每小题2分,共20分)
- 下列选项中,用于返回配置信息中指定名称的初始化的值的方法是( B )。
A.String getFilterName() B.String getInitParameter(String name)
C.Enumeration getInitParameterNames(); D.ServletContext getServletContext();
- Filter销毁阶段,服务器释放资源调用的方法是(C)。
A.init() B.doFilter()
C.destrory() D.delete()
- 当用户直接访问被拦截的Web资源时,服务器将调用Filter,<diapatcher>属性值应设置为(A。
A.REQUEST B.INCLUDE
C.FORWARD D.ERROR
- 只有被拦截的Web资源是通过RequestDispatcher的forward()方法访问时,服务器才调用Filter,<dispatcher>属性值应设置为(C。
A.REQUEST B.INCLUDE
C.FORWARD D.ERROR
- 在Filter相关的API中,用于封装Filter配置信息的是(B)。
A.Filter接口 B.FilterConfig接口
C.FilterChain接口 D.FilterContex接口
- Filter的初始化需要调用Filter接口的(A)。
A.init() B.doFilter()
C.destrory() D.delete()
- Filter的功能实现需要调用Filter接口的(B)。
A.init() B.doFilter()
C.destrory() D.delete()
- 下列选项中,返回FilterConfig对象中所包装的ServletContext对象的方法是(D)。
A.String getFilterName() B.String getInitParameter(String name)
C.Enumeration getInitParameterNames(); D.ServletContext getServletContext();
- 在Filter相关的API中,用于调用过滤器链中的下一个过滤器的是(D)。
A.Filter接口 B.FilterContex接口
C.FilterConfig接口 D.FilterChain接口
- 下列关于Filter生命周期,说法有误的是(A)。
A.服务器会调用doFile方法对Filter对象进行初始化
B.服务器会调用init()方法对Filter对象进行初始化
C.销毁Filter对象时,服务器调用destory()方法来释放资源
D.在对多个拦截器的调用过程中,当前过滤器通过FilterChain对象的doFile()方法将请求传给下一个过滤器或其他资源
- 填空题(每题2分,共20分)
1. Filter接口位于 javax.servlet包中,它定义了服务器与Filter程序交互时遵循的协议。
2. FilterConfig接口用于封装Filter程序的配置信息。
3. 在Filter初始化时,服务器将filterConfig对象作为参数传给Filter对象的初始化方法。
4. FilterChain接口主要用于调用过滤器链中的下一个过滤器。
5. <dispatcher>元素用于指定被拦截资源的访问方式。
6. 如果<dispatcher>的属性值被设置为ERROR ,只有被拦截的Web资源是通过异常处理机制调用时,服务器才调用Filter。
7. 盗链是指一个网站在未经允许下通过各种方式嵌入其他网站资源的行为。
8. 敏感词是指一些违反法律法规、带有暴力或不健康色彩的词语。
9. 若使用Eclipse创建Filter,Eclipse会自动生成存储于web.xml文件中的配置信息。
10. 如果<dispatcher>的属性值被设置为“INCLUDE”,只有被拦截的Web资源是通过RequestDispatcher的include()方法访问时,服务器才调用Filter。
四、简答题。(每题10分,共30分)
- 简述为什么使用Filter实现字符编码。
当客户端和服务器交互时,如果传递的数据中包含中文字符,这些字符可能会出现中文乱码。前面的章节讲过,避免中文乱码一般要在Servlet程序中设置编码方式,但是,这种做法有很大局限,如果一个Web应用中包含很多Servlet程序,势必会造成代码重复并降低程序的性能。为了解决这个问题,实际开发中一般采用Filter实现字符编码。
- l简述Filter的链式调用。
对于网站来说,防止本站点的资源被盗链是十分必要的。简单来说,防止盗链就是要实现这样一种效果,当其他网站要引用本网站的资源时,将会提示一个错误信息,只有本网站内的网页引用时,资源才会正常显示。