J2EE学习小结:

来源:互联网 发布:浙江省基层网络直报 编辑:程序博客网 时间:2024/04/30 19:36

J2EE是一个大的规范,类似于xml文件有个规范,在此规范下有很多的框架,这些框架分别可以对于不同的实现进行规范。.NET是把框架做好了,API实现了,使用者直接调用即可。用html文件和xml文件的区别来比喻.NETJ2EE道理相似。

比如,要使用J2EE实现一个登录网站的这个功能,要进行如下步骤:

 

1、需要使用的技术(概念)

JSP(页面处理),servlet(响应页面请求)、JDBC(连接数据库)、JMS(消息处理)、EJB(程序控制)、(容器,不需要程序员进行干预,但是是实现功能中用到 ,比如EJB容器管理等)

2、  开发步骤:

      J2EE规范下编写接口定义,该接口定义继承J2EE下的接口。

      编写接口,继承上面的接口定义

      编写方法定义,无实现

      编写部署文件,声明编写的接口

      编写实现类,该实现类继承接口,并实现方法

      编译、运行。

 

小结:

目前,J2EE13个规范已经学习了:JDBC, JNDI, EJBS, RMI, JSP, JAVA SERVLETS, XML, JMS, JTA这十个。另外对于设计模式、MVCWeblogic serverAnt、企业应用也进行了学习了解。穿插在这些概念中的一个重要概念是:容器。经常提到容器管理,这个容器是什么?应用服务管理器,是J2EE中容器的标准定义,但是什么是应用服务管理器哩?说不清。以后用了就知道了,有点像当年的曹祖圣讲.NET的感觉,内容很多,可是没有实际操作,无法把J2EE这个大象的真实面目尽收眼底。

 

现在再看J2EE体系结构,似乎有点思路了;

 

MVC):为什么叫MVC不叫VCM呢?

表示层:处理与客户打交道的业务,发送客户的请求

业务逻辑层:对页面发送的请求进行处理,负责页面与数据处理的中间承接。

企业信息系统层(数据处理层):对数据进行处理,将结果返回给业务逻辑层。

 

其中几个概念:容器、JspServletJavabeanEJB

一、容器:

二、Jsp Servlet

首先sun提出的是Servlet体系,这个体系使得使用JAVA的程序员也能开发基于B/S架构的WEB应用程序,使用Servlet类将HTTP请求和响应封装在标准JAVA类中来实现各种WEB应用方案。

 

发现Servlet类的编写是非常繁琐的,主要集中在几个问题上:首先有大量冗余代码,这些代码在每个servlet类中都是一模一样或者基本近似的,其次是开发Servlet的程序员很少有精通美工的,导致使用Servlet开发无法方便的做到各种页面效果和丰富多彩的风格,这个时候sun借鉴了微软的ASP方式,正式提出JSP(也就是Servlet 1.1),JSP推出后,JAVA程序员也能象ASP的程序员那样将服务端代码添加在已经由美工设计好的静态页面上,经过一个JSP容器对JSP文件进行自动解析并转换成Servlet类来交给WEB服务器运行。

随着JSP的广泛应用和各种设计模式的盛行,人们发现JSP也暴露了大量的问题:首先,夹杂服务端代码的JSP文件给后期维护和页面风格再设计带来大量阻碍,美工在修改页面的时候不得不面对大量看不懂的服务端代码,程序员在修改逻辑的时候经常会被复杂的客户端代码搞昏。交叉的工作流使得JSP面临大量的困境。

 

参考网址:

http://zhidao.baidu.com/question/40390588

 

三、EJBEJB组件:

EJB是一个规范,存在形式是文档;EJB组件是一个具体的Java类。

EJB组件不同于普通的Java类,开发时只需要定义一个封装业务逻辑的类文件就可以了。而开发一个JB组件,除了定义一个封装业务逻辑的类以外,还要顶以供客户端访问的远程接口(Remote Interface)级内部接口,当部署EJB组件到应用服务器时,还要定义相应的部署描述符。

 

EJB (Enterprise JavaBean)J2EE的一部分,定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK) J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话BeanSession Bean),实体BeanEntity Bean)和消息驱动BeanMessageDriven Bean)。

 

1.Session Bean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当客户端请求时,容器就会选择一个Session

Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。

2.Entity Bean是域模型对象,用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。

3.MessageDriven BeanEJB2.0中引入的新的企业Bean,它基于JMS消息,只能接收客户端发送的JMS消息然后处理。MDB实际上是一个异步的无状态Session Bean,客户端调用MDB后无需等待,立刻返回,MDB将异步处理客户请求。这适合于需要异步处理请求的场合,比如订单处理,这样就能避免客户端长时间的等待一个方法调用直到返回结果。

 

参考网址:http://baike.baidu.com/view/3542.htm