没有合适的资源?快使用搜索试试~ 我知道了~
Java_Web程序设计教程_范立峰第8章习题答案
需积分: 10 0 下载量 166 浏览量
2013-12-25
10:42:08
上传
评论
收藏 128KB DOC 举报
温馨提示
试读
16页
Java_Web程序设计教程_范立峰第8章习题答案
资源推荐
资源详情
资源评论
第 8 章 初识 Hibernate 框架 习题答案
第5章 Struts 2框架入门
习题答案
1.简单介绍MVC设计模式。
答案:
MVC英文为Model-Vi ew-Controller,即把一个应用的输入、处理、输出流程按照
Model、View、Controller的方式进行分离,这样一个应用被分成3个层:模型层、视图层和
控制层,从而可以使同一个应用程序使用不同的表现形式。
2.简单介绍
Struts 2的工
作流程。
答案:
S t r u t s 2
框架的基本工作
流程如下图所示:
Struts 2
工作流
程图
对
Struts
2 工 作
流程 的
详细 说
明如下:
–1–
Java Web 程序设计
(1)客户端初始化一个指向Web容器(例如Tomcat)的请求。
(2)请求经过一系列的过滤器(Filter)的过滤并传递给FilterDispatcher。
(3)FilterDispatche r接收到请求信息后,会根据 U RL在ActionMapper中搜索指定
Action的映射信息。
(4)如果找到符合的映射信息,ActionProxy通过Configuration Manager在配置文件
“struts.xml”中搜索被请求的Action类。
(5)ActionProxy创建一个被请求Action的实例,该实例将用来处理请求信息。
(6)如果在“struts.xml”文件中存在与被请求Action相关的拦截器配置,那么该Action
的实例被调用的前后,这些拦截器也会先被执行。
(7)Action对请求处理完毕以后返回一个逻辑视图,由此逻辑视图寻找对应的物理视
图(可以是JSP、Velocity模板、FreeMarker模板等),并返回给客户端。
3.在创建Action类时,需要注意哪些方面?
答案:
在Struts 2中,Action可以以多种形式存在:普通的Java类、实现Action接口和继承
ActionSupport类。
在Action类中通常包含以下内容:
无参数的execute()方法:用于处理用户请求。
私有属性及其属性的set、get方法:Action类中封装HTTP请求参数,因此私有属性
的名称应和HTTP请求参数的名称保持一致;程序通过属性的set、get方法来处理请
求参数,所以必须提供属性的set、get方法。
4.使用不同的结果类型时,需要如何配置?
答案:
在Struts 2应用程序中,所有的Action类在处理完成之后返回的都是一个字符串类型的结
果 , 这 个 结 果 作 为 一 个 逻 辑 视 图 而 存 在 。 S t r u t s 2框 架 正 是 通 过 这 个 字 符 串 , 在
“struts.xml”配置文件中将逻辑视图与物理视图建立起映射关系,而这一实现是由<result>
元素来声明的。
<result>元素的type属性用于指定结果的类型,而且默认情况下为JSP文件。当需要使用
不同的结果类型时,将type属性的值设置为相应的结果类型即可。
5.“struts.xml”文件中<action>元素都有哪些属性?作用是什么?
答案:
<action>元素用来配置Action,它包含的属性如下表所示:
属性名称 是否必须 功能描述
name
是 请求的 Action 名称
class
否 Action 处理类对应具体路径
method
否 指定 Action 中的方法名
converter
否 指定 Action 使用的类型转换器
–2–
第 8 章 初识 Hibernate 框架 习题答案
第6章 Struts 2进阶
习题答案
1.如何部署和添加拦截器?
答案:
使用<interceptors>元素的子元素<interceptor>引入指定的拦截器,在引入时需指定该拦
截器的名称及其实现类。下面是部署拦截器的示例代码:
<struts>
<package name="default" extends="struts-default">
<interceptors>
<!-- 部署timer拦截器 -->
<interceptor name="timer"
class="com.opensymphony.xwork2.interceptor.TimerInterceptor" />
</interceptors>
<!-- 省略配置Action的代码 -->
</package>
</struts>
使用<action>元素的子元素<interceptor-ref>加入所需拦截器。下面是添加拦截器的示例
代码:
<struts>
<package name="default" extends="struts-default">
<!-- 省略部署拦截器的代码-->
<!-- 添加拦截器 -->
<action name="timerAction" class="com.interceptor.TimerAction">
<result>/success.jsp</result>
<interceptor-ref name="timer" />
</action>
</package>
–3–
Java Web 程序设计
</struts>
2.继承类______或类______可实现自定义类型转换器。
答案:
DefaultTypeConverter
StrutsTypeConverter
3.在使用<field>元素时,通过_____元素来引入要使用的校验器。
答案:
<field-validator>
4.在Struts 2应用中如何实现国际化?
答案:
实现国际化的步骤:
( 1 ) 创 建 国 际 化 资 源 文 件 , 例 如 s u n y a n g _ z h _ C N. p r o p e r t i e s、
sunyang_en_US.properties。
(2)在资源文件中添加需要国际化的内容,例如
hello=你好
hello=hello
(3)配置国际化资源文件,可将资源文件配置为全局范围、包范围或Action范围。
(4)调用国际化资源文件,在应用中使用不同的方式来获得国际化资源信息。
5.在Struts 2应用中如何实现文件上传?
答案:
实现文件上传的步骤:
(1)如果需要,在struts.properties文件中重新配置上传解析器。
(2)在Action类中封装与上传文件相关的属性,例如:
public class UploadAction extends ActionSupport {
private String title; // 上传文件标题
private File pic; // 上传文件
private String picContentType; // 上传文件类型
private String picFileName; // 上传文件名
private String savePath; // 上传文件保存路径
public void setSavePath(String savePath) {
this.savePath = savePath;
}
// 返回文件上传路径
private String getSavePath() {
HttpServletRequest request = ServletActionContext.getRequest();
–4–
剩余15页未读,继续阅读
资源评论
张拉拉拉拉
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于JSP水产品销售系统源码.zip
- 基于JSP手机商城管理系统源码.zip
- 5.3.1_1二叉树的先中后序遍历.mp420240404-134540.png
- 基于JSP实现一个C语言教学网站平台源码.zip
- 抖音快手-课程网盘链接提取码下载 .txt
- 934742083249391XGOBOTV1.2.4.apk
- 课程设计基于OpenCV的材料缺陷检测程序python源码(含超详细注释).zip
- 基于python和百度EsayDL实现自动驾驶算法+基于ESP32开发板作为智能车主控芯片的自动驾驶智能车项目+源码(高分项目)
- Centos7-离线安装-MySQL5-7-31-tar包安装
- 蓝海平台带货-课程网盘链接提取码下载 .txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功