JAVA编程:怎样开辟一个高质量的J2EE体系(初学者)仓酷云
多谢指点,其实我对.net网页编程和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。J2EE进修者愈来愈多,J2EE自己手艺不休在开展,出现出各类观点,本文章试图从一种简单了解的角度对这些观点向初学者举行注释,以便把握进修J2EE进修偏向。起首我们必要晓得Java和J2EE是两个分歧观点,Java不但是指一种言语,已代表与微软分歧的别的一个伟大阵营,以是Java偶然是指一种软件体系的派别,固然今朝次要是.NET和Java两年夜支流系统。
J2EE能够说指Java在数据库信息体系上完成,数据库信息体系从初期的dBase、到Delphi/VB等C/S布局,开展到B/S(Browser扫瞄器/Server服务器)布局,而J2EE次要是指B/S布局的完成。
J2EE又是一种框架和尺度,框架相似API、库的观点,可是要超越它们。假如必要具体懂得框架,可先从计划形式入手下手进修。
J2EE是一个虚的年夜的观点,J2EE尺度次要有三种子手艺尺度:WEB手艺、EJB手艺和JMS,谈到J2EE应当说终极要落实到这三个子观点上。
这三种手艺的每一个手艺在使用时都触及两个部分:容器部分和使用部分,Web容器也是指Jsp/Servlet容器,你假如要开辟一个Web使用,不管是编译或运转,都必需要有Jsp/Servlet库或API撑持(除JDK/J2SE之外)。
Web手艺中除Jsp/Servlet手艺外,还必要JavaBeans或JavaClass完成一些功效大概包装照顾数据,以是Web手艺最后赤身简称为Jsp/Servlet+JavaBeans体系。
谈到JavaBeans手艺,就触及到组件构件手艺(component),这是Java的中心基本部分,良多软件计划观点(计划形式)都是经由过程JavaBeans完成的。
JavaBeans不属于J2EE观点范围中,假如一个JavaBeans对象被Web手艺(也就是Jsp/Servlet)挪用,那末JavaBeans就运转在J2EE的Web容器中;假如它被EJB挪用,它就运转在EJB容器中。
EJB(企业JavaBeans)是一般JavaBeans的一种提拔和标准,由于企业信息体系开辟中必要一个可伸缩的功能和事件、平安机制,如许能包管企业体系光滑开展,而不是开展到一种范围从头改换一套软件体系。
至此,JavaBeans组件开展到EJB后,并非说之前的那种JavaBeans情势就消散了,这就天然构成了两种JavaBeans手艺:EJB和POJO,POJO完整分歧于EJB观点,指的是一般JavaBeans,并且这个JavaBeans不依靠某种框架,大概爽性能够说:这个JavaBeans是你为这个使用程序独自开辟创立的。
J2EE使用体系开辟工具有良多:如JBuilder、Eclipse等,这些IDE起首是Java开辟工具,也就是说,它们主要基础功效是能够开辟出JavaBeans或Javaclass,可是假如要开辟出J2EE体系,就要落实到要末是Web手艺或EJB手艺,那末就有大概要一些专门模块功效(如eclipse必要lomboz插件),最主要的是,由于J2EE体系辨别为容器和使用两个部分,以是,在任何开辟工具中开辟J2EE都必要指定J2EE容器。
J2EE容器分为WEB容器和EJB容器,Tomcat/Resin是Web容器;JBoss是EJB容器+Web容器等,个中Web容器间接利用Tomcat完成的。以是你开辟的Web使用程序能够在下面两种容器运转,而你开辟的Web+EJB使用则只能够在JBoss服务器上运转,贸易产物Websphere/Weblogic等和JBoss属于统一种性子。
J2EE容器也称为J2EE服务器,年夜部分时它们观点是分歧的。
假如你的J2EE使用体系的数据库毗连是经由过程JNDI取得,也就是说是沉着器中取得,那末你的J2EE使用体系基础与数据库有关,假如你在你的J2EE使用体系耦合了数据库JDBC驱动的设置,那末你的J2EE使用体系就无数据库观点色采,作为一个成熟必要推行的J2EE使用体系,不保举和详细数据库耦合,固然这个中怎样包管J2EE使用体系运转功能又是表现你的计划程度了。
权衡J2EE使用体系计划开辟程度上下的尺度就是:解耦性;你的使用体系各个功效是不是可以完全离开?是不是不互相依附,也只要如许,才干表现可保护性、可拓展性的软件计划方针。
为了到达这个目标,出生各类框架观点,J2EE框架尺度将一个体系分别为WEB和EJB次要部分,固然我们偶然不是以这个详细手艺辨别,而是从计划上笼统为体现层、服务层和耐久层,这三个条理从一个高度将J2EE分别开来,完成解耦目标。
因而,我们实践编程中,也要将本人的功效向这三个条理上靠,做到小气向分明,泾渭明白,可是没有手艺上束缚限定要做到这点是很不简单的,因而我们仍是必需借助J2EE详细手艺来完成,这时候,你可使用EJB标准完成服务层和耐久层,Web手艺完成体现层;
EJB为何能将服务层从Jsp/Servlet手平分离出来,由于它对JavaBeans编码有强迫的束缚,如今有一种对JavaBeans弱束缚,利用Ioc形式完成的(固然EJB3.0也接纳这类体例),在Ioc形式出生前,一样平常都是经由过程工场形式来对JavaBeans束缚,构成一个服务层,这也是是Jive如许开源论坛计划道理之一。
由此,将服务层从体现层平分离出来今朝有两种可选架构选择:办理一般JavaBeans(POJO)框架(如Spring、JdonFramework)和办理EJB的EJB框架,由于EJB不但是框架,仍是尺度,而尺度能够扩大开展,以是,这两种区分未来是大概含混,被归入统一个尺度了。 可是,团体以为:尺度制订是为某个目标服务的,总要就义一些调换别的一些,以是,这两种架构会长工夫并存。
这两种架构不合也已经出生一个新名词:完整POJO的体系也称为轻量级体系(lightweight),实在这个名词自己就没有一个严厉界说,更多是一个吸惹人的招牌,轻量是指简单进修简单利用吗?依照这个界说,实在轻量Spring等体系其实不简单进修;并且EJB3.0(仍然叫EJB)今后的体系是不是可称为轻量级了呢?
后面谈了服务层框架,利用服务层框架能够将JavaBeans从Jsp/Servlet平分离出来,而利用体现层框架则能够将Jsp中残剩的JavaBeans完整分别,这部分JavaBeans次要卖力显现相干,通常为经由过程标签库(taglib)完成,分歧框架有分歧本人的标签库,Struts是使用对照普遍的一种体现层框架。
如许,体现层和服务层的分别是经由过程两种框架到达目标,残剩的就是耐久层框架了,经由过程耐久层的框架将数据库存储从服务层平分离出来是其目标,耐久层框架有两种偏向:间接本人编写JDBC等SQL语句(如iBatis);利用O/RMapping手艺完成的Hibernate和JDO手艺;固然另有EJB中的实体Bean手艺。
耐久层框架今朝出现百花齐放,各有优弱点的近况,以是正如体现层框架一样,今朝没有一个框架被指定为尺度框架,固然,体现层框架如今又出来了一个JSF,它代表的页面组件观点是一个新的开展偏向,可是庞大的完成让人有些忘而却步。
在一切这些J2EE手艺中,固然SUN公司发扬了很年夜的感化,不外整体来讲:收集上有如许一个评价:SUN的实际世界无敌;SUN的产物用起来撞墙;关于初学者,出格是那些试图经由过程或已经由过程SUN认证的初学者,从速挣脱SUN的暗影,当即开溜,利用开源范畴的产物来完成本人的使用体系。
最初,你的J2EE使用体系假如接纳下面提到的体现层、服务层和耐久层的框架完成,基础你也能够在无需深入把握计划形式的情形下开辟出一个高质量的使用体系了。
还要注重的是:开辟出一个高质量的J2EE体系还必要准确的营业需求了解,那末域建模供应了一种对照实在可行的准确了解营业需求的办法,相干具体常识可从UML角度分离了解。
固然,假如你想计划本人的行业框架,那末第一步从计划形式入手下手吧,由于计划形式供应你一个完成JavaBeans或类之间解耦参考完成办法,当你学会了体系基础单位JavaBean或类之间解耦时,那末体系模块之间的解耦你便可能把握,进而你就能够完成行业框架的提炼了,这又是别的一个开展偏向了。
以上理念能够总结为一句话:
J2EE开辟三件宝:DomainModel(域建模)、patterns(形式)和framework(框架)。
保举一套高质量的J2EE开源体系:JPestore
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 是一种将安全性(Security)列为第一优先考虑的语言 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 是一种为 Internet发展的计算机语言 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种使网页(Web Page)产生生动活泼画面的语言 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
页:
[1]