参考答案:
【问题1】
MVC架构包含:视图、控制器、模型
视图(View):视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。
控制器(Controller):控制器接受用户的输入并调用模型和视图去完成用户的需求。该部分是用户界面与Model的接口。一方面它解释来自于视图的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为对模型特定方法的调用;另一方面,它处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。
模型(Model):模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。
(1)JSP (2)Servlet (3)JavaBean (4)Service (5)DAO
【问题2】
EJB中的Bean分三种类型:Session Bean、Entity Bean 和 Message-Driven Bean。
Session Bean的职责是:维护一个短暂的会话。
Entity Bean 的职责是:维护一行持久稳固的数据。
Message-Driven Bean的职责是:异步接受消息。
【问题3】
有状态:(a)、(d)
无状态:(b)、(c)、(e)
详细解析:
(1) 控制器(Controller):控制器接受用户的输入并调用模型和视图去完成用户的需求。该部分是用户界面与Model的接口。一方面它解释来自于视图的输入,将其解释成为系统能够理解的对象,同时它也识别用户动作,并将其解释为对模型特定方法的调用;另一方面,它处理来自于模型的事件和模型逻辑执行的结果,调用适当的视图为用户提供反馈。
(2) 模型(Model):模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
(3) 视图(View):视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
Session Bean 描述了与客户端的一个短暂的会话。当客户端的执行完成后,Session Bean 和它的数据都将消失;
Entity Bean 描述了存储在数据库表中的一行持久稳固的数据,如果客户端终止或者服务结束,底层的服务会负责 Entity Bean 数据的存储。
Message-Driven Bean 结合了 Session Bean 和 Java信息服务(JMS)信息监听者的功能,它允许一个商业组件异步地接受JMS消息。
【问题3】
本题考查考生对Java EE架构中会话构件(Session Bean)的掌握情况。
会话构件负责维护客户端与服务端的交互状态,按照是否跨方法调用保存客户端与服务端的交互状态可以分为有状态(Stateful)会话构件和无状态(Stateless)会话构件,前者在交互过程中需要保存客户端与服务端交互的中间状态数据,一般在实现类中有自身的属性用于存储中间状态数据,无状态会话构件则不需要保存客户端与服务端的交互状态数据,客户端每次发起的请求相互独立,不会对服务端状态产生影响,因此服务端类不需要保存中间状态数据。身份认证构件完成初次身份认证后需要在服务端记录客户端的身份信息,在线编辑构件需要在操作过程中记录前一次编辑的操作结果,所以两者需要设计为有状态会话构件。资源发布、资源检索和统计分析构件对客户端多次请求均保持一致的处理过程和结果,所以应设计为无状态会话构件。