background image

   Java 软件工程师面试

一、你对 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 的形式提供

View:Struts 提供了 action form 创建 form bean, 用于在 controller 和
view 间传输数据。此外,Struts 提供了自定义 JSP 标签库,辅助开发者用 JSP
创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本
常量和错误消息,可转变为其它语言,可用于 JSP 中。

Controller:Struts 提供了一个核心的控制器 ActionServlet,通过这个核心
的控制器来调用其他用户注册了的自定义的控制器 Action,自定义 Action 需
要符合 Struts 的自定义 Action 规范,还需要在 struts-config.xml 的特定配
置文件中进行配置,接收 JSP 输入字段形成 Action form,然后调用一个
Action 控制器。Action 控制器中提供了 model 的逻辑接口。

二、什么是 WebService
  答:
 WebService 是一个 SOA(面向服务的编程)的架构,它是不依赖于语言,