【Java学习】----如何映射JavaEE到MVC

来源:互联网 发布:ubuntu 16.04密码忘了 编辑:程序博客网 时间:2024/05/15 14:26

前言

    最近小编在学习有关J2EE的相关知识,在学习这部分知识的时候,小编一直处于一种很懵的状态,它是一种纯理论的学习,在小编学习到“怎样映射J2EE到MVC”的时候,这个时候小编来了兴趣,因为原来接触过MVC,所以现在J2EE和MVC的结合,可以很好的理解J2EE,新旧知识相结合,完胜。下面咱们一起看一下两者之间是如何连接的吧。

叙述

 MVC体系结构

    MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式。在MVC体系中,模型通常被称为“业务逻辑”,是真正完成任务的代码。视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型.在MVC中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。
MVC是Model-View-Controller的简写。

通过图片来具体的了解一下MVC。
   



    最典型的MVC就是JSP + servlet + javabean的模式。 M代表业务逻辑层(通过JavaBean,EJB组件实现),V是视图层(由JSP页面产生),C属于控制层(一般可以用基础的Servlet实现,也可用Struts等开源框架实现)

J2EE的主要技术包括JSP,Servlet等。


J2EE体系结构:


EJB:是MVC中的M(模型)。模型是业务数据(状态)和服务(行为)的表示。EJB是提供访问数据的机制。用于业务逻辑和数据。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,是JavaEE服务器端组件模型。定义了一个用于开发基于组件的企业多重应用程序的标准。

EJB:  J2EE 对于这个问题的处理方法是将业务逻辑从客户端软件中抽取出来,封装在一个组
件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实
现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果。在J2EE 中,
这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB(Enterprise Java
Bean)组件。


JSP:是MVC中的V(视图)。视图抽象数据表示。JSP是HTML模板文件,为添加动态内容提供了多种机制。JSP的特性为编写MVC视图提供了基础。


JSP:JSP的外在表现形式就是把Java的代码嵌入到html的页面中,但是html的标签只要在浏览器里就可以被解析出来,但嵌入的Java(脚本)怎么能够运行起来呢,因此就需要服务端(Servlet容器)的支持。JSP能够被执行基本分成这么几个步骤:
(1)、 JSP页面要被容器转换成一个Java类(Java源代码,如图2所示)。Java的类(class)基本上只要学过java基本知识的都能够知道,写一个java程序必须写一个类,而我们的JSP也是一样要从一个页面转换成Java类,这就是JSP的本质了,就是一个Java类。
(2)、 JSP转换成Java类需要编译成一个字节码文件。这一点只要学过Java基本知识的同样能够理解,Java的源代码需要编译,形成一个后缀为class的文件(Java字节码文件)。
(3)、 字节码文件需要被虚拟机加载到内存中解释运行。运行这个字节码文件就会向客户端(浏览器)发送html标签(图3),留言器一边接收服务端发送过来的html标签,一边解析最终形成一个完整的页面内容,这个是JSP转换成的那个类(class)的主要工作,就是向客户端输出html标签,这也是为什么MVC中JSP作为视图的原因。

Servlet:是MVC中的C(控制器)。控制器抽象了用户的相互。响应用户请求,控制视图的使用选择。


Servlet:Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然servlet可以对任何类型的请求产生响应,但通常只用来动态扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类,它相当于一个控制器。

小结

     新知识与旧知识联系起来,构建自己的知识网。