D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ



Similar documents
09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

Servlet

Microsoft Word - 第4章 Filter(过滤器)—样章.doc

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

基于CDIO一体化理念的课程教学大纲设计

Microsoft Word - 01.DOC

JAR 包 : doget 方法 : 1. import java.io.ioexception; 2. import java.io.printwriter; 3. import javax.servlet.servletexception; 4. import javax.servlet.htt

! # % % & # # % #!& % &# % &# % % % # %& ( (!& (! & & % % #!! ) %&! *& % %! % %!! # % %!! %*!& % &# % &# ) ) ( % # # ) % ( (!& (! (!! # % % #!! # ( &!

## $%& %& ## () #) (( * (+++ () #) #) (+ (+ #) #) ( #, - #)). #))- # ( / / / / $ # ( * *..# 4 #$ 3 ( 5 ) ### 4 $ # 5, $ ## # 4 $# 5 ( %

Microsoft PowerPoint - 02-Servlet-Basics-Chinese.ppt

云 浮 市 总 工 会 学 习 贯 彻 市 委 五 届 九 次 全 会 精 神 全 省 工 会 第 二 季 度 暨 上 半 年 劳 资 纠 纷 研 判 会 召 开 河 源 市 总 工 会 召 开 劳 资 纠 纷 研 判 会 议 湛 江 市 总 工 会 召 开 上 半 年 劳 资 纠 纷 研 判 会

Microsoft PowerPoint - 10-JSP-Scripting-Elements-Chinese.ppt

Servlet技术

resp.getwriter().print(j + "*" + i + "=" + j * i+" "); resp.getwriter().print("<br/>"); protected void dopost(httpservletrequest req, HttpServletRespo

新・解きながら学ぶJava

jsp

2 Java 语 言 程 序 设 计 教 程 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

学 习 贯 彻 中 央 尧 省 尧 市 纪 委 全 会 精 神 专 栏 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次 全 体 会 议 公 报 渊 2016 年 1 月 14 日 中 国 共 产 党 第 十 八 届 中 央 纪 律 检 查 委 员 会 第 六 次

Microsoft Word - 临政办发12.doc

中共山东省委高校工委

标题

目 录 第 一 部 分 国 家 知 识 产 权 局 概 况 一 主 要 职 能 二 部 门 预 算 单 位 构 成 第 二 部 分 国 家 知 识 产 权 局 2016 年 部 门 预 算 表 一 财 政 拨 款 收 支 总 表 二 一 般 公 共 预 算 支 出 表 三 一 般 公 共 预 算 基

ᄐ↓ᅯᄎ2015ᅣ↑ᄇ﾿ᅢᅤᅯ녜 ̄

科学技术部2013年度部门预算

一、二○○二年学校工作的简要回顾

Microsoft Word - 白俄罗斯公司法汉语译文2015年7月15日修改版.docx

第 一 部 分 中 国 气 象 局 职 责 及 概 况 一 主 要 职 责 ( 一 ) 拟 定 气 象 工 作 的 方 针 政 策 法 律 法 规 发 展 战 略 和 长 远 规 划 ; 制 定 发 布 气 象 工 作 的 规 章 制 度 技 术 标 准 和 规 范 并 监 督 实 施 ; 承 担

数学与统计学院教师支部“两学一做”学习教育实施计划

无 锡 职 业 技 术 学 院 国 有 资 产 管 理 办 法 第 一 章 总 则 第 一 条 为 加 强 学 校 国 有 资 产 管 理, 合 理 配 置 和 有 效 使 用 国 有 资 产, 确 保 国 有 资 产 安 全 与 完 整, 保 障 和 促 进 学 校 各 项 事 业 发 展, 根

省安委会2015冬防工作方案.doc

南 昌 大 学 人 力 资 源 工 作 简 讯 2015 年 第 2 期 ( 总 第 27 期 ) 目 录 1 人 力 资 源 综 合 信 息 2 人 员 调 配 及 机 构 编 制 管 理 信 息 3 劳 资 工 作 信 息 4 师 资 管 理 信 息 5 高 层 次 人 才 及 队 伍 建 设

国家邮政局2010年部门预算

国家邮政局2010年部门预算

11韶关市人力资源和社会保障局权责清单

三亚市政府投资建设项目代建制管理工作介绍

<4D F736F F D20C9FABBB7B9FAD6D CBB6CABFB8B4CAD4B7BDB0B8312E646F63>

目 录 一 部 门 职 责... 1 二 预 算 编 报 范 围... 3 三 2013 年 部 门 预 算 报 表 及 情 况 说 明... 5 收 支 预 算 总 表 及 情 况 说 明... 5 收 入 预 算 表 及 情 况 说 明... 7 支 出 预 算 表 及 情 况 说 明... 1

标题

目 录 一 重 要 提 示... 3 二 公 司 主 要 财 务 数 据 和 股 东 变 化... 3 三 重 要 事 项... 6 四 附 录 / 22

目 录 引 言... 3 第 一 部 分 电 价 水 平 基 本 情 况...4 一 上 网 电 价...4 二 输 配 电 价...6 三 销 售 电 价...9 四 政 府 性 基 金 和 附 加...12 第 二 部 分 电 价 政 策 执 行 情 况...13 一 电 价 水 平 调 整 情

西安邮电学院本科教学工作简报

密 级:

市六届人大--次

目 录 前 言 第 一 章 近 年 来 合 同 行 政 监 管 及 相 关 工 作 改 革 创 新 情 况 第 二 章 2014 年 合 同 行 政 监 管 及 相 关 工 作 情 况 第 一 节 合 同 格 式 条 款 监 管 一 银 行 业 电 信 业 合 同 格 式 条 款 专 项 整 治 二

中国文联部门预算


( 十 ) 其 他 会 计 工 作 第 四 条 单 位 不 得 任 用 ( 聘 用 ) 不 具 备 会 计 从 业 资 格 的 人 员 从 事 会 计 工 作 不 具 备 会 计 从 业 资 格 的 人 员, 不 得 从 事 会 计 工 作, 不 得 参 加 会 计 专 业 技 术 资 格 考 试

附 件 : 顺 德 区 2015 年 高 中 阶 段 学 校 招 生 考 试 工 作 意 见 根 据 佛 山 市 顺 德 区 教 育 事 业 发 展 十 二 五 规 划 2015 年 顺 德 区 教 育 工 作 意 见 的 文 件 精 神 和 上 级 教 育 主 管 部 门 工 作 要 求, 结 合

<C1ACD6DDCAD0CAD0B3A1BCE0B6BDB9DCC0EDBED6C8A8D4F0C7E5B5A5A3A8B9ABCABEA3A92E786C73>

Microsoft Word - Future CEDAW C CHN 7-8.doc


国家发展改革委法治机关建设规划( 年)

烟台经济技术开发区政府采购竞争性磋商文件

<4D F736F F D20342E31332D C4EACCECBDF2CAD0C6D5CDA8B8DFB5C8D1A7D0A3D5D0C9FABFBCCAD4B9A4D7F7B9E6B6A82DCEC4BCFEB8E52E646F63>

2014 年 12 月 16 日 广 西 春 茂 投 资 股 份 有 限 公 司 ( 原 名 广 西 汽 牛 农 业 机 械 股 份 有 限 公 司, 以 下 简 称 春 茂 股 份 挂 牌 公 司 公 司 ) 召 开 2014 年 第 五 次 临 时 股 东 大 会, 通 过 向 特 定 对 象

四、实施步骤

Microsoft Word - 面向合格投资者公开发行公司债券上市预审核反馈意见公告(截至2015年10月8日)

律 师 执 业 必 须 以 事 实 为 根 据, 以 法 律 为 准 绳 律 师 执 业 应 当 接 受 国 家 社 会 和 当 事 人 的 监 督 律 师 依 法 执 业 受 法 律 保 护, 任 何 组 织 和 个 人 不 得 侵 害 律 师 的 合 法 权 益 第 四 条 司 法 行 政 部

(Microsoft Word - \270t\270g\254\354\305\252\270g\274\372\300y\255p\271\ docx)

自 觉 实 践 科 学 发 展 观, 扎 实 推 进 管 理 服 务 工 作 四 川 大 学 档 案 馆 ( 校 史 办 公 室 )2007 年 上 半 年 工 作 总 结 2007 年 上 半 年, 四 川 大 学 档 案 馆 ( 校 史 办 公 室 ) 在 学 校 党 委 行 政 领 导 和 上

2014


第 一 部 分 广 州 市 广 播 电 视 大 学 概 况 一 学 校 的 主 要 任 务 和 业 务 范 围 根 据 市 编 委 的 批 复, 广 州 市 广 播 电 视 大 学 为 市 局 级 事 业 单 位, 归 口 市 教 育 局 管 理 主 要 承 担 以 下 任 务 : ( 一 ) 承

Microsoft Word - 关于印发《云南保险业高级管理人员任职资格考试办法》的通知

<4D F736F F D20CBD5D6DDBFC6BCBCD1A7D4BAB8DFB5C8D1A7D0A3BDCCCAA6D7CAB8F1C8CFB6A8B9A4D7F7CAB5CAA9D2E2BCFB2E646F63>

自评报告合成.doc

第一部分 界定和测量歧视


一 前 言 2 作 為 我 國 儒 家 經 典 及 十 三 經 之 一, 孟 子 流 傳 千 年 不 輟, 足 以 證 明 其 對 中 華 文 化 的 重 要 性 與 影 響 力, 除 了 道 德 文 化 意 識 的 開 發, 也 弘 揚 仁 政 王 道 的 政 治 觀, 大 多 數 人 都 肯 定

法 工 作 计 划 滨 州 市 安 全 生 产 监 督 管 理 局 2016 年 2 月 4 日 ( 此 件 主 动 公 开 ) 2


附件3

关于印发西北政法大学“十二五”

君泰所 稿纸

的 权 利 义 务, 依 照 本 法 在 基 金 合 同 中 约 定 基 金 管 理 人 基 金 托 管 人 依 照 本 法 和 基 金 合 同 的 约 定, 履 行 受 托 职 责 通 过 公 开 募 集 方 式 设 立 的 基 金 ( 以 下 简 称 公 开 募 集 基 金 ) 的 基 金 份

关 于 建 立 失 联 ( 异 常 ) 私 募 机 构 公 示 制 度 的 通 知 私 募 基 金 登 记 备 案 相 关 问 题 解 答

000545C.DOC

世界上最伟大的推销员.doc

第 一 编 国 家 法 律 法 规 - 1 -

隐公(元年~十一年)

目 1 录 第 一 部 分 国 家 省 相 关 法 律 法 规 中 华 人 民 共 和 国 教 育 法 中 华 人 民 共 和 国 高 等 教 育 法 中 华 人 民 共 和 国 学 位 条 例 中 华 人 民 共 和 国 学 位 条 例

<4D F736F F F696E74202D20A5ACB355C0B8B0D1A6D2B8EAAEC6205BB0DFC5AA5D>

E /...ec6

(一)收入支出预算总表及情况说明

五 增 加 一 条 作 为 第 三 十 五 条, 内 容 为 : 按 照 消 防 技 术 标 准 不 需 要 设 置 火 灾 自 动 报 警 系 统 的 养 老 院 福 利 院 寄 宿 制 学 校 幼 儿 园 学 生 校 外 托 管 机 构 小 旅 店 小 型 娱 乐 场 所 以 及 生 产 存 储

民 政 部 废 止 的 政 策 性 文 件 目 录 序 号 标 题 文 号 社 会 组 织 管 理 1 民 政 部 关 于 转 发 民 政 部 财 政 部 关 于 进 一 步 明 确 社 会 团 体 会 费 政 策 的 通 知 的 函 民 函 2006) 240 号 2 民 政 部 关 于 进 一

国家信访局部门预算公开信息说明

目 录 第 一 部 分 国 家 能 源 局 概 况 一 主 要 职 能 二 基 本 情 况 说 明 三 部 门 决 算 单 位 构 成 第 二 部 分 国 家 能 源 局 2015 年 度 部 门 决 算 表 一 收 入 支 出 决 算 总 表 二 收 入 决 算 表 三 支 出 决 算 表 四 财

证券代码: 股票简称:滨化股份 公告编号:

证券代码: 证券简称:岳阳林纸 公告编号:

17 省 物 价 委 员 会 关 于 甘 肃 省 档 案 馆 实 行 利 用 档 案 收 费 的 批 复 甘 价 综 号 1988 年 5 月 30 日 省 物 价 委 18 省 物 价 委 员 会 广 播 电 视 厅 文 化 厅 关 于 制 定 我 省 电 影 电 视 录 像 带

宜 都 改 革 开 放 30 年 宜 都 年 鉴 编 纂 委 员 会 主 任 院 陈 行 甲 副 主 任 院 张 白 华 宋 化 力 胡 卫 东 委 员 院 陈 微 向 家 金 沈 绪 文 王 德 清 郑 蕾 艳 ( 女 ) 张 红 桥 ( 女 ) 张 鸿 庞 友 春 夏 友 生 史 玉 英 ( 女

中共中央党校2011年部门决算

<B8DFC8FDD3EFCEC4A3A838D4C2D4C2BFBCCAD4CCE2A3A9>


Microsoft Word - 诸教〔2016〕97号.doc

鬼 與 亡 魂 的 故 事 事 (3) 亡 魂 返 回 與 人 贈 物 三 類 (1) 亡 魂 返 回 家 人 身 邊 : 最 難 以 割 捨 的 情 感 便 是 親 情 了, 因 此 許 多 亡 魂 返 回 都 是 為 了 關 心 親 人 過 的 是 否 平 安 例 如 探 視 母 親 是 否 於

关 于 在 全 省 县 处 级 以 上 领 导 干 部 中 开 展 三 严 三 实 专 题 教 育 实 施 方 案 根 据 中 共 中 央 办 公 厅 印 发 < 关 于 在 县 处 级 以 上 领 导 干 部 中 开 展 三 严 三 实 专 题 教 育 方 案 > 的 通 知 ( 中 办 发 20

Microsoft Word 中的文档

Transcription:

第 四 章 Filter( 过 滤 器 ) 样 题 A 卷 一 选 择 题 ( 每 小 题 2 分, 共 20 分 ) 1 下 面 选 项 中, 用 于 实 现 初 始 化 过 滤 器 的 方 法 是 ( ) A init(filterconfig filterconfig) B dofilter(servletrequest req,servletresponse resp,filterchain chain) C destroy() D init(servletconfig servletconfig) 2 下 面 选 项 中, 用 于 实 现 过 滤 器 拦 截 作 用 的 方 法 是 ( ) A service(servletrequest req,servletresponse resp,filterchain chain) B filter(servletrequest req,servletresponse resp,filterchain chain) C destroy() D dofilter(servletrequest req,servletresponse resp,filterchain chain) 3 下 列 选 项 中, 用 于 在 配 置 Filter 映 射 时 设 置 Filter 名 称 的 元 素 是 ( ) A <filter-mapping > B <url-pattern> C <filter > D <filter-name> 4 下 列 选 项 中, 用 于 在 配 置 Filter 映 射 时 设 置 Filter 类 完 整 名 称 的 元 素 是 ( ) A <filter-class > B <url-pattern> C <filter > D <filter-name> 5 下 列 选 项 中, 关 于 <dispatcher> 元 素 值 REQUEST 的 作 用, 描 述 正 确 的 是 ( ) A 当 用 户 直 接 访 问 页 面 时,Filter 将 调 用 B 目 标 资 源 通 过 RequestDispatcher 的 include() 方 法 时,Filter 将 调 用 C 目 标 资 源 通 过 RequestDispatcher 的 forward() 方 法 时,Filter 将 调 用 D 目 标 资 源 是 通 过 声 明 式 异 常 处 理 机 制 调 用 时, Filter 将 调 用 6 一 个 Web 应 用 程 序 中 Filter 可 以 注 册 的 次 数 是 ( ) A 只 能 是 1 次 B 只 能 是 0 次 C 只 能 是 0 次 或 1 次 D 只 能 是 2 次 7 下 列 选 项 中, 用 来 表 示 Filter 链 的 对 象 是 ( ) A Filter 对 象 B FilterConfig 对 象 C FilterChain 对 象 D ServletChain 对 象 8 下 面 选 项 中, 用 于 返 回 <filter-name> 元 素 设 置 值 的 方 法 是 ( ) A getservletcontext() B getfiltername() C getinitparameter(string name)

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServletResponse D HttpServletResponseWrapper 10 下 列 选 项 中, 用 于 返 回 Filter 设 置 的 指 定 初 始 化 参 数 值 的 方 法 是 ( ) A getservletcontext() B getfiltername() C getinitparameter(string name) D getinitparameternames() 二 判 断 题 ( 每 题 2 分, 共 20 分 ) 1 Filter 可 以 实 现 用 户 在 访 问 某 个 目 标 资 源 之 前, 对 访 问 的 请 求 和 响 应 进 行 相 关 处 理 ( ) 2 编 写 完 过 滤 器 的 类 之 后, 不 需 要 对 该 过 滤 器 进 行 任 何 配 置, 就 可 以 让 其 拦 截 请 求 的 资 源 ( ) 3 Filter 的 元 素 可 以 配 置 过 滤 器 所 有 拦 截 的 资 源, 通 配 符 * 表 示 过 滤 器 拦 截 所 有 的 请 求 访 问 ( ) 4 Filter 链 中 各 个 Filter 的 拦 截 顺 序 与 它 们 在 web.xml 文 件 中 元 素 的 映 射 顺 序 一 致 ( ) 5 FilterConfig 接 口 的 getfiltername() 方 法 用 于 返 回 在 web.xml 文 件 中 为 Filter 所 设 置 的 名 称 ( ) 6 实 现 用 户 自 动 登 陆 会 使 用 到 Cookie 技 术 ( ) 7 装 饰 设 计 模 式 中, 包 装 类 的 内 部 持 有 一 个 被 包 装 类 的 对 象 ( ) 8 我 们 可 以 在 Filter 中 对 获 取 到 的 请 求 和 响 应 消 息 进 行 编 码, 从 而 统 一 全 站 的 编 码 方 式 ( ) 9 使 用 页 面 静 态 化 处 理 的 页 面 的 访 问 速 度 要 比 动 态 页 面 快 的 多, 因 此 它 提 高 了 程 序 性 能 ( ) 10 在 Filter 中 实 现 统 一 全 站 编 码 时, 对 于 请 求 方 式 post 和 get 解 决 乱 码 方 式 是 相 同 的 ( ) 三 程 序 分 析 题 ( 每 题 5 分, 共 15 分 ) 1 请 阅 读 下 面 的 程 序, 分 析 写 出 该 Filter 可 以 拦 截 的 URL( 至 少 写 出 两 个 答 案 ) <display-name>myfilter</display-name> <filter-name>myfilter</filter-name> <filter-class>cn.itcast.chapter04.filter.myfilter</filter-class> <filter-name>myfilter</filter-name> <url-pattern>/servlet/* </url-pattern> 2 请 阅 读 下 面 的 程 序, 分 析 当 客 户 端 访 问 HttpServlet1 时, 是 否 能 够 通 过 编 译, 如 果 能 编 译

通 过, 请 列 出 运 行 的 结 果 否 则 请 说 明 编 译 失 败 的 原 因 // Filter1 为 HttpServlet1 的 过 滤 器, 其 代 码 如 下 : public dofilter(servletrequest request,servletresponse response, FilterChain chain) throws IOException,ServletException{ System.out.print("one"); chain.dofilter(request,response); System.out.print("two"); // HttpServlet1 的 service() 方 法 的 代 码 如 下 : public void service(httpservletrequest request,httpservletresponse response) throws IOException,ServletException { System.out.print("before"); PrintWriter out = response.getwriter(); out.print("hello"); System.out.print("after"); 3 请 阅 读 下 面 的 程 序, 分 析 当 访 问 应 用 程 序 中 的 1.jsp 时, 程 序 是 否 能 够 通 过 编 译, 如 果 能 编 译 通 过, 请 列 出 过 滤 器 的 过 滤 顺 序 否 则 请 说 明 编 译 失 败 的 原 因 <filter-name>filter3</filter-name> <filter-class>cn.itcast.filter.filter3</filter-class> <filter-name>filter1</filter-name> <filter-class>cn.itcast.filter.filter1</filter-class> <filter-name>filter2</filter-name> <filter-class>cn.itcast.filter.filter2</filter-class> <filter-name>filter2</filter-name> <url-pattern>*.html</url-pattern> <filter-name>filter1</filter-name> <url-pattern>/*</url-pattern> <filter-name>filter3</filter-name> <url-pattern>*.jsp</url-pattern>

四 简 答 题 ( 每 题 5 分, 共 15 分 ) 1 简 述 过 滤 器 的 基 本 功 能 2 简 述 装 饰 设 计 模 式 的 特 点 3 简 述 Filter 实 现 页 面 静 态 化 的 优 点 ( 至 少 写 三 点 ) 五 操 作 题 ( 每 题 10 分, 共 30 分 ) 1 请 按 照 以 下 要 求 设 计 一 个 自 动 登 录 的 Filter 程 序 要 求 如 下 : 1) 已 知 在 客 户 端 保 存 好 了 名 为 autologin 的 cookie 用 户 信 息, 其 形 式 为 : username_password, 即 用 户 名 与 密 码 形 式, 他 们 之 间 用 _ 分 隔,Computer 类 中 定 义 一 个 静 态 方 法, 用 于 输 出 计 算 机 的 CPU 信 息 2) 登 录 用 户 信 息 :username 的 值 为 itcast, password 的 值 为 123456 3) 编 写 AutoLoginFilter.java 的 过 滤 器, 实 现 自 动 登 录 功 能 2 请 按 照 以 下 要 求 设 计 一 个 过 滤 器, 实 现 统 计 网 站 访 问 人 数 的 功 能 要 求 如 下 : 1) 过 滤 器 是 一 个 名 为 CountFilter 的 类, 此 类 实 现 javax.servlet.filter 接 口 2) 定 义 变 量 count 记 录 来 访 数 量, 并 在 web.xml 文 件 的 配 置 中 将 网 站 访 问 量 的 初 始 值 设 为 1000 3) 在 初 始 化 方 法 中, 通 过 FilterConfig 对 象 的 getintparameter() 方 法 获 取 访 问 数 量 参 数 4) 在 CountFilter 类 的 dofilter() 方 法 中, 对 count 变 量 进 行 自 增, 然 后 将 来 访 数 量 值 放 入 到 ServletContext 中, 向 下 传 递 过 滤 器 5) 创 建 index.jsp 页 面, 在 其 中 通 过 JSP 内 置 对 象 application 获 取 计 数 器 count 的 值, 动 态 显 示 最 新 的 访 问 人 数 3 请 按 照 以 下 要 求 设 计 一 个 Filter 链, 当 访 问 MyServlet 程 序 时, 可 以 顺 序 输 出 如 下 结 果 Hello MyFilter01 MyFilter02 Before Hello MyServlet MyFilter02 After 要 求 如 下 : 1) 创 建 MyServlet 类, 类 中 可 向 浏 览 器 输 出 Hello MyServlet 2) 创 建 MyFilter01 过 滤 器, 用 于 对 请 求 进 行 拦 截, 类 中 可 向 浏 览 器 输 出 Hello MyFilter01, 将 请 求 处 理 好 后, 调 用 Filter01 的 dofilter () 方 法, 将 请 求 传 递 给 MyFilter02 3) 创 建 MyFilter02 过 滤 器, 用 于 对 请 求 进 行 拦 截, 类 中 可 向 浏 览 器 输 出 MyFilter02 Before, 将 请 求 处 理 好 后, 调 用 Filter02 的 dofilter () 方 法, 将 请 求 传 递 给 MyServlet 类, 在 Filter02 的 dofilter () 方 法 后 向 浏 览 器 输 出 MyFilter02 After, 看 看 拦 截 器 的 执 行 顺 序 4) 创 建 web.xml 文 件, 在 文 件 中 对 过 滤 器 和 程 序 进 行 配 置

答 案 一 选 择 题 1.A 2.D 3.D 4.A 5.A 6.C 7.C 8.B 9.A 10.C 二 判 断 题 1.A 2.B 3.A 4.A 5.A 6.A 7.A 8.A 9.A 10.B 三 程 序 分 析 题 ------------------- 第 1 题 ------------------- 1 请 阅 读 下 面 的 程 序, 分 析 写 出 该 Filter 可 以 拦 截 的 URL 答 : 本 题 是 开 放 性 题 目, 答 案 不 唯 一 例 如 :http://localhost:8080/chapter04/servlet/myservlet http://localhost:8080/chapter04/servlet/01/myservlet ------------------- 第 2 题 ------------------- 2 请 阅 读 下 面 的 程 序, 分 析 当 客 户 端 访 问 HttpServlet1 时, 是 否 能 够 通 过 编 译, 如 果 能 编 译 通 过, 请 列 出 运 行 的 结 果 否 则 请 说 明 编 译 失 败 的 原 因 答 : 本 程 序 可 正 常 编 译 运 行 结 果 是 :one before after two ------------------- 第 3 题 ------------------- 3 请 阅 读 下 面 的 程 序, 分 析 当 访 问 应 用 程 序 中 的 1.jsp 时, 程 序 是 否 能 够 通 过 编 译, 如 果 能 编 译 通 过, 请 列 出 过 滤 器 的 过 滤 顺 序 否 则 请 说 明 编 译 失 败 的 原 因 答 : 本 程 序 可 正 常 编 译 运 行 结 果 是 :Filter1 Filter3 四 简 答 题 ------------------- 第 1 题 ------------------- 1 简 述 过 滤 器 的 基 本 功 能 答 :Filter 被 称 作 过 滤 器 或 者 拦 截 器, 其 基 本 功 能 就 是 对 Servlet 容 器 调 用 Servlet 的 过 程 进 行 拦 截, 从 而 在 Servlet 进 行 响 应 处 理 前 后 实 现 一 些 特 殊 功 能 ------------------- 第 2 题 ------------------- 2 简 述 装 饰 设 计 模 式 的 特 点 1. 包 装 类 要 和 被 包 装 对 象 实 现 同 样 的 接 口 2. 包 装 类 持 有 一 个 被 包 装 对 象 3. 包 装 类 中 对 于 不 需 要 包 装 的 方 法 直 接 调 用 被 包 装 对 象 的 方 法 来 实 现 4. 包 装 类 在 实 现 接 口 的 过 程 中, 对 于 需 要 包 装 的 方 法 自 己 实 现 ------------------- 第 3 题 ------------------- 3 简 述 Filter 实 现 页 面 静 态 化 的 优 点 ( 至 少 写 三 点 ) 1. 静 态 化 处 理 的 页 面 的 访 问 速 度 要 比 动 态 页 面 快 的 多, 因 此 提 高 了 程 序 性 能 2. 减 轻 数 据 库 访 问 压 力 3. 实 现 搜 索 引 擎 的 优 化

五 操 作 题 ------------------- 第 1 题 ------------------- 1 请 按 照 以 下 要 求 设 计 一 个 自 动 登 录 的 Filter 程 序 import java.io.ioexception; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servletexception; import javax.servlet.servletrequest; import javax.servlet.servletresponse; import javax.servlet.http.cookie; import javax.servlet.http.httpservletrequest; public class AutoLoginFilter implements Filter { public void init(filterconfig filterconfig) throws ServletException { public void dofilter(servletrequest req, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; // 获 得 一 个 名 为 autologin 的 cookie Cookie[] cookies = request.getcookies(); String autologin = null; for (int i = 0; cookies!= null && i < cookies.length; i++) { if ("autologin".equals(cookies[i].getname())) { // 找 到 了 指 定 的 cookie autologin = cookies[i].getvalue(); break; if (autologin!= null) { // 做 自 动 登 录 String[] parts = autologin.split("-"); String username = parts[0]; String password = parts[1]; // 检 查 用 户 名 和 密 码 if ("itcast".equals(username) && ("123456").equals(password)) { // 登 录 成 功, 将 用 户 状 态 user 对 象 存 入 session 域 User user = new User(); user.setusername(username); user.setpassword(password); request.getsession().setattribute("user", user); // 放 行

chain.dofilter(request, response); public void destroy() { ------------------- 第 2 题 ------------------- 2 请 按 照 以 下 要 求 设 计 一 个 过 滤 器, 实 现 统 计 网 站 访 问 人 数 的 功 能 (1) 创 建 过 滤 器 CountFilter 类 package cn.itcast.filter; import java.io.ioexception; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterconfig; import javax.servlet.servletcontext; import javax.servlet.servletexception; import javax.servlet.servletrequest; import javax.servlet.servletresponse; import javax.servlet.http.httpservletrequest; /** * 统 计 网 站 访 问 人 数 的 过 滤 器 */ public class CountFilter implements Filter{ // 网 站 访 问 人 数 private int count; // 初 始 化 方 法 public void init(filterconfig filterconfig) throws ServletException { // 获 取 初 始 化 参 数 String param = filterconfig.getinitparameter("count"); // 将 字 符 串 转 换 为 int 类 型 count = Integer.valueOf(param); public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 访 问 人 数 自 增 count++; // 将 ServletRequest 转 换 为 HttpServletRequest HttpServletRequest req = (HttpServletRequest) request; // 获 取 ServletContext ServletContext context = req.getservletcontext(); //req.getsession().getservletcontext(); // 将 网 站 访 问 人 数 数 量 值 放 入 到 ServletContext 中 context.setattribute("count", count);

// 向 下 传 递 过 滤 器 chain.dofilter(request, response); // 销 毁 方 法 public void destroy() { (2) 在 web.xml 文 件 中 对 过 滤 器 进 行 配 置, 并 在 初 始 化 参 数 中, 将 网 站 访 问 量 的 初 始 值 设 为 1000, 关 键 代 码 如 下 : <!-- 过 滤 器 声 明 --> <!-- 过 滤 器 的 名 称 --> <filter-name>countfilter</filter-name> <!-- 过 滤 器 的 完 整 类 名 --> <filter-class>cn.itcast.filter.countfilter</filter-class> <!-- 设 置 初 始 化 参 数 --> <init-param> <!-- 参 数 名 --> <param-name>count</param-name> <!-- 参 数 值 --> <param-value>1000</param-value> </init-param> <!-- 过 滤 器 映 射 --> <!-- 过 滤 器 的 名 称 --> <filter-name>countfilter</filter-name> <!-- 过 滤 器 URL 映 射 --> <url-pattern>/index.jsp</url-pattern> (3) 创 建 index.jsp 页 面 <%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8" import="java.util.*"%> <html> <head> <title> 统 计 访 问 人 数 </title> </head> <body> <h2> 欢 迎 光 临,<br> 你 是 本 站 的 第 <%=application.getattribute("count") %> 位 访 客! </h2>

</body> </html> ------------------- 第 3 题 ------------------- 3 请 按 照 以 下 要 求 设 计 一 个 Filter 链, 当 访 问 MyServlet 程 序 时, 可 以 顺 序 输 出 如 下 结 果 (1) 创 建 MyFilter01 和 MyFilter02, 如 下 所 示 MyFilter01.java import java.io.*; import javax.servlet.*; public class MyFilter01 implements Filter { public void destroy() { // 过 滤 器 对 象 在 销 毁 时 自 动 调 用, 释 放 资 源 public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 用 于 拦 截 用 户 的 请 求, 如 果 和 当 前 过 滤 器 的 拦 截 路 径 匹 配, 该 方 法 会 被 调 用 PrintWriter out=response.getwriter(); out.write("hello MyFilter01</br>"); chain.dofilter(request, response); public void init(filterconfig fconfig) throws ServletException { // 过 滤 器 对 象 在 初 始 化 时 调 用, 可 以 配 置 一 些 初 始 化 参 数 MyFilter02.java import java.io.*; import javax.servlet.filter; import javax.servlet.*; public class MyFilter02 implements Filter { public void destroy() { // 过 滤 器 对 象 在 销 毁 时 自 动 调 用, 释 放 资 源 public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 用 于 拦 截 用 户 的 请 求, 如 果 和 当 前 过 滤 器 的 拦 截 路 径 匹 配, 该 方 法 会 被 调 用 PrintWriter out=response.getwriter(); out.write("myfilter02 Before</br>"); chain.dofilter(request, response); out.write("</br>myfilter02 After</br>"); public void init(filterconfig fconfig) throws ServletException { // 过 滤 器 对 象 在 初 始 化 时 调 用, 可 以 配 置 一 些 初 始 化 参 数

(2) 在 web.xml 文 件 中 MyFilter01 和 MyFilter02 注 册 在 MyServlet 前 面, 具 体 如 下 所 示 : <display-name>myfilter01</display-name> <filter-name>myfilter01</filter-name> <filter-class>cn.itcast.chapter04.filter.myfilter01</filter-class> <filter-name>myfilter01</filter-name> <url-pattern>/myservlet</url-pattern> <display-name>myfilter02</display-name> <filter-name>myfilter02</filter-name> <filter-class>cn.itcast.chapter04.filter.myfilter02</filter-class> <filter-name>myfilter02</filter-name> <url-pattern>/myservlet</url-pattern> <servlet> <display-name>myservlet</display-name> <servlet-name>myservlet</servlet-name> <servlet-class>cn.itcast.chapter04.filter.myservlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> (3) 启 动 Tomcat 服 务 器, 在 浏 览 器 地 址 栏 中 输 入 http://localhost:8080/chapter04/myservlet, 进 行 访 问, 输 出 结 果