我有J2EE初学的几个问题要问,请高手指教 JSP 表示层、servlet控制层 、ejb 模型层Hibernate 数据层 、struts 表示层、spring 业务层eclipse是开发工具和平台..不属于技术 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xml还是要有一定了解的...ejb 是企业级的数据bean,算是数据这个层面的学习还是要有一定系统性的..最好做个SSH的项目就都会有一定了解了 JSP可以用来实现业务..但现在一般都不拿JSP来实现业务,所以JSP还是偏表示层 eclipse是开发框架,在添加了相应的插件后就能支持完整的J2EE项目开发了 Java学习路线 先学习j2se 要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。 不要被IDE纠缠 在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JAVA的时候,要学语言本身的东西,不要太在意IDE的附加功能,JAVA编程在不同IDE之间的转换是很容易的,过于的在意IDE的功能反而容易耽误对语言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加强版WSAD。用好其中一个就可以了,推荐从eclipse入手j2ee。因为Jbuilder更适合于写j2se程序。 选择和学习服务器使用配置 =D R t - 当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,tomcat为学习web服务首选。而应用服务器目前主要有三个:jboss、weblogic、websphere。有很多项目开始采用jboss,并且有大量的公司开始做websphere或weblogic向jboss应用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最容易上手的。学习服务器使用配置最好去询问有经验的人(有条件的话),因为他们或许一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把主要时间放在学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问。 学习web知识 Jj=/ G T 如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习: .'l:8SxT?L html,可能要用到dreamwave等IDE。 ZO(T u%xU Javascript,学会简单的数据校验,数据联动显示等等 Zw cmUq b],MA_pI?= J2eeAPI学习 (x 6 lxJ' 学习j2eeAPI和学习服务器应该是一个迭代的过程。 6t FbC\gV 先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。 S{=>TQn\2H 学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。这本应属于j2se学习中,这里拿出来强调一下。 W ,9cn M?2 学习jndi api,它和学习ejb可以结合起来。 xVql.;/Bf 学习ejb api,推荐书《精通ejb》 Y@;4 PEH$ 经过上面的这些的学习,大概可以对付一般的应用了。 $'>. rfV|6 有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。 K 7 ~sgu#o aQ?DVu3#U, 学习ejb设计模式和看代码(最重要) e?(P& THu 设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee) k 8 N}1Bv 无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的 =u 5 ! [KD 目前有很多开源的工程可以作为教材: n\[ 9cS.`= jive论坛 "v t < petstore sun公司 \ jS W dune sun公司 MFUzFS |, 等等,研读一个,并把它用到自己的工程中来。 Vehapm;4(e z2a9nh k_9 J2ee其他学习 (+ _]= 当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习原理和理论是最最重要的事。 a G VS f)z o <otp WP 目前常见j2eeAPI j!4R Z B" JavaServer Pages(JSP)技术1.2 _75ZS <N Java Servlet技术2.3 . b hB 8 JDBC API 2.0 q $b4 pu Java XML处理API(JAXP)1.1 $ ; . oy J Enterprise JavaBeans技术2.0 /7pxy!L~ Java消息服务(JMS)1.0 [2)C`Ic @l Java命名目录接口(JNDI)1.2 {h i |N b Java事务API(JTA) 1.0 uu xs{/M p JavaMail API 1.2 c' s]W p~ JavaBeans激活架构(JAF)1.0 \{ hDUOm I J2EE连接器体系结构(JCA)1.0 S( zo P>}3 Java认证和授权服务(JAAS)1.0 } > { ]% s 学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的 /M9 3(aE 上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲。回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。 ====================================== J2EE总体的学习计划 第一部分: JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固) 要求:对java的封装,生命周期等有一定的了解; 异常------掌握try-catch-finally的使用 IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。 多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。理解线程间的同步与互斥。 集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。 数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement类和接口、PreparedStatement接口、ResultSet接口。 还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。. 另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。 参考:《Java编程思想》、张孝祥视频教学。 第二部分: JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。 要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。 RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用类和部署、编译RMI应用程序。 HTML--------了解HTML语言的语法、各种标签。 JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。 JavaBean-------理解JavaBean的特点和事件模型。 XML--------了解XML语言的语法、DTD、Schema。 Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet事件侦听器、配置web.xml。 UML-------掌握用例图、类图、活动图、顺序图、状态图。 Aglet-------学会安装使用tahiti服务器,掌握Aglet API。[以后再学,在彭老师的项目才会用到] 开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工具使用。 另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器 参考书:《JSP2.0技术手册》林上杰编著; 《深入体会Java Web开发内幕---核心基础》 在JSP上不要花太多时间,在时间放在servlet多一些. 第三部分: 流行MVC架构和Java对象持久化技术。包括webwork、Spring、Hibernate 要求:MVC-------理解MVC设计模式、处理过程。 webwork-------理解webwork实现MVC的机制、工作流程。掌握配置webwork应用、webwork控制器组 件、webwork应用的国际化、异常处理、webwork标签库。(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学 webwork,但要必须要了解一下Struts) Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。 Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。 学习过程:先学习webwork2,再学习Hibernate,最后学Spring。 下面的东西有时间了解一下: 测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具EasyMock/JMock,熟 悉其中一种。(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码, 或多或少的) UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作. AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架. (ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了) 参考书:《webwork in action中文版》 《精通Struts》、《精通Hibernate》孙卫琴著, 《Spring技术手册》林信良著 《JUnit in action中文版》Vincent Massol著的 书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。 最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平。 我的学习顺序是jsp==>servlet==>struts==>hibernate==>spring==>ejb,感觉学起来很顺畅.学习j2ee的IDE首选eclipse.希望对楼主有所帮助! 先学习JSP,再Servlet,JSP是最基本的,仅起表示层的作用,加上Servlet,就逐渐形成MVC模型了(模型层、视图层、控制层),建议这两项基础要打牢点; 接下来就是Struts、Hibernate、Spring,这是三大框架,如楼上说的:Hibernate 数据层 、struts 表示层、spring 业务层,常结合在一起进行开发; 在学习的中途中,可以结合学习一下XML,这是一种可扩展的标记语言,与html比较相似。当然,还要学习一下其它的相关组件,如:smartUpload、jxl…… ejb方面不是很懂,感觉J2EE的初学者不要涉猎过深,等自己对三大框架十分熟悉了再说吧。 5楼所述也太全面了吧,真正都学完那得牛年马月了,考虑到学习周期和精力有限的情况下,还是先抓住重点的好.建议先搞通JSP和SERVLET,熟练简单的MVC架构,然后接触SSH,SSH要一项一项的融入框架里学习,不要直接都堆进去,否则很容易相互混淆.强调的是这些都要通过项目实践来完成,不要抱着书本或看个代码,没用,其他的一些技术在你做项目时候会遇到的,为了解决问题再去学的话自然会到手的 ①好像J2EE要学习的东西很多,象JSP、servlet、ejb、Hibernate、struts、spring、eclipse……,这些都是怎么区分的,按照J2EE体系结构? 这个东西~~貌似下面的答案就可以回答了啊~~~~ -_-!②是不是也要学习XML呢? 要学,如果你学习框架的话,你会发现很多东西都是用xml文件来配置的,所以,最好还是学学吧,确实没时间的话,了解了解总还是好的吧~~:)③我只知道JSP是用于表示层和业务层吧?因为我以前学过ASP,JSP好像体系结构和ASP很像,但J2EE里应该把业务层与表示层分开吧,那么JSP主要处于哪个层次? JSP本质上也是servlet,看看编译后的文件就知道了,最后也编译为servlet类型的class文件,呵呵,jsp的出现就是为了表示,以前用servlet做显示太麻烦了,呵呵,所以,jsp应该分到表示层,只不过可能你看的有些代码,jsp里面也出现了业务逻辑,这个原因很多,看看就知道了。④servlet用于什么?是流程控制吗? 这要看你怎么写了,你要用来做流程控制也行,你要用来做业务逻辑也行,不过最好分层开,做流程控制,业务逻辑分开到其他的类⑤ejb是业务层吧? 是⑥Hibernate、struts、spring这些就不知道具体属于哪个层次了。 Hibernate主要属于数据库持久化,就是模型层,玩数据库的东西,struts主要属于视图层,主要负责页面转向之类的视图操作,spring当然就是搞业务逻辑的啦~~~⑦eclipse是开发工具框架,是否可以在此开发所有层面上的东西啊?与struts有什么区别呢? eclipse相当于一个工具,IDE而已,struts是一套J2EE的框架,恩~可以这样理解,struts是从J2EE里抽象出来的一套框架,如果用这个框架进行J2EE开发的话,有些东西就比较省事⑧各个层之间是否可以独立学习?比如我只想做业务层,只学习EJB可以么?还是所有都要学习啊? 这个无所谓,如果你真的只想学某一层也可以,不过还是要掌握大体的框架啦,个人觉得最好还是掌握一套大的框架比较好,这样理解问题都要清楚些。以上是我个人的心得体会,不敢保证完全正确,呵呵,但至少楼主可以做一个参考嘛,共同学习共同进步~~加油加油~~!!! J2EE总体的学习计划 第一部分: JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固) 要求:对java的封装,生命周期等有一定的了解; 异常------掌握try-catch-finally的使用 IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。 多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。理解线程间的同步与互斥。 集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。 数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement类和接口、PreparedStatement接口、ResultSet接口。 还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。. 另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。 参考:《Java编程思想》、张孝祥视频教学。 第二部分: JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。 要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。 RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用类和部署、编译RMI应用程序。 HTML--------了解HTML语言的语法、各种标签。 JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。 JavaBean-------理解JavaBean的特点和事件模型。 XML--------了解XML语言的语法、DTD、Schema。 Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet事件侦听器、配置web.xml。 UML-------掌握用例图、类图、活动图、顺序图、状态图。 Aglet-------学会安装使用tahiti服务器,掌握Aglet API。[以后再学,在彭老师的项目才会用到] 开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工具使用。 另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器 参考书:《JSP2.0技术手册》林上杰编著; 《深入体会Java Web开发内幕---核心基础》 在JSP上不要花太多时间,在时间放在servlet多一些. 第三部分: 流行MVC架构和Java对象持久化技术。包括webwork、Spring、Hibernate 要求:MVC-------理解MVC设计模式、处理过程。 webwork-------理解webwork实现MVC的机制、工作流程。掌握配置webwork应用、webwork控制器组 件、webwork应用的国际化、异常处理、webwork标签库。(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学 webwork,但要必须要了解一下Struts) Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。 Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。 学习过程:先学习webwork2,再学习Hibernate,最后学Spring。 下面的东西有时间了解一下: 测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具EasyMock/JMock,熟 悉其中一种。(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码, 或多或少的) UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作. AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架. (ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了) 参考书:《webwork in action中文版》 《精通Struts》、《精通Hibernate》孙卫琴著, 《Spring技术手册》林信良著 《JUnit in action中文版》Vincent Massol著的 书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。 最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平。这个是5楼的回答,,,,已经相当全面了,,,楼主好运 在第一部分也就是基础牢固的情况下,感觉第二部分非常重要(jsp,servlet),知道了原理,第三部分就是各种杂家开发出来的框架也就不成问题了。 我的学习顺序是jsp==>servlet==>struts==>ejb==>hibernate==>spring,感觉学起来很顺畅. 学习j2ee的IDE首选eclipse,还有myeclipse,希望对楼主有所帮助! 我也是从事JEE一年。觉的jEE的东西太多了感觉自己都学习不过来了,有两次搞程序搞不出来,都想放弃了,LZ一定要坚持,走过去,就是胜利。一步步,有计划的来,永不言弃! 5楼的,谢谢你啊 jsp是view视图javaBean是模型 Modelservlet是控制 Controll也就是 MVC——视图控制模型,学艺不精,同奋! ①好像J2EE要学习的东西很多,象JSP、servlet、ejb、Hibernate、struts、spring、eclipse……,这些都是怎么区分的,按照J2EE体系结构?大部分的分层是MVC模式,不过还有很多的内容你没涉及,比如JNDI,JMS等等②是不是也要学习XML呢?XML肯定要学的。③我只知道JSP是用于表示层和业务层吧?因为我以前学过ASP,JSP好像体系结构和ASP很像,但J2EE里应该把业务层与表示层分开吧,那么JSP主要处于哪个层次?JSP属于表示层(view),每个JSP就相当于一个Servlet,你也可以把所有代码放到一个JSP中,只要你能够维护。④servlet用于什么?是流程控制吗?分发请求处理,和全局变量控制。⑤ejb是业务层吧?ejb包括业务层,数据层,数据转换层。⑥Hibernate、struts、spring这些就不知道具体属于哪个层次了。Hibernate 数据层spring 主要是业务层struts 表示层⑦eclipse是开发工具框架,是否可以在此开发所有层面上的东西啊?与struts有什么区别呢?eclipse 是IDE,struts是框架.⑧各个层之间是否可以独立学习?比如我只想做业务层,只学习EJB可以么?还是所有都要学习啊? 基本上是所有都要学,你不可能光知道业务逻辑处理,而不理解数据保存方式和页面显示逻辑。 楼主,实干吧,我想你是不知道从哪里入手,而不是不知道这些概念.我刚工作才四个多月,说起来,我也是在学校也对这些和你一样,可是工作了就不一样了.实际遇到的就是这些东西,说实话,我都知道这些,不过要我说的很清楚,我想我还是说,让我给你一个WEB工程来说说吧.这个就是实干的效果,找两个小项目,自己做也行,之后,你就知道了.比如,拟开发用MyEclipse,WEB用Struts+Spring+Hibernate,其中,可以用上servlet只是做一些小处理,,这样,页面,你肯定用jsp来写吧,首先这个就是所谓的J2EE,(虽然有些牵强)不过它就是,你的大工程也就是这样起步的.以后就看自己了,希望楼主看到.呵呵. 要想明白其实很简单!去找个项目来做!先自己写jsp,servlet,javabean!做一个简单的项目出来!然后在找个项目的基础上加入各种设计难度高,但是实用的功能!然后就这个项目改用SSH来做!目的就是为了理解其技术!多做吧!程序这个东西要多做才行啊! 学习完j2se,开始进入j2ee的学习~建议楼主先学jsp,servlet,在此之间可以接触到jdbc的知识~要是楼主想实现一些页面特效,建议楼主再学学javascript~之后学习现在公司常用到的技术~SSH(struts,hibernate,spring)struts建议楼主先学struts1.3~再看struts2~最后心有余的话可以接触EJB 去下个视频看吧,www.verycd.com 输入J2ee有大量的视频。 恩,5楼说得太好了,MARK一下,不时对照参考,学习JAVA时看 5楼说的很详尽,涵盖了j2ee整个平台,但对于一个新人来讲,说这么多是不是有点多了,吓都吓跑了,所以建议楼主参考5楼的建议前题下,整体了解j2ee到底是个什么东西,然后选择性的去学习,要循序渐进...... dwr 在应用中在 TOMCAT中正常使用部署到 websphere 时候出错误 是为什么? 【急】项目部署的问题 jsp中的setAttribute java表达式语言实现这个功能 weblogic,SOAP,WSDL 哪儿有com.bruceekel.simpletest.* 求java正则表达式的写法 想找人合作开发一套blog系统,不知道哪位有兴趣 如何用dom4j删除节点? 一个关于HIBERNATE后台显示信息的问题!!!!!!!!! hibernate的lazy和cascade的问题 struts2 整合spring出错
先学习j2se
要学习j2ee就要先学习j2se,刚开始学习j2se先建议不要使用IDE,然后渐渐的过渡到使用IDE开发,毕竟用它方便嘛。学习j2se推荐两本书,《java2核心技术一二卷》,《java编程思想》,《java模式》。其中《java编程思想》要研读,精读。这一段时间是基本功学习,时间会很长,也可能很短,这要看学习者自身水平而定。 不要被IDE纠缠
在学习java和j2ee过程中,你会遇到五花八门的IDE,不要被他们迷惑,学JAVA的时候,要学语言本身的东西,不要太在意IDE的附加功能,JAVA编程在不同IDE之间的转换是很容易的,过于的在意IDE的功能反而容易耽误对语言本身的理解。目前流行的IDE有jbuilder,eclipse和eclipse的加强版WSAD。用好其中一个就可以了,推荐从eclipse入手j2ee。因为Jbuilder更适合于写j2se程序。 选择和学习服务器使用配置 =D R t -
当你有了j2se和IDE的经验时,可以开始j2ee的学习了,web服务器:tomcat,勿庸置疑,tomcat为学习web服务首选。而应用服务器目前主要有三个:jboss、weblogic、websphere。有很多项目开始采用jboss,并且有大量的公司开始做websphere或weblogic向jboss应用服务器的移植(节省成本),这里要说的是,学习tomcat和jboss我认为是首选,也是最容易上手的。学习服务器使用配置最好去询问有经验的人(有条件的话),因为他们或许一句话就能解决问题,你自己上网摸索可能要一两天(我就干过这种傻事),我们应该把主要时间放在学习原理和理论上,一项特定技术的使用永远代替不了一个人的知识和学问。 学习web知识 Jj=/ G T
如果你是在做电子商务网站等时,你可能要充当几个角色,这是你还要学习: .'l:8SxT?L
html,可能要用到dreamwave等IDE。 ZO(T u%xU
Javascript,学会简单的数据校验,数据联动显示等等 Zw cmUq
b],MA_pI?=
J2eeAPI学习 (x 6 lxJ'
学习j2eeAPI和学习服务器应该是一个迭代的过程。 6t FbC\gV
先学习jsp和servlet编程,这方面的书很多,我建立看oreilly公司的两本《jsp设计》和《java servlet编程》,oreilly出的书总是那本优秀,不得不佩服。 S{=>TQn\2H
学习jdbc数据库编程,j2ee项目大多都是MIS系统,访问数据库是核心。这本应属于j2se学习中,这里拿出来强调一下。 W ,9cn M?2
学习jndi api,它和学习ejb可以结合起来。 xVql.;/Bf
学习ejb api,推荐书《精通ejb》 Y@;4 PEH$
经过上面的这些的学习,大概可以对付一般的应用了。 $'>. rfV|6
有人说跟着sun公司的《j2ee tutorial》一路学下来,当然也可以。 K 7 ~sgu#o
aQ?DVu3#U,
学习ejb设计模式和看代码(最重要) e?(P& THu
设计模式是练内功,其重要性可以这么说吧,如果你不会用设计模式的话,你将写出一堆使用了ejb的垃圾,有慢又是一堆bug,其结果不如不用ejb实现(ejb不等于j2ee) k 8 N}1Bv
无论学习什么语言,都应该看大量代码,你看的代码量不到一定数量,是学不好j2ee的 =u 5 ! [KD
目前有很多开源的工程可以作为教材: n\[ 9cS.`=
jive论坛 "v t <
petstore sun公司 \ jS W
dune sun公司 MFUzFS |,
等等,研读一个,并把它用到自己的工程中来。 Vehapm;4(e
z2a9nh k_9
J2ee其他学习 (+ _]=
当你渐渐对j2ee了解到一定深度时,你要开始关注当前领域中的一些技术变化,J2ee是一块百家争鸣的领域,大家都在这里提出自己的解决方案,例如structs,hiberate,ofbiz等等,学习这些东西要你的项目和目标而定,预先补充一下未尝不可,但不用涉及太深,毕竟学习原理和理论是最最重要的事。 a G VS f)z
o <otp WP
目前常见j2eeAPI j!4R Z B"
JavaServer Pages(JSP)技术1.2 _75ZS <N
Java Servlet技术2.3 . b hB 8
JDBC API 2.0 q $b4 pu
Java XML处理API(JAXP)1.1 $ ; . oy J
Enterprise JavaBeans技术2.0 /7pxy!L~
Java消息服务(JMS)1.0 [2)C`Ic @l
Java命名目录接口(JNDI)1.2 {h i |N b
Java事务API(JTA) 1.0 uu xs{/M p
JavaMail API 1.2 c' s]W p~
JavaBeans激活架构(JAF)1.0 \{ hDUOm I
J2EE连接器体系结构(JCA)1.0 S( zo P>}3
Java认证和授权服务(JAAS)1.0 } > { ]% s
学习上面的某些API要以你的项目而定,了解所有他们总之是有好处的 /M9 3(aE
上面印证了大家说的一句话,java语言本身不难学,但是技术太多,所以学java很费劲。回想一下,基本上每个初学者,在刚学习java的时候可能都会问别人这么一句话,你怎么知道的哪个方法(api)在哪个包里的?呵呵,无他,唯手熟尔。 ======================================
J2EE总体的学习计划 第一部分:
JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固)
要求:对java的封装,生命周期等有一定的了解;
异常------掌握try-catch-finally的使用
IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。
多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。理解线程间的同步与互斥。
集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。
数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement类和接口、PreparedStatement接口、ResultSet接口。
还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。.
另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。
参考:《Java编程思想》、张孝祥视频教学。 第二部分:
JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。
RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用类和部署、编译RMI应用程序。
HTML--------了解HTML语言的语法、各种标签。
JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。
JavaBean-------理解JavaBean的特点和事件模型。
XML--------了解XML语言的语法、DTD、Schema。
Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet事件侦听器、配置web.xml。
UML-------掌握用例图、类图、活动图、顺序图、状态图。
Aglet-------学会安装使用tahiti服务器,掌握Aglet API。[以后再学,在彭老师的项目才会用到]
开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工具使用。
另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器
参考书:《JSP2.0技术手册》林上杰编著;
《深入体会Java Web开发内幕---核心基础》
在JSP上不要花太多时间,在时间放在servlet多一些. 第三部分:
流行MVC架构和Java对象持久化技术。包括webwork、Spring、Hibernate
要求:MVC-------理解MVC设计模式、处理过程。
webwork-------理解webwork实现MVC的机制、工作流程。掌握配置webwork应用、webwork控制器组 件、webwork应用的国际化、异常处理、webwork标签库。(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学 webwork,但要必须要了解一下Struts)
Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。
Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。
学习过程:先学习webwork2,再学习Hibernate,最后学Spring。 下面的东西有时间了解一下:
测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具EasyMock/JMock,熟 悉其中一种。(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码, 或多或少的)
UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作.
AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架.
(ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了) 参考书:《webwork in action中文版》
《精通Struts》、《精通Hibernate》孙卫琴著,
《Spring技术手册》林信良著
《JUnit in action中文版》Vincent Massol著的
书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。
最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平。
学习j2ee的IDE首选eclipse.希望对楼主有所帮助!
接下来就是Struts、Hibernate、Spring,这是三大框架,如楼上说的:Hibernate 数据层 、struts 表示层、spring 业务层,常结合在一起进行开发;
在学习的中途中,可以结合学习一下XML,这是一种可扩展的标记语言,与html比较相似。当然,还要学习一下其它的相关组件,如:smartUpload、jxl……
ejb方面不是很懂,感觉J2EE的初学者不要涉猎过深,等自己对三大框架十分熟悉了再说吧。
建议先搞通JSP和SERVLET,熟练简单的MVC架构,然后接触SSH,SSH要一项一项的融入框架里学习,不要直接都堆进去,否则很容易相互混淆.强调的是这些都要通过项目实践来完成,不要抱着书本或看个代码,没用,其他的一些技术在你做项目时候会遇到的,为了解决问题再去学的话自然会到手的
这个东西~~貌似下面的答案就可以回答了啊~~~~ -_-!
②是不是也要学习XML呢?
要学,如果你学习框架的话,你会发现很多东西都是用xml文件来配置的,所以,最好还是学学吧,确实没时间的话,了解了解总还是好的吧~~:)
③我只知道JSP是用于表示层和业务层吧?因为我以前学过ASP,JSP好像体系结构和ASP很像,但J2EE里应该把业务层与表示层分开吧,那么JSP主要处于哪个层次?
JSP本质上也是servlet,看看编译后的文件就知道了,最后也编译为servlet类型的class文件,呵呵,jsp的出现就是为了表示,以前用servlet做显示太麻烦了,呵呵,所以,jsp应该分到表示层,只不过可能你看的有些代码,jsp里面也出现了业务逻辑,这个原因很多,看看就知道了。
④servlet用于什么?是流程控制吗?
这要看你怎么写了,你要用来做流程控制也行,你要用来做业务逻辑也行,不过最好分层开,做流程控制,业务逻辑分开到其他的类
⑤ejb是业务层吧?
是
⑥Hibernate、struts、spring这些就不知道具体属于哪个层次了。
Hibernate主要属于数据库持久化,就是模型层,玩数据库的东西,struts主要属于视图层,主要负责页面转向之类的视图操作,spring当然就是搞业务逻辑的啦~~~
⑦eclipse是开发工具框架,是否可以在此开发所有层面上的东西啊?与struts有什么区别呢?
eclipse相当于一个工具,IDE而已,struts是一套J2EE的框架,恩~可以这样理解,struts是从J2EE里抽象出来的一套框架,如果用这个框架进行J2EE开发的话,有些东西就比较省事
⑧各个层之间是否可以独立学习?比如我只想做业务层,只学习EJB可以么?还是所有都要学习啊?
这个无所谓,如果你真的只想学某一层也可以,不过还是要掌握大体的框架啦,个人觉得最好还是掌握一套大的框架比较好,这样理解问题都要清楚些。以上是我个人的心得体会,不敢保证完全正确,呵呵,但至少楼主可以做一个参考嘛,共同学习共同进步~~加油加油~~!!!
JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固)
要求:对java的封装,生命周期等有一定的了解;
异常------掌握try-catch-finally的使用
IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、 OutputStream、FileInputStream、FileOutputStream、DataInputStream、 DataOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、 InputStreamReader、OutputStreamWriter、BufferReader、BufferedWriter、 ObjectInputStream、ObjectOutputStream)。
多线程-------掌握多线程实现的两种实现方法,分别是继承Thread类与实现Runnable接口。理解线程间的同步与互斥。
集合类-------掌握Set、Collection、Map、List、Iterator、Enumeration接口的使用,掌握HashSet、ArrayList、Vector、HashMap、HashTable类的使用。
数据库-------掌握JDBC API的使用,包括DriverManager类、Connection接口、Statement类和接口、PreparedStatement接口、ResultSet接口。
还有了解java反射机制,对Java1.5的新功能必须有了解与使用,泛型等。.
另外-------理解Unicode、GB2132、GBK、UTF-8、ISO8859编码方式。
参考:《Java编程思想》、张孝祥视频教学。 第二部分:
JAVA网络编程。包括Socket、RMI、HTML、XML、JSP、JavaBean、Servlet。
要求:Socket--------了解java.io包中的套接口类和服务器套接口类的使用。
RMI--------掌握RMI基本工作原理、掌握定义远程服务接口类、远程接口类、客户端调用类和部署、编译RMI应用程序。
HTML--------了解HTML语言的语法、各种标签。
JSP-------掌握JSP2.0语法、隐含对象、EL、JSTL1.1、JSP自定标签。
JavaBean-------理解JavaBean的特点和事件模型。
XML--------了解XML语言的语法、DTD、Schema。
Servlet---------掌握HTTP协议、Servlet工作过程、Servlet会话跟踪、Servlet过滤器、Serlvet事件侦听器、配置web.xml。
UML-------掌握用例图、类图、活动图、顺序图、状态图。
Aglet-------学会安装使用tahiti服务器,掌握Aglet API。[以后再学,在彭老师的项目才会用到]
开发工具------掌握Rational Rose 、ant 、cvs版本控制、myeclipse、dreamweave等开发工具使用。
另外-------学习过程中学会使用Tomcat、JBoss/Weblogic服务器
参考书:《JSP2.0技术手册》林上杰编著;
《深入体会Java Web开发内幕---核心基础》
在JSP上不要花太多时间,在时间放在servlet多一些. 第三部分:
流行MVC架构和Java对象持久化技术。包括webwork、Spring、Hibernate
要求:MVC-------理解MVC设计模式、处理过程。
webwork-------理解webwork实现MVC的机制、工作流程。掌握配置webwork应用、webwork控制器组 件、webwork应用的国际化、异常处理、webwork标签库。(其实很多遗留系统用的是Struts,但现在越来越少人用了,所以我鼓励你们学 webwork,但要必须要了解一下Struts)
Spring-------掌握控制反转(IoC)、面向方面编程(AOP)、事务服务(JTA)、邮件服务(JavaMail)、持久化服务(DAO、JDBC、ORM)、远程服务(RMI)。
Hibernate--------理解ORM,掌握映射对象标识符、映射关系(一对多、多对多、一对一)、映射类型、检索策略、检索方式、数据库事务与并发、管理Hibernate的缓存。
学习过程:先学习webwork2,再学习Hibernate,最后学Spring。 下面的东西有时间了解一下:
测试/敏捷开发-----关注测试,掌握Junit单元测试框架,以及现在两个流行的mock工具EasyMock/JMock,熟 悉其中一种。(提示:测试非常重要,有效的测试可以减少很多开发的时间,当然刚开始觉得不耐烦,好像没有必要写测试代码,一定要说服自己尝试写测试代码, 或多或少的)
UNIX系统------了解最主要的shell编程,及主要的相关的命令行操作.
AJAX-----了解基本的javascript,csss,以及ajax常用的用法,还有JSON框架.
(ajax的框架太多,但不要花太多时间去学,因为你不知道公司用不用ajax,而且用的那一框架你没有办法知道,所以懂最基础就可以了) 参考书:《webwork in action中文版》
《精通Struts》、《精通Hibernate》孙卫琴著,
《Spring技术手册》林信良著
《JUnit in action中文版》Vincent Massol著的
书籍只是用来入门的,其他的工具必须多上英文网址,尽量多看一些英文文档,提高自己的水平,同时有空的时候也可以下载的一些开源项目的文档。
最后一句话:无论什么技术,学了不要以为自己多牛,学技术只是为了更好提高自己做项目的能力以及提升自身的水平。你做的项目效果怎样才能最终看出你自身的水平。这个是5楼的回答,,,,已经相当全面了,,,楼主好运
在第一部分也就是基础牢固的情况下,感觉第二部分非常重要(jsp,servlet),知道了原理,第三部分就是各种杂家开发出来的框架也就不成问题了。
我的学习顺序是jsp==>servlet==>struts==>ejb==>hibernate==>spring,感觉学起来很顺畅.
学习j2ee的IDE首选eclipse,还有myeclipse,希望对楼主有所帮助!
感觉自己都学习不过来了,有两次搞程序搞不出来,
都想放弃了,LZ一定要坚持,走过去,就是胜利。一步步,有计划的来,
永不言弃
!
jsp是view视图
javaBean是模型 Model
servlet是控制 Controll
也就是 MVC——视图控制模型,学艺不精,同奋!
大部分的分层是MVC模式,不过还有很多的内容你没涉及,比如JNDI,JMS等等
②是不是也要学习XML呢?
XML肯定要学的。
③我只知道JSP是用于表示层和业务层吧?因为我以前学过ASP,JSP好像体系结构和ASP很像,但J2EE里应该把业务层与表示层分开吧,那么JSP主要处于哪个层次?
JSP属于表示层(view),每个JSP就相当于一个Servlet,你也可以把所有代码放到一个JSP中,只要你能够维护。
④servlet用于什么?是流程控制吗?
分发请求处理,和全局变量控制。
⑤ejb是业务层吧?
ejb包括业务层,数据层,数据转换层。
⑥Hibernate、struts、spring这些就不知道具体属于哪个层次了。
Hibernate 数据层
spring 主要是业务层
struts 表示层
⑦eclipse是开发工具框架,是否可以在此开发所有层面上的东西啊?与struts有什么区别呢?
eclipse 是IDE,struts是框架.
⑧各个层之间是否可以独立学习?比如我只想做业务层,只学习EJB可以么?还是所有都要学习啊?
基本上是所有都要学,你不可能光知道业务逻辑处理,而不理解数据保存方式和页面显示逻辑。
比如,拟开发用MyEclipse,WEB用Struts+Spring+Hibernate,其中,可以用上servlet只是做一些小处理,,这样,页面,你肯定用jsp来写吧,首先这个就是所谓的J2EE,(虽然有些牵强)不过它就是,你的大工程也就是这样起步的.
以后就看自己了,希望楼主看到.呵呵.
去找个项目来做!
先自己写jsp,servlet,javabean!做一个简单的项目出来!
然后在找个项目的基础上加入各种设计难度高,但是实用的功能!
然后就这个项目改用SSH来做!目的就是为了理解其技术!
多做吧!程序这个东西要多做才行啊!
所以建议楼主参考5楼的建议前题下,整体了解j2ee到底是个什么东西,然后选择性的去学习,要循序渐进......