2022年Java框架面试题总结 .pdf
《2022年Java框架面试题总结 .pdf》由会员分享,可在线阅读,更多相关《2022年Java框架面试题总结 .pdf(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java框架面试题总结2011-03-26 作者 : 孙星1 目录Struts 篇 . 41. Struts的工作流程 . 42. Struts的工作流程分解 . 43. Struts控制器组件的组成. 和控制器的主要功能 . 44. Struts中的几个关键对象的作用( 说说几个关键对象的作用) . 45. Struts工作流程图 ( 用例图 ) . 56. 说说 MVC 设计模式和它的优点. 57. 说说 struts是如何实现MVC 的 ? . 68. Struts优点与缺点 . 69 . strust的 Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安 .
2、610. Tiles框架是什么? . 611. struts1.x 和 struts 2 的区别 . 612 . Struts 的常用标签库及用法 . 8Struts html 标签库 . 8Struts bean 标签库 . 12Struts Logic标签库 . 1313、JSP中动态 INCLUDE 与静态 INCLUDE 的区别? . 15Ajax 篇 . 151.ajax 是什么 . 152.ajax 实现的原理 . 163.ajax 框架的基本流程 . 164.dwr 的实现原理 . . 165.ajax 开发步骤 . . 16Spring 篇 . 16一.基础知识 . 161.对
3、 IOC的理解 . . 162.依赖注入的三种实现形式? . 17名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 33 页 - - - - - - - - - Java框架面试题总结2011-03-26 作者 : 孙星2 3.Setter注入和构造方法注入比较 . 184.对 AOP的理解 , 以及 AOP在项目中是如何使用的? . 185.AOP的概念和术语 . 196.Spring 中有五中不同的通知: . 197.Spring bean的生命周期 : . 198.B
4、ean的作用域 . 199.Spring 自动代理 . 2010.Spring 事务特点 . 2011.谈谈 Spring 事务的理解 . 2012.编程式事务和声明式事务如何选择?. 21二.Spring 应用 . 2113.spring中的 BeanFactory 与 ApplicationContext的作用和区别?. 2114.Spring 里面 applicationContext.xml文件能不能改成其他文件名? . 2215.spring中 commons-logging.jar的作用 . 2216.spring中读取 xml 配置文件、获取bean 的几种方式 . 2217.S
5、pring 启动参数 contextConfigLocation 和 ContextLoaderListener 理解 . 2318.Spring 框架在 web容器是如何启动的?. 25Hibernate 篇. 251Hibernate 优缺点? . 252Hibernate 工作原理及为什么要用?. 263Hibernate 是如何延迟加载? . 264Hibernate 中怎样实现类之间的关系?(如:一对多、多对多的关系). 275说下 Hibernate 的缓存机制 . 276什么样的数据适合放到二级缓存中? . 277Hibernate 的查询方式 . 288如何优化 Hiberna
6、te?. 289说说 Hibernate 中的 update()和 saveOrUpdate()的区别 . 2810说说 Hibernate 中的 session的 load()和 get()的区别。 . 2811谈谈 Hibernate 中 inverse的作用 . 2812hibernate 中对象的三种状态. 29名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 33 页 - - - - - - - - - Java框架面试题总结2011-03-26 作者 : 孙星3
7、 13在数据库中条件查询速度很慢的时候,如何优化 ?. 2914在 hibernate 中进行多表查询,每个表中各取几个字段,也就是说查询出来的结果集并没有一个实体类与之对应,如何解决这个问题? . 30iBatis 篇 . 301.iBatis的优缺点? . 302.iBatis与 Hibernate区别( 比较) ? . 303.iBatis与传统 JDBC比较 . 314.Hibernate和 iBatis的映射关系 . 315.iBatis动态标签有哪些? . 316.iBatis中使用 like %#filedName#% 时,有什么问题? . 327.iBatis中#与$的区别?
8、. 32框架问题 . 321. SSH 框架的配置文件加载顺序. . 322. Spring框架在 web容器是如何启动的? . 333. Webservice + spring2.0 + iBatis项目的加载顺序 . . 334.appfuse 框架机制 . . 335.iBatis与 Hibernate如何选择? . 33参考: iBatis与 Hibernate比较。 . 33名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 33 页 - - - - - - - -
9、 - Java框架面试题总结2011-03-26 作者 : 孙星4 Struts 篇1. Struts 的工作流程当客户端向浏览器发送HTTP 请求时,所有浏览器请求都被提交给ActionServlet 处理。如果用户提交表单,则会将表单中的数据放入到ActionForm中。 ActionServlet根据struts_config.xml 文件中预先配置好的设置选择将请求转发到哪个action 对象, action 对象从 actionForm 对象中获取数据,但后调用业务逻辑组件,完成业务功能。2. Struts 的工作流程分解Web 应用如果采用struts 框架 ,在 web 应用启动
10、时就会加载并初始化ActionServlet, ActionServlet 从 struts_config.xml 文件中读取配置信息,基本执行步骤如下: (1) 所有浏览器请求都被提交给ActionServlet 处理(2) ActionServlet 根据 struts_config.xml 文件中预先配置好的设置,选择应该将请求转发到哪个 action 对象 . (3) 当用户提交表单时,一个配置好的ActionForm对象将被创建,并被填入表单中的相当数据 . (4) Action 对象从 ActionForm 对象中获取数据. (5) Action 对象调用业务逻辑组件完成业务功能.
11、 3. Struts 控制器组件的组成. 和控制器的主要功能Struts控制器组件主要包括: ActionServlet 组件 :充当 Struts 框架的中央控制器. RequestRrocessor组件 :充当每个子应用模块的请求处理器. Action 组件 :负责处理一项具体的业务. Struts控制器组件主要完成以下任务: 接受用户请求 . 根据用户请求 ,调用合适的模型组件来执行相应的业务逻辑. 获取业务逻辑执行结果. 根据当前状态以及业务逻辑执行结果,选择合适的视图组件返回给用户. 4. Struts中的几个关键对象的作用( 说说几个关键对象的作用)ActionServlet 类控
12、制导航流. ActionServlet 根据 URI 来决定哪个Action 类被用于处理请求,Action 可以校验输入 ,并访问业务层以便从数据库检索信息. Action 需要知道页面提交了哪些内容,所以由 ActionServlet 根据请求URI 来决定将请求参数绑定到哪个ActionForm 中并传入 Action. Action 在完成业务逻辑后,返回一个 ActionForward 对象 ,ActionServlet 根据 ActionForward对象中的路径来调用页面完成响应. Struts 将这些信息绑定在一个ActionMapping对象中 ,一个 ActionMappi
13、ng对应一个请求URI, 当请求路径到达的时候,ActionServlet 就会查询 ActionMapping 对象 ,ActionMapping 对象将告诉 ActionServlet 哪个 Action 类会被调用 ,哪个 ActionForm 类被用于传递页面数据以及哪些 ActionForward 将被用于转向. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 33 页 - - - - - - - - - Java框架面试题总结2011-03-26 作者 : 孙
14、星5 有关 Action,ActionForm,ActionForward等信息 ,通过 struts-config.xml 配置文件来定义. 5. Struts工作流程图 ( 用例图 )注: Servlet 容器在启动时 ,或者用户首次请求ActionServlet 时加载 ActionServlet 类. 6. 说说 MVC 设计模式和它的优点MVC 是一种设计模式,.它强制性的把应用程序的输入,处理和输出分开.MVC 把应用程序分成三个核心模块:模型 (Model), 视图 (View) 和控制器 (Controller). 他们分别处理不同的任务. 视图是用户看到并与之交互的界面.视图
15、向用户显示相关的数据,并能接受用户的输入数据,但是它不进行任何实际的业务处理. 模型是应用程序的主体部分.模型表示业务数据和业务逻辑.一个模型能为多个视图提供数据 .由于同一个模型可以被多个视图重用,所以提高了应用的重用性. 控制器接受用户的输入并调用模型和视图去完成任务. MVC 的处理逻辑如下: 首先控制器接受用户请求,并决定应该调用哪个模型来进行处理,然后模型根据用户请求进行相应的业务逻辑处理,并返回数据 . 最后控制器调用相应的视图来格式化模型返回的诗句 ,并通过视图呈现给用户. MVC 的优点 : (1) 在 MVC 设计模式中 ,模型响应用户请求并返回响应数据,视图负责格式化数据并
16、把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性. (2) MVC的三个模块相互独立,改变其中的一个不会影响其他两个,所以根据这种设计思想能构造良好的松耦合的构件. (3) 控制器可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段.给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的视图将结果显示给用户. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共
17、 33 页 - - - - - - - - - Java框架面试题总结2011-03-26 作者 : 孙星6 7. 说说 struts是如何实现MVC 的 ?Struts 采用 JSP 作为 MVC 的视图 , 控制器由ActionServlet 和 Action 类来实现 . 控制器负责视图和模型之间的交互. 模型由实现业务逻辑的JavaBean或 EJB 组件构成 , 然后说说 Struts 的工作流程 . 8. Struts优点与缺点Struts 是开源软件,使开发者能更深入的了解其内部实现机制。Struts 优点:业界 标准 (很多成功案例) ,学习资源丰富。Struts 的优点主要集
18、中体现在两个方面:Taglib 和页面导航。a、利用 Struts 提供的 taglib 可以大大节约开发时间。b、维护扩展比较方便。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。c、表现与逻辑分离d、表单验证解决了请求数据的验证问题,增强了系统健壮性。e、便于团队开发Struts 缺点: a、大量的使用标签,对于初学者难度较大。b、ActionForms 使用不便、无法进行单元测试(StrutsTestCase只能用于集成)9 . strust的 Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安全?如果是,说明原因不是 . 为
19、了确保 action 的线程安全 , 最好的办法就是不要在action 里定义实列变量. 10. Tiles框架是什么?Tiles 框架为创建Web 页面提供了一种模板机制,它能将网页的布局和内容分离。11. struts1.x 和 struts 2 的区别本文将从 Struts1 和 Struts2 的各个方面进行比较特征Struts 1 Struts 2 Action类Struts1的 action需要去继承一个抽象基类。一个普遍问题就是Struts1是面向抽象类编程来代替接口编程Struts2的 action可以实现一个Action接口,也可以同时实现一些其他的接口来添置一些附加的,常用
20、的服务。 Struts2提供一个基类 ActionSupport实现了一些常用的接口。虽然Action接口不是必须的。任何附带 execute 方法的POJO对象都可以作为Struts2的action对象。线程模型Struts1的 action是单例的而且必须是线程安全的, 因为该类会只有唯一一个引用来为action处理所有的请求。单例策略会限制Struts1的 action的功能以及需Struts2的 Action对象是针对每一个请求的, 所以自然也就不存在线程安全问题了。(实际上,)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
21、 - 名师精心整理 - - - - - - - 第 6 页,共 33 页 - - - - - - - - - Java框架面试题总结2011-03-26 作者 : 孙星7 要扩展的额外的功能(The singleton strategy places restrictions on what can be done with Struts 1 Actions and requires extra care to develop )。Struts1的 action必须是线程安全的并且是同步的。Servlet的依赖Struts1的 Action依赖于 Servlet API, 因为当 Action
22、被调用的时候HttpServletRequest和HttpServletResponse对象是通过 execute 方法进行处理的。Struts2的 Action和容器的连接并不紧密。通常 servlet上下文被描绘成简单的Map映射,允许Action被单独测试。当然,如果需要的话 Struts2的 Action也可以通过访问初始的request和response 来完成一些功能。 然而,其他的一些架构元素导致降低或者删除了直接访问request和response 的需求。易测试性测试 Struts1的 Action有一个大障碍就是 execute 方法是直接暴露于 servlet API的。
23、Struts2的 Action可以很容易的通过设置属性调用方法来进行测试。 当然依赖注入的支持也使得测试变得简单。输入处理Struts1 使用一个ActionForm 对象来获取用户的输入。 和 action一样,所有的 ActionForm 都必须继承自一个基类。因为其他的javaBean不能被用作 ActionForm , 开发者通常要写一些多余的类来获取用户输入。 DynaBean 可以被用做生成ActionForm 类的一个选择, 但是开发者需要对现有的javaBean 进行重写。Struts2使用 Action属性作为输入属性,除掉了对于输入对象的需求。 输入属性可以是一个拥有他自己
24、的属性的对象。Action属性是通过标签和web页面交互。Struts2也支持 ActionForm 模型,就是 POJO的 Form 对象和 POJO的Action 。多数的对象类型, 包括商业逻辑对象和领域对象都可以作为输入 / 输入对象。模式驱动特征简化了标签和POJO输入对象的关系。表达式语言Struts1和 JSTL 结合,所以他可以使用 JSTL 的 EL。Struts2 也支持 JSTL,但是这个框架也支持更加强大的表达式语言OGNL表现层和类型值的绑定Struts1使用标准的JSP机制将对象绑定到 page context来进行访问。Struts2 使用 ”ValueStack
25、 ”技术,所以标签不用将视图和表现的对象结合就可以得到值.ValueStack 策略允许通过一系列可能具有相同名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 33 页 - - - - - - - - - Java框架面试题总结2011-03-26 作者 : 孙星8 属性名字但是不同属性类型的的类型来完成视图的重用,类型转换Struts1的 ActionForm 通常都是String类型。 Struts1通过Commons-Beanutils 实现类型转换。Struts2使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Java框架面试题总结 2022 Java 框架 试题 总结
限制150内