J2EE学习内容

来源:互联网 发布:js 对象赋值 编辑:程序博客网 时间:2024/06/06 01:11

sturct是一个遵循mvc模式框架得一个具体解决方案,它MVC模式中作为一个很好的控制器,又很好用。但是表现和业务则可以用其他来完成。其他具体框架可以和他组合使用。

hibernate是一个持久层中间件,O/R  Mapping   (对象关系映射框架),,它也可以和其他框架组合使用。而DAO框架,用于数据存取,类似于工厂模式。O/R  Mapping   (对象关系映射框架)其远比DAO的思想复杂.可以实现Hibernate模板存取数据,作为Dao接口的一种实现方式.

j2ee是一系列标准,很多具体框架标准(ejbspringstructjspservlet等等),都用来支持它。ejbspring主要支持j2ee得业务层,而strutsjspservlet主要支持web层。它还有些其他得框架用来支持其他层。(j2ee没有springj2ee标准就是主要针对ejb技术的,ejbspirng都是一个业务层框架,一个具体应用在选择自己的业务层时可以根据具体轻重量级情况选择使用哪个框架,但若使用j2ee标准的话,就要使用ejb,而spring应该也遵循了部分j2ee的标准)

jbossweblogicwebsphere等是应用服务器,它们实现了j2ee得一系列标准,并根据自己得特点实现了具体得某些j2eeapi,对于这些服务器他们还支持其他的标准,以及其他各个层次的框架,如springhibernate等。

j2ee整个工程,其实是分为一些通用功能(例如事务机制、安全机制以及对象池或线程池等性能优化机制)和专业功能(具体得商业逻辑),这些通用功能就由j2ee容器完成(基于aop的思想),而专用功能则由编程人员根据某一规范来完成。业务层容器可以有多种,如ejb容器(j2ee,重量级),spring容易(轻量级),spring容易不支持集群分布式功能。他们都是由应用服务器提供得。所以说jbossweblogicwebsphere等是应用服务器它应该是一个,集成了j2ee的一些api得特定实现和应用服务器功能实现得一个混合体。我们通常仅提到它得应用服务器得功能实现,不太提起它得j2ee得一些api得特定实现。

j2ee是一系列标准,满足他的工程都分为三层,表示层(web层),业务层,数据资源层。j2ee的各种标准都是针对各个层的,有的是这层有的是其他层的。而他没层都有相对独立的实现。例如,在实现web层中我们可以使用比较基础的jspservlet或是一些基于这些基础的半成品框架,如struct等等其他web框架。而在业务层中我们可以根据需要选择合适的ejb或是spring等业务层框架,(有的ejb是轻型的,有的ejb是重型的,spring则是轻型的)。而数据资源层,通常是数据库,这时我们可以选用比较基本的jdbc或是基于它的框架如hibernate等等。j2ee是基于组件的各个层里的实现,他利用框架产生的各个具体代码,都是它的组件是可复用的。(这种三层结构只是一个简单的应用系统,它可以采用j2ee标准来实现,也可以不使用任何公用标准,而是自己模糊认识的一种标准,也可以在任意一层不使用任何框架,而是用各种基础java相关技术来完成,对于一个j2ee框架,它一般分三层,客户端,服务器端,eis端,服务器端是我们开发的重点,它包括web层,业务层,而业务层包括业务数据域-实体bean-实体bean采用域主动方式访问数据,它的bmp可以使用持久层框架,或是采用基础java技术实现,cmp是服务器实现对象关系映射,而业务过程域-会话bean,它负责开发j2ee环境下的业务,对于部分业务放在非j2ee环境中如eis等,我们可以通过jcajmsweb servies来访问,如果是普通bean访问的话就算j2ee环境下的业务了,但是普通bean通常做的业务操作比较简单,复杂的需要其他资源支持的通常要在非j2ee环境下实现或是已经实现了并且在非j2ee环境下,现在要集成,而对于这种情况我们根据同步异步来具体选择使用jcaj'mswebservices哪个来完成。)

而象turbine它是一个轻量级web应用完全框架(注意它不是web框架,它包括mvc的全部,而structs这种web框架仅仅有vc,它的m是由其他来实现的如beanejbspring等)它不是j2ee,它不满足j2ee的标准。在j2ee可能包括分布式处理等等,而turbine'没有,它仅仅是一个简单的web应用,它不满足j2ee的标准。此外由ststrutsspringhibernate不是j2ee,它是一个轻量级的具体应用,而structsbean则更不是j2ee,更轻量级的应用。

 2EJBJAVABEAN的区别?

  答:Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如WebspereWebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件

Struts

Hibernate

Spring

是我们

Java

开发中的常用关键,

他们分别针对不同的应用场景给

出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的

?  

 

我们知道,

传统的

Java Web

应用程序是采用

JSP+Servlet+Javabean

来实现的,

这种模式实现

了最基本的

MVC

分层,使的程序结构分为几层,有负责前台展示的

 

JSP

、负责流程逻辑控

制的

Servlet

以及负责数据封装的

Javabean

。但是这种结构仍然存在问题:如

JSP

页面中需

要使用符号嵌入很多的

 

Java

代码,造成页面结构混乱,

Servlet

Javabean

负责了大量的跳

转和运算工作,耦合紧密,程序复用度低等等。

  

 

Struts  

 

为了解决这些问题,出现了

Struts

框架,它是一个完美的

MVC

实现,它有一个中央控制类

(

一个

 

Servlet)

,针对不同的业务,我们需要一个

Action

类负责页面跳转和后台逻辑运算,

一个或几个

JSP

页面负责数据的输入和输出显示,

还有一个

 

Form

类负责传递

Action

JSP

中间的数据。

JSP

中可以使用

Struts

框架提供的一组标签,就像使用

HTML

标签一样简单,

但是可以完成非常复杂的逻辑。从此

JSP

页面中不需要出现一行包围的

Java

代码了。

  

 

可是所有的运算逻辑都放在

Struts

Action

里将使得

 

Action

类复用度低和逻辑混乱,所以

通常人们会把整个

Web

应用程序分为三层,

Struts

负责显示层,

它调用业务层完成运算逻辑,

业务层再调用持久层完成数据库的读写。

  

 

使用

JDBC

连接来读写数据库,我们最常见的就是打开数据库连接、使用复杂的

SQL

语句

进行读写、

关闭连接,

获得的数据又需要转换或封装后往外传,

这是一个非常烦琐的过程。

  

 

Hibernate  

 

这时出现了

 

Hibernate

框架,它需要你创建一系列的持久化类,每个类的属性都可以简单的

看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。

当我们需要相关操作是,

不用再关注数据库表。

我们不用再去一行行的查询数据库,

只需要

持久化类就可以完成增删改查的功能。

使我们的软件开发真正面向对象,

而不是面向混乱的

代码。我的感受是,使用

Hibernate

JDBC

方式减少了

80%

的编程量。

  

 

现在我们有三个层了,可是每层之间的调用是怎样的呢

?

比如显示层的

Struts

需要调用一个

业务类,就需要

new

一个业务类出来,然后使用

;

业务层需要调用持久层的类,也需要

new

一个持久层类出来用。通过这种

new

的方式互相调用就是软件开发中最糟糕设计的体现。

简单的说,

就是调用者依赖被调用者,

它们之间形成了强耦合,

如果我想在其他地方复用某

个类,则这个类依赖的其他类也需要包含。程序就变得很混乱,每个类互相依赖互相调用,

复用度极低。如果一个类做了修改,则依赖它的很多类都会受到牵连。

 

为此,出现

Spring

框架。

  

 

Spring  

 

Spring

的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。

至于如何实现这个接口,

这都不重要了。

只要拿到一个实现了这个接口的类,

就可以轻松的

通过

xml

配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完

全通过配置文件的方式替代了。

所以

 

Spring

框架最核心的就是所谓的依赖注射和控制反转。

  

 

现在的结构是,

Struts

负责显示层(表示层或web层),

Hibernate

负责持久层(数据层),

Spring和ejb

负责中间的业务层,这个

结构是目前国内最流行的

Java Web

应用程序架构了。另外,由于

Spring

使用的依赖注射以

AOP(

面向方面编程

)

,所以它的这种内部模式非常优秀,以至于

Spring

自己也实现了一

个使用依赖注射的

MVC

框架,叫做

Spring 

MVC

,同时为了很好的处理事物,

Spring

集成

Hibernate

,使事物管理从

Hibernate

的持久层提升到了业务层,使用更加方便和强大。

  

 

Struts

框架是

2000

年就开始起步了,

到目前已经发展了

5

年,

技术相当成熟,

目前全球

Java

开发中

Struts

框架是显示层技术中当之无愧的王者。它拥有大量的用户群和很好的开发团

队。这也是国内大部分

Java

软件公司对新进员工的基本要求。

  

 

其他

  

 

Java

这个名词似乎注定和开源紧密联系在一起了,在

Java

界,每天都有大量的开源技术出

现,

由于是开放源代码的,

技术中存在的问题和不足很快就会被人发现,

开源软件提供者会

很快的修正或扩展这些技术,因此版本更新很快,几个星期或者几天就有一个新版本出来。

 

 

当我们在技术线路中选择了

Java

也就选择了你必须持续学习,

经常关注最新的技术,

了解

它们,看是否适合你的需要,然后学习使用它们。

  

 

你应该掌握的

Java

技术

  

 

Java

基础:

  

 

Java

原理和使用,包括基本的语言、语法知识和

API  

 

JSP+Servlet

Java Web

开发的基础

  

 

服务器:

  

 

WebLogic

的原理、使用和配置

  

 

Tomcat

:轻量的

 

JavaWeb

容器,和

WebLogic

功能类似,使用简单、方便、免费、开源,

但不支持

EJB  

 

JBoss

:类似于

Tomcat

,功能更强,支持

EJB  

 

这三种应用服务器至少掌握其中的一种是很必要的。

  

 

框架:

  

 

Struts

Spring

Hibernate  

 

Tapestry

:这是一个新的

MVC

框架,使用组件式开发,是显示层技术的发展趋势。

  

 

Flex

Laszlo

:新的显示层技术,支持富客户端应用,是目前的较前沿的显示技术。

  

 

EJB 

EJB

的全称是

Enterprise JavaBeans

,是

Java

中的商业应用组件技术。

  

 

Java Web

开发周边技术:

  

 

HTML

Javascript

CSS

XML

XSLT

,这些是开发中经常使用到的,应该熟练掌握。

  

 

开发工具:

  

 

Dreamweaver

sturct

是一个遵循

mvc

模式框架得一个具体解决方案,

MVC

模式中作为一个很好的控制器,

又很好用。但是表现和业务则可以用其他来完成

 

。其他具体框架可以和他组合使用。

 

hibernate

是一个持久层中间件,

O/R 

  

Mapping 

  

(

对象关系映射框架

)

,,它也可以和其

他框架组合使用。而

DAO

框架

,

用于数据存取

,

类似于工厂模式。

O/R 

  

Mapping 

  

(

对象关

系映射框架

)

其远比

DAO

的思想复杂

.

可以实现

Hibernate

模板存取数据

,

作为

Dao

接口的一

种实现方式

j2ee

是一系列标准,很多具体框架标准(

ejb

spring

struct

jsp

servlet

等等),都用

来支持它。

ejb

spring

主要支持

j2ee

得业务层,

struts

jsp

servlet

主要支持

web

层。

它还有些其他得框架用来支持其他层。(

j2ee

没有

spring

j2ee

标准就是主要针对

ejb

术的,

ejb

spirng

都是一个业务层框架,

一个具体应用在选择自己的业务层时可以根据具

体轻重量级情况选择使用哪个框架,但若使用

j2ee

标准的话,就要使用

ejb

,而

spring

该也遵循了部分

j2ee

的标准)

sturct

是一个遵循

mvc

模式框架得一个具体解决方案,

MVC

模式中作为一个很好的控制器,

又很好用。但是表现和业务则可以用其他来完成

 

。其他具体框架可以和他组合使用。

 

hibernate

是一个持久层中间件,

O/R 

  

Mapping 

  

(

对象关系映射框架

)

,,它也可以和其

他框架组合使用。而

DAO

框架

,

用于数据存取

,

类似于工厂模式。

O/R 

  

Mapping 

  

(

对象关

系映射框架

)

其远比

DAO

的思想复杂

.

可以实现

Hibernate

模板存取数据

,

作为

Dao

接口的一

种实现方式

j2ee

是一系列标准,很多具体框架标准(

ejb

spring

struct

jsp

servlet

等等),都用

来支持它。

ejb

spring

主要支持

j2ee

得业务层,

struts

jsp

servlet

主要支持

web

层。

它还有些其他得框架用来支持其他层。(

j2ee

没有

spring

j2ee

标准就是主要针对

ejb

术的,

ejb

spirng

都是一个业务层框架,

一个具体应用在选择自己的业务层时可以根据具

体轻重量级情况选择使用哪个框架,但若使用

j2ee

标准的话,就要使用

ejb

,而

spring

该也遵循了部分

j2ee

的标准)

sturct是一个遵循mvc模式框架得一个具体解决方案,它MVC模式中作为一个很好的控制器,又很好用。但是表现和业务则可以用其他来完成。其他具体框架可以和他组合使用。

hibernate是一个持久层中间件,O/R  Mapping   (对象关系映射框架),,它也可以和其他框架组合使用。而DAO框架,用于数据存取,类似于工厂模式。O/R  Mapping   (对象关系映射框架)其远比DAO的思想复杂.可以实现Hibernate模板存取数据,作为Dao接口的一种实现方式.

j2ee是一系列标准,很多具体框架标准(ejbspringstructjspservlet等等),都用来支持它。ejbspring主要支持j2ee得业务层,而strutsjspservlet主要支持web层。它还有些其他得框架用来支持其他层。(j2ee没有springj2ee标准就是主要针对ejb技术的,ejbspirng都是一个业务层框架,一个具体应用在选择自己的业务层时可以根据具体轻重量级情况选择使用哪个框架,但若使用j2ee标准的话,就要使用ejb,而spring应该也遵循了部分j2ee的标准)

jbossweblogicwebsphere等是应用服务器,它们实现了j2ee得一系列标准,并根据自己得特点实现了具体得某些j2eeapi,对于这些服务器他们还支持其他的标准,以及其他各个层次的框架,如springhibernate等。

j2ee整个工程,其实是分为一些通用功能(例如事务机制、安全机制以及对象池或线程池等性能优化机制)和专业功能(具体得商业逻辑),这些通用功能就由j2ee容器完成(基于aop的思想),而专用功能则由编程人员根据某一规范来完成。业务层容器可以有多种,如ejb容器(j2ee,重量级),spring容易(轻量级),spring容易不支持集群分布式功能。他们都是由应用服务器提供得。所以说jbossweblogicwebsphere等是应用服务器它应该是一个,集成了j2ee的一些api得特定实现和应用服务器功能实现得一个混合体。我们通常仅提到它得应用服务器得功能实现,不太提起它得j2ee得一些api得特定实现。

j2ee是一系列标准,满足他的工程都分为三层,表示层(web层),业务层,数据资源层。j2ee的各种标准都是针对各个层的,有的是这层有的是其他层的。而他没层都有相对独立的实现。例如,在实现web层中我们可以使用比较基础的jspservlet或是一些基于这些基础的半成品框架,如struct等等其他web框架。而在业务层中我们可以根据需要选择合适的ejb或是spring等业务层框架,(有的ejb是轻型的,有的ejb是重型的,spring则是轻型的)。而数据资源层,通常是数据库,这时我们可以选用比较基本的jdbc或是基于它的框架如hibernate等等。j2ee是基于组件的各个层里的实现,他利用框架产生的各个具体代码,都是它的组件是可复用的。(这种三层结构只是一个简单的应用系统,它可以采用j2ee标准来实现,也可以不使用任何公用标准,而是自己模糊认识的一种标准,也可以在任意一层不使用任何框架,而是用各种基础java相关技术来完成,对于一个j2ee框架,它一般分三层,客户端,服务器端,eis端,服务器端是我们开发的重点,它包括web层,业务层,而业务层包括业务数据域-实体bean-实体bean采用域主动方式访问数据,它的bmp可以使用持久层框架,或是采用基础java技术实现,cmp是服务器实现对象关系映射,而业务过程域-会话bean,它负责开发j2ee环境下的业务,对于部分业务放在非j2ee环境中如eis等,我们可以通过jcajmsweb servies来访问,如果是普通bean访问的话就算j2ee环境下的业务了,但是普通bean通常做的业务操作比较简单,复杂的需要其他资源支持的通常要在非j2ee环境下实现或是已经实现了并且在非j2ee环境下,现在要集成,而对于这种情况我们根据同步异步来具体选择使用jcaj'mswebservices哪个来完成。)

而象turbine它是一个轻量级web应用完全框架(注意它不是web框架,它包括mvc的全部,而structs这种web框架仅仅有vc,它的m是由其他来实现的如beanejbspring等)它不是j2ee,它不满足j2ee的标准。在j2ee可能包括分布式处理等等,而turbine'没有,它仅仅是一个简单的web应用,它不满足j2ee的标准。此外由ststrutsspringhibernate不是j2ee,它是一个轻量级的具体应用,而structsbean则更不是j2ee,更轻量级的应用。

 2EJBJAVABEAN的区别?

  答:Java Bean是可复用的组件,对JavaBean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于JavaBean是被容器所创建(Tomcat)的,所以JavaBean应具有一个无参的构造器,另外,通常JavaBean还要实现Serializable接口用于实现Bean的持久性。JavaBean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。EnterpriseJava Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如WebspereWebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件

 


Eclipse

Jbuilder

PL/SQL  

 

数据库:

  

 

Oracle

必须会用、

 

SQLServer

掌握、

MySQL

可以在自己学习时使用。

DB2

那种东西就不

要学了,国内太少使用了。

  

 

软件工程:

  

 

◆可以理解

UML

设计和使用

UML

进行简单设计。