关于Java应用程序体系结构的问题:在线讨论! 是吗?那我要想成高手,岂不要当夜猫子!!!我单薄的身体呀!!!!Java 中到底是怎样解决上面问题的! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 主类中有:public static void main(String args[]) 找本书看吧,还有看你想往哪个方面发展:J2ME?J2SE?J2EE? 啊,终于有人给我回音了,3Q我想J2EE应该有难度,"学从难处学,用从易处用"。我对J2EE的认识很模糊,虽然已经看过几本书了!!!!!To proZeus(proZeus):谢谢;我想有OOP的基础,在一定基础上如果对J2EE的体系结构有了解会来得快!!!可否介绍一下! J2EE建议的学习路线(worldheart)网络上、书店都提供了很多资料,很多方式都可以得到J2EE方面的资料。如何系统的、高效的学习J2EE这个问题摆在我们面前。比如, 有些人在看完一大堆书后,动起手来时还是不知道怎么开始。等等这些问题是我们最难处理的。如何寻找到一条很好的方式方法呢? 其实, 换一个角度来看,比如,学英语,一共有三个层面的东西,首先是词汇,然后是语法,再者是习惯用法(希望读者能够从程序设计的角度考虑问题,看看这两者有什么相似之处,其实他们的逻辑是一样的)。还比如,上数学课,老师在黑板上解题,大家都很轻松得听懂,自己动手时就会有很多问题。这些看来很简单的问题,其实都包含一个道理: 理论联系实际,理论指导实践。 我们的理论在于,我们要有很好的方法。有些人看了很多书,写了不少程序,水平还是提高得很慢,很难跨越这道难关。还是方法问题。当然,我所谈论的方法,是自己的心得,体会,大家都有自己很独特的方法。没有绝对好、绝对坏的方法,看作用对象是谁。所以这里我们重点看看我这文章中所会提出来的方法。大家来评论评论。 上一篇文中(走向J2EE,漫长的道路),我谈到学习J2EE是一个漫长的过程,对,就是如此。因为她里面包含了很多全新的东西。而且,J2EE是现在进行时。我们知道J2EE由很多技术构成,比如,EJB、XML、JDBC、RMI、JSP、Servlet、。等等这些,又包含很多内容。 无论这些具体的技术会怎么发展,怎么变化,我们要抓住主线,那就是掌握J2EE构架的精髓。用什么来分析呢,作用对象自然是J2EE Specification(最新版是1.4,http://java.sun.com/j2ee )!!!当然学习J2EE的前提是你对J2SE有了足够的熟悉了,还有一点,你有很好的态度和兴趣。只看J2EE规范是不够的,最好结合产品和例子去思考,我建议大家用JBuilder 7 +BEA WebLogc Platform 7.0,这种开发模式。为什么这么说呢?首先,JBuilder 7本身的功能就是不错,应该属于主流Java IDE了。其次,BEA WebLogic Platform 7.0对J2EE Specification最新版支持程度很好,同时也较容易获取,用的人也多。第三,开发效率不错。(Borland网站有一份讲述JBuilder 7 + BEA WebLogic 7.0集成开发的文档。PDF格式 。http://bdn.borland.com/article/0,1410,28943,00.html ) JBuilder 7本身提供了很多帮助文档,有PDF格式,也有HTML格式(采用JavaHelp技术制作的),另外书店有一些JBuilder的参考用书,个人认为没有必要,第一,提供的版本都比较陈旧;第二,没有什么内容;第三,一般都是抄袭JBuilder 本身提供的帮助文档。(个人观点,没有任何商业目的)。当然,你的外语差不多要有四级水平,这个可不能没有,至少阅读能力不错(其实也不是这样的,我最开始时也是害怕,但开始投入后,英语资料也很简单,而且很地道!同时提高了您的外语)。WebLogic同样也不错,也提供了很多文档,http://www.bestdown.com 上有一本WebLogic Bible(针对6.1版),国内的BEA公司好像也出了一本,有兴趣地可以去, http://www.china-pub.com 看看。 有了这两者,我们需要找出合适的对象来学习。在这里给出几方面的素材给大家提供参考。第一,在JBuilder 7的安装目录的这个地方,~~:\JBuilder7\samples\Ejb\Ejb20\ESiteWL,有一个很好的例子,ESite。其中用到了Session Façade设计模式,用到了JSP、Servlet、Session Beans、Entity Beans(cmp)等技术,学习过程中不懂得地方可以参考第二。即,第二, http://java.sun.com/j2ee/tutorial/index.html 提供的J2EE Tutorial资料,很不错,Sun公司的。第三,Java Pet Store,刚开始学习J2EE技术分析该例子有点困难,再者这个例子中的J2EE构架不是很实用,但她给我们展示了J2EE几乎所有的核心技术,同时还提供了一本书,Design Enterprise Applications with J2EE Platform,很不错。第四,对J2EE构架比较了解,对EJB,XML,JSP,Servlet等技术有了较好的理解和程序经验后,建议看看这几本书。《J2EE In Practice》、《Core J2EE Patterns》、《Sun Certified ENT Architect for J2EE - Tech Study Guide》、《Java Tools for Extreme Programming - wiley》、《EJB Design Patterns》、《MasteringEJB 2》、《Enterprise JavaBeans,3rd》,够你看得了:)。 有了上述基础,结合大家做项目中的一些经验,我想水平应该会有不少提高。在初步掌握上述基础后,我们每个人都可以有自己在J2EE中的定位,比如有些开发人员可以考虑把时间花在商务逻辑层、另外一些喜欢花功夫在表示层,更有贪婪的家伙花在J2EE中所有的层。还有Web Services(J2EE 1.4 Specification的重点,估计2003年初推出,今后的重要发展方向)。 同时,大家要注意从软件工程的角度考虑系统设计,实施,建议用用Together!!!要求大家对UML有足够的了解。 下期我将给出实际应用例子给大家,大概是”JSP(Servlet)+Session Façade+CMP EJB+EIS”构架方面的实际应用例子,自己开发的应用实例,至于具体什么时候给出来,看我的时间是否筹得出来了。多谢大家看完我的文章!!! 有这样的好同志,我真的好高兴&感动呀!!!To:Prozeus(prozeus):非常谢谢!对于一门语言的学习,我想应该首先实际动手做一些东西,然后再回过头去了解其本质的,与它不同的东西,从而实在地掌握!对JAVA的学习,因为其概念性的东西太多,所以有一个研究的方向,但我对JAVA的体系还是想明白。我会下去将那段例子认真学习!再次谢谢诶!!!! 刚刚开始还是简单点J2EE,起步是不是太高了还有因为java在网络方面的优势,所以就从jsp+javaBean开始吧 To:siKuan谢谢你的建议,我会采纳的。可我目前不知道从何处下手!上面的哪篇文章你看过了吧!我想如果我做了一两个东西出来再回头看看会有顿悟的! Diamond兄弟,关于java应用程序体系结构的问题,在这里用delphi来做一下对比谈谈我的理解:1.Delphi是面向windows系统开发的一种语言和开发平台,因此,它的设计思想从一开始就是快速开发windows应用程序,这点从vcl类库中对windows api的封装可以看出来,还有对com与com+,dll的支持等等。那么,Delphi开发出来的应用程序必须是具备windows平台特点的,这个特点就是exe,还有大量的窗体(我们在这里称之为Form),当然还有其他,但在这里只提这两点。2.Delphi IDE中,一个Exe就是一个project,这是delphi的组织方式,也是根据1中所分析的所决定,这种组织方式是紧紧围绕着一个个FORM来做文章的,通过可视化的编程环境,快速的创建界面,并且以form为主体来编写相应的代码,最后完成整个exe。这种组织结构我认为开发windows程序是非常高效率的,因为其主线非常简单而清晰。3.java从一开始就不是为了哪个操作系统或者是体系所设计的,而且它是纯面向对象,没有背上历史的包袱(delphi就是面向对象的pascal,所以它为了向前兼容而保留了很多结构编程时代的东西)。因此,java是用面向对象的思想,以任务设计为核心来构建整个工程,在一个工程里头有很多class,这些class的设计和命名也不是围绕Form这种可视化对象,而是以最合理的逻辑和分布这些原则来为完成一个任务,从而建立一个java工程。4.因为这些原因,所以说java的优势不在于快速开发,而是在于合理开发,对设计者而言,要求更高,实现起来难度也比特有快速开发平台来得大。世界上的任何事情都不可能做到完美,总有其利与不利的一面,程序语言也莫出其中。 就从用jsp对数据库的操作开始(查询,修改等)jdk1.3+resin2.14+editplus至于数据库,mysql,sqlserver都挺简单好用而且上面列举的这些都是免费的我自己的模块开发就先用这些来开始的 Java程序都是用类组成,从public static void main(String args[])方法可是执行! 楼上各位兄弟,谢谢了!To:jxxpace;你对于java&Delphi的比较,有自己的体会,我认为学习一门语言如果有比较,那么才会真正掌握其脊髓,而且操作起来也就"游刃有余"!但我对于Java这个不是很明白"任务设计为核心来构建整个工程",你所言的Delphi是以Form为导向,在此基础上构建事件驱动的EXE&DLL。对此好理解。"4.因为这些原因,所以说java的优势不在于快速开发,而是在于合理开发,对设计者而言,要求更高,实现起来难度也比特有快速开发平台来得大。"我还没有体会到,我想到了这一步应该是开始有质的飞跃的时候了!"合理开发"我想任何一个项目都应该有这样的目标!TO:Sikuan;我想我得首先对Jspservelet有一个了解。事实上我也是这么作的。TO:yyfzy;"你的Java程序都是用类组成"这一说法太棒了!!!!! 具个例子,在C++或者vc中,汽车是一个类,开汽车的人是一个类,然后用一个main()来说明人在开汽车在java中,开汽车的人可以是一个类,汽车也可以是一个类,但是,人来开汽车这件事情,也是一个类;所以,java中所有的程序都是class,main()只是对外的一个接口 TO qnwa: 本想结贴的,看来又有得一议论:照你的理解,监听器和那些Contrainer是干什么用的呢???? 我机械改行写了一年SERVLET JSP BEAN了呀,但是你们说的那些虚的东西我总是没有具体理解"思想" "架构" "基于...的技术" "精髓" "模式+视图+控制"能够把它们比较傻瓜地说说吗? 答diamond:--但我对于Java这个不是很明白"任务设计为核心来构建整个工程",你所言的Delphi是以Form为导向,在此基础上构建事件驱动的EXE&DLL。对此好理解。你说得很对,有很多东西只有自己总结成为经验以后才能够有很好的体会。也许我的描述还不够确切,那么现在我来形象一点的说一个例子,或许我们能从中体会一些东西,当然,有可能我的理解也有偏差。当构建delphi工程的时候,我们怎么来命名类的呢,恐怕大多是这样的xxForm或者xxDialog,xx在这里代表了这个form或者dialog隐含的功能,但是java在写类的时候通常不出现这种情况,以假想的一个类(删除一个客户)为例,我们一般将其命名为DeleteCustomer.class,当然,如果我们是为了做windows桌面上的开发,这个类也包含了UI(用户界面),但是我们并不是以DelCustForm或者DelCustDlg来命名,如果是在delphi的IDE里头,按照我的理解习惯是这样称呼的。那么现在我们再来深入些看待这个问题,一个类为了实现某种功能,这种功能与用户界面的关系为如何呢?是包容还是并列的关系?在我的看法里,应该是功能为主体,界面只是辅助对功能的表述,应该是包容的关系。我认为java里由于其面向对象思想的纯粹,因此在设计上应该是以合理的功能(任务)实现为考虑的,写java的人应该能够以这种思想来贯穿自己的设计。 TO jxspace: 非常谢谢你的回信,对于我这个初学者,你的耐心让我对JAVA有信心。有一点我很疑惑,步知道大家用UltraEdit&EditPlus是怎样写代码的---高手!我一般是在IDE环境下Coding!OK!可爱的JAVA! spring为什么注入不了对象 有大神能说说这个执行顺序咋来的。。。运行没错的==~ 怎么样解决url传到action里面的乱码问题? 想问下webwork 能不能与spring mvc结合? 怎么插入日期到数据里 java问题 我在TOMCAT中用数据库连接池,可是老出现问题,请救命啊。 我电脑里安了一个这样的软件,请问这是人们说的WebLogic 8.1吗?我是菜鸟,请别笑我啊! 求struts??? 有关commit与rollback的问题 100分紧急求助:各位大虾,何处能找到用Java写的Word、Pdf、Excel等文档的解析器或转换器?多谢了。。。 求助:ldap排序问题!
public static void main(String args[])
J2ME?
J2SE?
J2EE?
我想J2EE应该有难度,"学从难处学,用从易处用"。
我对J2EE的认识很模糊,虽然已经看过几本书了!!!!!
To proZeus(proZeus):谢谢;
我想有OOP的基础,在一定基础上如果对J2EE的体系结构有了解会来得快!!!
可否介绍一下!
其实, 换一个角度来看,比如,学英语,一共有三个层面的东西,首先是词汇,然后是语法,再者是习惯用法(希望读者能够从程序设计的角度考虑问题,看看这两者有什么相似之处,其实他们的逻辑是一样的)。还比如,上数学课,老师在黑板上解题,大家都很轻松得听懂,自己动手时就会有很多问题。这些看来很简单的问题,其实都包含一个道理: 理论联系实际,理论指导实践。
我们的理论在于,我们要有很好的方法。有些人看了很多书,写了不少程序,水平还是提高得很慢,很难跨越这道难关。还是方法问题。当然,我所谈论的方法,是自己的心得,体会,大家都有自己很独特的方法。没有绝对好、绝对坏的方法,看作用对象是谁。所以这里我们重点看看我这文章中所会提出来的方法。大家来评论评论。
上一篇文中(走向J2EE,漫长的道路),我谈到学习J2EE是一个漫长的过程,对,就是如此。因为她里面包含了很多全新的东西。而且,J2EE是现在进行时。我们知道J2EE由很多技术构成,比如,EJB、XML、JDBC、RMI、JSP、Servlet、。等等这些,又包含很多内容。 无论这些具体的技术会怎么发展,怎么变化,我们要抓住主线,那就是掌握J2EE构架的精髓。用什么来分析呢,作用对象自然是J2EE Specification(最新版是1.4,http://java.sun.com/j2ee )!!!当然学习J2EE的前提是你对J2SE有了足够的熟悉了,还有一点,你有很好的态度和兴趣。只看J2EE规范是不够的,最好结合产品和例子去思考,我建议大家用JBuilder 7 +BEA WebLogc Platform 7.0,这种开发模式。为什么这么说呢?首先,JBuilder 7本身的功能就是不错,应该属于主流Java IDE了。其次,BEA WebLogic Platform 7.0对J2EE Specification最新版支持程度很好,同时也较容易获取,用的人也多。第三,开发效率不错。(Borland网站有一份讲述JBuilder 7 + BEA WebLogic 7.0集成开发的文档。PDF格式 。http://bdn.borland.com/article/0,1410,28943,00.html )
JBuilder 7本身提供了很多帮助文档,有PDF格式,也有HTML格式(采用JavaHelp技术制作的),另外书店有一些JBuilder的参考用书,个人认为没有必要,第一,提供的版本都比较陈旧;第二,没有什么内容;第三,一般都是抄袭JBuilder 本身提供的帮助文档。(个人观点,没有任何商业目的)。当然,你的外语差不多要有四级水平,这个可不能没有,至少阅读能力不错(其实也不是这样的,我最开始时也是害怕,但开始投入后,英语资料也很简单,而且很地道!同时提高了您的外语)。WebLogic同样也不错,也提供了很多文档,http://www.bestdown.com 上有一本WebLogic Bible(针对6.1版),国内的BEA公司好像也出了一本,有兴趣地可以去, http://www.china-pub.com 看看。
有了这两者,我们需要找出合适的对象来学习。在这里给出几方面的素材给大家提供参考。第一,在JBuilder 7的安装目录的这个地方,~~:\JBuilder7\samples\Ejb\Ejb20\ESiteWL,有一个很好的例子,ESite。其中用到了Session Façade设计模式,用到了JSP、Servlet、Session Beans、Entity Beans(cmp)等技术,学习过程中不懂得地方可以参考第二。即,第二, http://java.sun.com/j2ee/tutorial/index.html 提供的J2EE Tutorial资料,很不错,Sun公司的。
第三,Java Pet Store,刚开始学习J2EE技术分析该例子有点困难,再者这个例子中的J2EE构架不是很实用,但她给我们展示了J2EE几乎所有的核心技术,同时还提供了一本书,Design Enterprise Applications with J2EE Platform,很不错。第四,对J2EE构架比较了解,对EJB,XML,JSP,Servlet等技术有了较好的理解和程序经验后,建议看看这几本书。《J2EE In Practice》、《Core J2EE Patterns》、《Sun Certified ENT Architect for J2EE - Tech Study Guide》、《Java Tools for Extreme Programming - wiley》、《EJB Design Patterns》、《MasteringEJB 2》、《Enterprise JavaBeans,3rd》,够你看得了:)。
有了上述基础,结合大家做项目中的一些经验,我想水平应该会有不少提高。在初步掌握上述基础后,我们每个人都可以有自己在J2EE中的定位,比如有些开发人员可以考虑把时间花在商务逻辑层、另外一些喜欢花功夫在表示层,更有贪婪的家伙花在J2EE中所有的层。还有Web Services(J2EE 1.4 Specification的重点,估计2003年初推出,今后的重要发展方向)。
同时,大家要注意从软件工程的角度考虑系统设计,实施,建议用用Together!!!要求大家对UML有足够的了解。
下期我将给出实际应用例子给大家,大概是”JSP(Servlet)+Session Façade+CMP EJB+EIS”构架方面的实际应用例子,自己开发的应用实例,至于具体什么时候给出来,看我的时间是否筹得出来了。
多谢大家看完我的文章!!!
To:Prozeus(prozeus):非常谢谢!
对于一门语言的学习,我想应该首先实际动手做一些东西,然后再回过头去了解其本质的,与它不同的东西,从而实在地掌握!
对JAVA的学习,因为其概念性的东西太多,所以有一个研究的方向,但我对JAVA的体系还是想明白。我会下去将那段例子认真学习!
再次谢谢诶!!!!
J2EE,起步是不是太高了
还有因为java在网络方面的优势,所以就从jsp+javaBean开始吧
谢谢你的建议,我会采纳的。
可我目前不知道从何处下手!
上面的哪篇文章你看过了吧!
我想如果我做了一两个东西出来再回头看看会有顿悟的!
jdk1.3+resin2.14+editplus
至于数据库,mysql,sqlserver都挺简单好用
而且上面列举的这些都是免费的
我自己的模块开发就先用这些来开始的
方法可是执行!
To:jxxpace;
你对于java&Delphi的比较,有自己的体会,我认为学习一门语言如果有比较,那么才会真正掌握其脊髓,而且操作起来也就"游刃有余"!
但我对于Java这个不是很明白"任务设计为核心来构建整个工程",你所言的Delphi是以Form为导向,在此基础上构建事件驱动的EXE&DLL。对此好理解。
"4.因为这些原因,所以说java的优势不在于快速开发,而是在于合理开发,对设计者而言,要求更高,实现起来难度也比特有快速开发平台来得大。"我还没有体会到,我想到了这一步应该是开始有质的飞跃的时候了!"合理开发"我想任何一个项目都应该有这样的目标!
TO:Sikuan;
我想我得首先对Jspservelet有一个了解。事实上我也是这么作的。
TO:yyfzy;
"你的Java程序都是用类组成"这一说法太棒了!!!!!
在C++或者vc中,汽车是一个类,开汽车的人是一个类,然后用一个main()来说明人在开汽车
在java中,开汽车的人可以是一个类,汽车也可以是一个类,但是,人来开汽车这件事情,也是一个类;所以,java中所有的程序都是class,main()只是对外的一个接口
本想结贴的,看来又有得一议论:照你的理解,监听器和那些Contrainer是干什么用的呢????
说的那些虚的东西我总是没有具体理解"思想" "架构" "基于...的技术" "精髓" "模式+视图+控制"
能够把它们比较傻瓜地说说吗?
非常谢谢你的回信,对于我这个初学者,你的耐心让我对JAVA有信心。
有一点我很疑惑,步知道大家用UltraEdit&EditPlus是怎样写代码的---高手!
我一般是在IDE环境下Coding!OK!可爱的JAVA!