面试必问问题?
1.谈谈你对MVC和三层架构的理解?
2.谈谈你对struts工作流程的理解?
3.谈谈你对spring IOC和AOP的理解?
4.谈谈你对hibernate及O/R Mapping的理解?
大家都谈谈自己的理解,参考一下啊!
------解决方案--------------------
对于界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制三种部件。
模型部件是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和I/O操作。
视图部件把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。
控制部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图具有一个控制器。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。
------解决方案--------------------
现丑了我所理解的是这样,有不足的地方请大侠们指教...
1.mvc是经典的web开发模型.m模型层主要进行程序的业务处理,v视图层负责将程序需要显示给客户的数据在浏览器显示.c控制层接收浏览器发送的请求调用m层组件进行业务处理,将处理完后结果返回到v浏览器.
2.struts是经典的mvc模型的封装web框架.在浏览器客户发送请求到服务器ActionServlet(struts核心处理器)接收到请求,读取struts-cofig.xml配置文件找到对应的frombean类接收客户端发送过来的参数进行封装.然后找到对应的action类进行业务处理.action调用javabean业务组件处理请求,处理完成后action负责将处理结果返回到客户端浏览器.
3.spring IOC(控制反转)
通过spring xml配置文件 将javabean类,和其他的java类配置到配置文件中
通过标签配置当需要用到这些类时 不需要通过new来得到类的实例,只需要通过spring来得到类的实例.
AOP(面向切面编程)
在不改变程序运行效果前提下,往java类中添加自己想要了解程序运行的情况.
4.hibernate是数据持久化的一种技术.
是ORM对象-关系-映射一种技术.hibernate实现了java的一个类对应数据库中一张表的功能,操作java类就改变了数据库表里的数据记录.提供了强大的对数据库操作的能力,封装好对数据库表操作的方法,不需要编写sql语句.就可以对数据库表记录进行增加, 修改 ,删除.提供了强大的数据检索能力.