java面试题中的j2ee面试题主要是Struts框架.pdf_第1页
java面试题中的j2ee面试题主要是Struts框架.pdf_第2页
java面试题中的j2ee面试题主要是Struts框架.pdf_第3页
java面试题中的j2ee面试题主要是Struts框架.pdf_第4页
全文预览已结束

下载本文档

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

文档简介

1 Struts 的工作原理 在 Struts 中 用户的请求一般以 do 作为请求服务名 所有的 do 请 求均被指向 ActionSevlet ActionSevlet 根据 Struts config xml 中的配置信 息 将用户请求封装成一个指定名称的 FormBean 并将此 FormBean 传至指定名 称的 ActionBean 由 ActionBean 完成相应的业务操作 如文件操作 数据库操 作等 每一个 do 均有对应的 FormBean 名称和 ActionBean 名称 这些在 Struts config xml 中配置 2 Struts 优点与缺点 Struts 是开源软件 使开发者能更深入的了解其内部实现机制 Struts 优点 业界 标准 很多成功案例 学习资源丰富 Struts 的优点主要集中体现在两个方面 Taglib 和页面导航 a 利用 Struts 提供的 taglib 可以大大节约开发时间 b 维护扩展比较方便 通过一个配置文件 即可把握整个系统各部 分之间的联系 这对于后期的维护有着莫大的好处 c 表现与逻辑分离 d 表单验证解决了请求数据的验证问题 增强了系统健壮性 e 便于团队开发 Struts 缺点 a 大量的使用标签 对于初学者难度较大 b ActionForms 使 用 不 便 无 法 进 行 单 元 测 试 StrutsTestCase 只能用于集成 3 Struts 提供了几个标签库 都是什么标签库 Struts 提供了五个标签库 即 HTML Bean Logic Template 和 Nested HTML 标签用来创建能够和 Struts 框架和其他相应的 HTML 标签交互 的 HTML 输入表单 Bean 标签在访问 JavaBeans 及其属性 以及定义一个新的 bean 时使 用 Logic 标签管理条件产生的输出和对象集产生的循环 Template 标签随着 Tiles 框架包的出现 此标记已开始减少使用 Nested 标签增强对其他的 Struts 标签的嵌套使用的能力 7 你对 MVC 的理解 MVC 有什么优缺点 结合 Struts 说明在一个 Web 应用如何 去使用 答 MVC 设计模式 应用观察者模式的框架模式 M Model Business process layer 模型 操作数据的业务处理层 并独立于 表现层 Independent of presentation V View Presentation layer 视图 通过客户端数据类型显示数据 并回显模 型层的执 行结果 C Controller Control layer 控制器 也就是视图层和模型层桥梁 控制数 据的流向 接受视图层发出的事件 并重绘视图 MVC 框架的一种实现模型 模型二 Servlet centric JSP Servlet JavaBean 以控制为核心 JSP 只负责显示和收集数据 Sevlet 连接视图 和模型 将视图层数据 发送给模型层 JavaBean 分为业务类和数据实体 业 务类处 理业务数据 数据实体 承载数据 基本上大多数的项目都是使用这种 MVC 的实 现模式 StrutsMVC 框架 Web application frameworks Struts 是使用 MVC 的实现模式二来实现的 也就是以控制器为核心 Struts 提供了一些组件使用 MVC 开发应用程序 Model Struts 没有提供 model 类 这个商业逻辑必须由 Web 应用程序的开发 者以 JavaBean 或 EJB 的形式提供 8 叙述 Struts ActionForm 执行步骤 答案 检查 Action 的映射 确定 Action 中已经配置了对 ActionForm 的映 射 根据 name 属性 查找 form bean 的配置信息 检查 Action 的 formbean 的使用范围 确定在此范围下 是否已经有此 form bean 的实例 假如当前范围下 已经存在了此 form bean 的实例 而是对当前请求来说 是同一种类型的话 那么就重用 否则 就重新构建一个 form bean 的实例 form bean 的 reset 方法备调用 调用对应的 setter 方法 对状态属性赋值 假如validatede的属性被设置为true 那么就调用form bean的validate 方法 9 假如 validate 方法没有返回任何错误 控制器将 ActionForm 作为参 数 传给 Action 实例的 execute 方法并执行 9 简单叙述 Struts 里 ActionForm Bean 的作 答案 1 ActionForm Bean 也是一种 JavaBean 除了具有一些 JavaBean 的常规 方法 还包含一些非凡的方法 用于验证 HTML 表单数据以及将其属性重新设置 为默认值 2 Struts 框架利用 ActionForm Bean 来进行 View 组件和 Controller 组件之间 表单数据的传送 3 Struts 框架把 View 组件接受到的用户输入的表单数据保存在 ActionForm Bean 中 把它传送给 Controller 组件 Controller 组件可以对 ActionForm Bean 中的数据进行修改 JSP 文件使用 Struts 标签读取修改后的 ActionForm Bean 的信息 重新设置 HTML 表单 10 简述 Struts Form Bean 的表单验证流程 答案 1 当用户提交了HTML表单 Struts框架自动把表单数据组装到ActionForm Bean 中 2 接下来 Struts 框架会调用 ActionForm Bean 的 validate 方法进行表单验 证 3 假如 validate 方法返回的 ActionErrors 对象为 null 或者不包含任何 ActionMessage 对象 就表示没有错误 数据验证通过 4 假如 ActionErrors 中包含 ActionMessage 对象 就表示发生了验证错误 Struts 框架会把 ActionErrors 对象保存到 request 范围内 然后把请求转发到 恰当的视图组件 视图组件通过标签把 request 范围内的 ActionErrors 对象中包含的错误消息显示出来 提示用户修改错误 11 简述 Struts 框架响应客户请求的工作流程 答案 1 检索和用户请求匹配的 ActionMapping 实例 假如不存在 就返回用 户请求路径无效的信息 2 假如 ActionForm 实例不存在 就创建一个 ActionForm 对象 把客户提交的 表单数据保存到 ActionForm 对象中 3 根据配置信息决定是否需要表单验证 假如需要验证 就调用 ActionForm 的 validate 方法 4 假 如 ActionForm 的 validate 方 法 返 回 null 或 返 回 一 个 不 包 含 ActionMessge 的 ActionErrors 对象 就表示表单验证成功 5 ActionServlet 根据 AtionMapping 实例包含的映射信息决定将请求转发给哪 个 Action 假如应的 Action 实例不存在 就先创建这个实例 然后调用 Action 的 execute 方法 6 Action 的 execute 方法返回一个 ActionForward 对象 ActionServlet 再 把客户请求转发给 ActionForward 对象指向的 JSP 组件 7 ActionForward 对象指向的 JSP 组件生成动态页面 返回给客户 对于以上流程的步骤 4 假如 ActionForm 的 validate 方法返回一个包含一 个或多个 ActionError 的 ActionErrors 对象 就表示表单验证失败 此时 ActionServlet 将直接把请求转发给包含客户提交表单的 JSP 组件 在这种情况 下 不会再创建 Ac

温馨提示

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

评论

0/150

提交评论