Java面试题

发表于:2011-1-04 10:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:有名太累,无名轻松(cn    来源:51Testing软件测试网采编

#
java
#
JAVA
#
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(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。

  WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web服务定义语言)/SOAP(简单请求协议)规范的。

  WebService=WSDL+SOAP+UDDI(webservice的注册)

  Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。

  Web Service的优点

  (1) 可以让异构的程序相互访问(跨平台);(2) 松耦合; (3) 基于标准协议(通用语言,允许其他程序访问)

  Web Service的基本原理

  (1) Service Provider采用WSDL描述服务|

  (2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server

  (3) Service Requestor在UDDI服务器上查询并 获取WSDL文件

  (4) Service requestor将请求绑定到SOAP,并访问相应的服务。

  三、什么是中间件?

  中间件就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。

  中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号