对J2EE的概念和MVC架构的理解

来源:互联网 发布:锐捷交换机查看mac表 编辑:程序博客网 时间:2024/05/01 19:35
最近看了一些JSP相关的书,当中就免不了涉及些J2EE的内容,写点东西纪录一下。


J2EE是一个可以用来创建分布式的、基于组件的、多层的服务器应用程序设计环境和框架规范。它提供了应用的一个运行基础框架和创建应用的Java扩展API。

组成J2EE的扩展API及其含义:

JavaServer Pages (JSP)

主要用来产生动态网页内容,在传统网页中加入Java程序片段和JSP标签,构成JSP网页。它是在服务器端收到客户端发出的请求,执行程序片段,然后将执行结果以HTML格式响应给客户端。执行的程序片段可以是:操作数据库或重定向网页等。

 

Java Servlets

Servlet技术早于JSP技术,它好比一个微小的Web ServerServlet API是专门设计来帮助Java开发人员创建动态应用的,但其输出网页的操作过于复杂。

但是将JSPServlet很好的结合起来使用,形成了J2EE Web应用程序的表示层,而其它技术(例如:企业级JavaBean,即EJB)则构成逻辑和数据层。

 

Enterprise JavaBean (EJB)

EJBJ2EE中的一个重要组件,它是一个框架,可以被用来创建应用于应用程序服务器内部的服务器端组件。JavaBean开发人员使用EJB可以不用担心系统级的一些特性,例如安全问题,事物处理等,这是因为支持J2EE的应用程序服务器都必须提供这样的特性。所以JavaBean开发人员可以把精力集中在编写JavaBean上。

 

Java Naming and Directory Interface (JNDI)

 

JavaMail

 

Java Message Service (JMS)

 

Java Transaction API (JTA)

 

JavaIDL

 

JDBC

JDBC是使Java应用程序可以从关系数据库中获取数据,并向关系数据库中存放数据所提供的方法。利用JDBC API,就可以使用同一种语法访问不同的关系数据库。

其中有些作了解释,因为会用到,其他一些可能暂时还用不到。

因为一般开发这样的系统也就用到JSPServletJavaBean(包括EJB)JDBC。



另外还想说一说的就是MVC。

Java开发应用程序,通常可以分为Model1Model2两种设计模式。

因为JSP开发十分简单,因此以JSP为中心的设计模式被称为Model1。这种方式还可以分为两种(具体情况见后面的说明),一种是完全使用JSP来开发,另一种则是使用JSP+JavaBean的方式来开发。

       俗称的Model2就是采用MVC架构的开发模式。MVCModel-View-Controller的缩写。Model代表的是应用程序的业务逻辑(通过JavaBeanEJB等组件实现),View是系统的显示层(使用JSP输出HTML,Controller是提供应用程序的处理过程控制(通常是Servlet)。MVC并不是新的概念,80年代就开始使用这个概念来设计应用程序,网络的普及使得这种设计模式更加完善。


Model1

第一种:纯粹使用JSP开发系统

当一个用户发送请求到服务器端,就是由JSP来接收并处理,接着执行结果并响应到客户端。

浏览器

Browser

客户端

(Client)

JSP

 请求

Request

 响应

Response

服务器端

(Server)


此方式存在不少缺点,程序可读性很低,因为程序代码与网页标签混合在一起,增加了维护上的困难程度;程序的重复利用性能低,在不同的JSP文件中会找到很多相同的程序代码,当业务逻辑修改时,需要修改所有相关的JSP文件。

第二种:使用JSP+JavaBean开发系统

利用JavaBean封装一些可重用组件,当客户端发送一个请求时,通过JSP来调用JavaBean负责相关数据存取、逻辑运算等事务,最后将结果传回JSP显示结果。

此方式将程序代码用JavaBean实现,不但增加了可读性,也增加了重复利用的性能。但是这种方式缺乏流程控制,造成每一个JSP都要验证请求的参数正确度、确认用户的身份权限、异常发生的处理等。

Model2

俗称的Model2就是采用MVC架构的开发模式。

此方式使开发流程更为明确,增加了Controller控制流程,减少了JSP撰写过多逻辑的条件判断,并且整个系统也变得容易维护和扩展。