软件工程师面试题(含答案) (三).pdf
一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使
用?
答:
MVC设计模(应用观察者模的框架模)
M:Model(Businessprocesslayer),模型,操作数据的业务处理层,并独立于表现层(Independent
ofpresentation)o
V:View(Presentationlayer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。
C:Controller(Controllayer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受
视图层发出的事件,并重绘视图
MVC框架的一种实现模型
模型二(Servlet-centric):
SP+Servlet+avaBean,以控制为核心,SP只负责显示和收集数据,Sevlel,连接视图和模
型,将视图层数据,发送给模型层,avaBean,分为业务类和数据实体,业务类处理业务数
据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模。
StrutsMVC框架(Webapplicationframeworks)
Struts是使用MVC的实现模二来实现的,也就是以控制器为核心。
Struts提供了一些组件使用MVC开发应用程序:
Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以avaBean
或EB的形提供
View:Struts提供了actionform创建formbean,用于在controller和view间传输数据。此外,
Struts提供了自定义SP标签库,辅助开发者用SP创建交互的以表单为基础的应用程序,
应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于5P中。
Controller:Struts提供了一个核心的控制器ActionServlel,通过这个核心的控制器来调用其
他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规
范,还需要在struts-config.xml的特定配置文件中进行配置,接收SP输入字段形成Action
form,然后调用一个Action控制器。Action控制制中提供了model的逻辑接口。
二、什么是WebService?
答:
WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依敕于平
台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交
互。
WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL
(web服务定义语言)/SOAP(简单请求协议)规范的。
WebService=WSDL+SOAP+UDDI(webservice的注册)
Soap是由So叩的part和0个或多个附件组成,•般只有part,在part中有Envelope和
Body。
WebService是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。
WebService的优点
1()可以让异构的程序相互访问(跨平台)
2()松耦合
3()基于标准协议(通用语言,允许其他程序访问)
WebService的基本原理
I()ServiceProvider采用WSDL描述服务
2()ServiceProvider采用UDDI将服务的描述文件发布到UDDI服务器R(egisterserver)
3()ServiceRequestor在UD