第 1 章课后练习
选择题
1. 以下何者适合使用 GET 请求来发送?
(A) 使用者名称、密码
(B) 检视论譠页面
(C) 信用卡资料
(D) 查询数据的分页
答案:B、D
提示:敏感性数据不应使用 GET 来发送。论譠页面、数据分页可以使用 GET,
便于使用者设定为书签。
2. 以下何者应该使用 POST 请求来发送?
(A) 使用者名称、密码
(B) 档案上传
(C) 搜寻引擎的结果画面
(D) BLOG 文件
答案:A、B、D
提示:敏感性数据、大量数据不应使用 GET 来发送。搜寻引擎结果画面可以使
用 GET,便于使用者设定为书签。
3. HTTP 哪个请求方式,请求参数会出现在网址列上?
(A) GET
(B) POST
答:A
4. 以下何者适合使用 GET 请求来发送?
(A) 检视静态页面
(B) 查询商品数据
(C) 新增商品资料
(D) 删除商品数据
答案:A、B
提示:这题在考等幂操作,不改变服务器状态的查询应使用 GET。
1
5. 以下何者应该使用 POST 请求来发送?
(A) 查询商品数据
(B) 新增商品资料
(C) 更新商品数据
(D) 删除商品数据
答案:B、C、D
提示:这题在考非等幂操作,会改变服务器状态的查询应使用 POST。
6. 以下何者是属于客户端执行的程序?
(A) JSP
(B) JavaScript
(C) Servlet
(D) Applet
答案:B、D
7. Servlet/JSP 主要是属于哪个 Java 平台的规范之中?
(A) Java SE
(B) Java ME
(C) Java EE
答:C
8. Servlet/JSP 必须基于哪一类型的容器才能提供服务?
(A) Applet 容器
(B) 应用程序客户端容器
(C) Web 容器
(D) EJB 容器
答:C
9. Web 容器在收到浏览器请求时,会如何处理请求?
(A) 使用单一执行绪处理所有请求
(B) 一个请求就建立一个执行绪来处理请求
(C) 一个请求就建立一个行程来处理请求
(D) 一个请求就执行一个容器来处理请求
答:B
2
10. Java EE 中各技术标准最后将由什么文件明订规范?
(A) JCP
(B) JSR
(C) JDK
答:B
提示:JCP 是组织名称。JDK 是 Java 开发工具箱名称。
3
第 2 章课后练习
选择题
1. 若要针对 HTTP 请求撰写 Servlet 类别,以下何者是正确的作法?
(A) 实作 Servlet 界面
(B) 继承 GenericServlet
(C) 继承 HttpServlet
(D) 直接定义一个结尾名称为 Servlet 的类别
答案:C
2. 续上题,如何针对 HTTP 的 GET 请求进行处理与响应?
(A) 重新定义 service()方法
(B) 重新定义 doGet()方法
(C) 定义一个方法名称为 doService()
(D) 定义一个方法名称为 get()
答案:B
提示:不建议也不应重新定义 HttpServlet 所继承下来的 service()方法。
3. HttpServlet 是定义在哪个套件之中?
(A) javax.servlet
(B) javax.servlet.http
(C) java.http
(D) javax.http
答案:C
提示:与 Servlet 定义相关的类别或接口都位于 javax.servlet 套件之中,像
是 Servlet、GenericServlet、ServletRequest、ServletResponse
等。与 HTTP 定义相关的类别或接口都位于 javax.servlet.http 套件之中,
像是 HttpServlet、HttpServletRequest、HttpServletResponse 等。
4. 你在 web.xml 中定义了以下的内容:
Goodbye
cc.openhome.LogutServlet
GoodBye
4
/goodbye
哪个 URL 可以正确的要求 Servlet 进行请求处理?
(A) /GoodBye
(B) /goodbye.do
(C) /LoguotServlet
(D) /goodbye
答案:D
5. 在 Web 容器中,以下哪两个类别的实例分别代表 HTTP 请求与响应对象?
(A) HttpRequest
(B) HttpServletRequest
(C) HttpServletResponse
(D) HttpPrintWriter
答案:B、C
6. 在Web 应用程序中,何者负责将HTTP 请求转换为HttpServletRequest
物件?
(A) Servlet 物件
(B) HTTP 服务器
(C) Web 容器
(D) JSP 网页
答案:C
7. 在 Web 应用程序的档案与目录结构中,web.xml 是直接放置在哪个目录之
中?
(A) WEB-INF 目录
(B) conf 目录
(C) lib 目录
(D) classes 目录
答案:A
8. 你在 web.xml 中定义了以下的内容:
HelloServlet
cc.openhome.HelloServlet
5
HelloServlet
/hello
这个 web.xml 中的定义有哪些错误?
(A) 标签中的设定一定要用.do 作结尾
(B) 标签应改为,结尾标签名称
也要修改
(C) 标签应改为,结尾标签名称也
要修改
(D) 标签应改为,结尾标签名
称也要修改
答案:B、C
提示:可以无需.do 结尾,也可以用万用字符(wildcard),例
如*.do 将会让所有以.do 结尾的请求由该 Servlet 进行处理。
9. 在 MVC 架构中,谁负责通知应用程序客户端,应用程序本身有状态改变?
(A) 模型(Model)
(B) 视图(View)
(C) 控制器(Controller)
答案:A
10. MVC 与 Model 2 架构最大的差别在于?
(A) Model 2 架构的视图是由 HTML 组成
(B) Model 2 架构中的模型无法通知视图状态已更新
(C) MVC 架构是基于请求/响应模型
(D) MVC 架构只能用于单机应用程序
答案:B
提示:Model 2 架构中呈现视图的技术并没有限制。MVC 架构也可以应用于 3-tier
的网络架构中,其中模型通知视图时,可以透过 Socket 联机来进行。
实作题
1. 讲师提示:这个练习在让学生动手实作 HttpServlet 的继承、web.xml
的定义,并能够自行查询在线 API 文件,了解 HttpServletRequest 有
哪些方法可以利用。
6
2. 提示:这个练习在让学生动作撰写窗体(学生必须自行学习基本的 HTML),
了解 GET 与 POST 如何在 Servlet 中进行处理,学生必须重新定义doPost()
方法,并了解如何在 Servlet 中撰写判断分支来呈现不同条件下的结果画面。
7
第 3 章课后练习
课后练习
选择题
1. 以下的空格应该填入哪个方法?
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.____________;
out.println("");
...
(A) getPrintWriter()
(B) getWriter()
(C) getBufferedWriter()
(D) getOutputWriter()
答案:B
2. 请问以下的 Servlet 程序片段输出结果为何?
out.println("第一个 Servlet 程序");
out.flush();
request.getRequestDispatcher("message.jsp")
.forward(request,response);
out.println("Hello!World!");
(A) 显示"第一个 Servlet 程序"后转发 message.jsp
(B) 显示"第一个 Servlet 程序"与"Hello!World!"
(C) 直接转发给 message.jsp 进行响应
(D) 丢出 IllegalStateException
答案:A
提 示 : 在 flush() 之 后 响 应 已 确 认 , 此 时 再 forward() 就 会 发 生
IllegalStateException。
3. 你将 secret.jsp 档案放在 WEB-INF 目录中,哪个方式或程序片段可以正确
让 secret.jsp 进行响应?
(A) 使用浏览器请求/WEB-INF/secret.jsp
(B) request.getRequestDispatcher("/WEB-INF/secret.j
sp")并进行 forward()
8