我刚刚开始学习java,我有大约8个月的时间.我的主要目标是使用java构建Web应用程序.但是由于有许多可用的Java技术/框架,我很想知道我应该如何使用IDE进行eclipse
我想的路径如下
1)Learn Core Java
2)Project: Build Java Invoicing System with JDBC or mysql to test java knowledge
3)Learn Servlets / JSP to
4)Build small site like simple logon/memberarea/catalogue using servlets/jsp
Run Code Online (Sandbox Code Playgroud)
现在,我真的不知道以下事情在我的道路上的位置以及它们将帮助哪些事情
1)Java EE
2)Spring or spring MVC, what's the difference?
3)Hibernate
4)Wicket
5)Struts
Run Code Online (Sandbox Code Playgroud)
我真的不知道我应该如何学习这些以及可以选择哪些东西.
什么应该是我可以使用这些构建的最终项目,因为如果我从当前阶段看到甚至网站可以使用servlets/jsp构建.那为什么我需要那些其他技术
任何人都可以给出一个可以使用新技术构建而不使用jsp/servlet的项目示例,以便我可以了解为什么需要这些项目?
很多东西要在这里学习,所以我会一点一点地接受它.我将假设您对Java语言和核心API比较熟悉.
首先了解JDBC和数据库.获取一个基本的功能JDBC示例应用程序(不是视觉上只是一些vanilla Java应用程序),它可以读取/插入/更新/删除表中的某些记录.这将为您提供构建您选择的任何应用程序的基础.几乎所有有趣的应用程序都涉及某种持久性/数据库.
学习主要的JDBC API(Connection,PreparedStatement,ResultSet)并编写一些使用它们的代码以使其变得舒适.
如果您不熟悉事务以及JDBC如何使用它们,请了解事务如何在数据库中工作(Connection.commit和rollback)
接下来你可以看一下spring框架.这有几个有用的功能,在构建这些应用程序时派上用场.主要了解依赖注入功能及其拥有的JDBC库.DI的东西有点像"呃"?如果您之前没有使用它,但它非常有用/强大,特别是对于中型+应用程序.JDBC库有助于处理原始JDBC API,并使您的代码不易出错.
一旦你得到了一些基本的JDBC和Spring的东西,你就可以开始引入一个Web框架了.
这更难,因为有这么多.为了快速获得并运行起来,我可能会选择Wicket.它运行在像Jetty这样的servlet容器内,易于启动和运行一个或两个基本网页,并且随着时间的推移相对容易进化项目,而不会失去太多盲目的小巷.我发现像JSF这样的框架(Java EE默认的Web /视图框架)需要大量的前期投资才能继续.大多数这些框架,包括Wicket,都可以利用你上面提到的弹簧.
避免使用JSP,它是一种不愉快的技术,几乎所有其他技术都过时了.
回答你的其他一些观点.
Hibernate是一种将对象模型映射到关系模型的工具.在它最基本的形式中,您为每个DB表定义一个Java类,其中每个DB列具有一个Java属性(变量+ getter + setter).您还可以将一个类的引用添加到另一个类以建模数据库关系.这很好,但需要一点时间习惯.
春天我已经在上面解释了一下.Spring比只有DI和一些JDBC库大得多.它还有事务管理库和一堆其他东西.Spring MVC是一个生活在春天伞下的Web框架,并在内部使用了许多Spring库.我从来没有用它,所以不能提出意见.
Java EE是大量"企业"规范/库的总称.JSF是一个Web视图框架,是Java EE的一部分.
这是我非常高级的建议.总结一下,我将学习基本的DB/JDBC,然后学习一些春天的东西,然后开始使用你已经学到的东西构建一个基本的web应用程序.
希望有所帮助.网上有关于所有这些主题的大量信息,如果您需要帮助,可以随时在这里提出更具体的问题.祝你好运,享受!
编辑(发表评论):
以上所有内容都是我对如何学习Java Web开发的建议/意见.
综上所述
您可以轻松使用Spring MVC而不是Wicket.这可能是一个非常好的选择,我自己没有使用Spring MVC所以无法评论.我相信它会与春天的东西很好地融为一体,所以这肯定是一个积极的因素.
如果你不确定的话,做一些更多的研究,没有人愿意发表意见!但实际上你只需潜入并尝试一些东西.
你是对的.如果所有应用程序都由servlet,JSP和JDBC提供服务,那么您可能不需要学习任何其他内容.
我赞赏你在深入研究一些你不理解的框架之前先学习基础知识.这是好事.
但是如果你达到了那些寒冷的程度,那么看看这些其他技术可以帮助你改善你的游戏.
1)Java EE
当您使用servlet,JSP和JDBC时,您正在学习(部分)Java EE.它们是完整Java EE机制的子集 - EJB,JMS,JNDI等.
2)弹簧或弹簧MVC有什么区别
Spring是Rod Johnson和Springsource开发的另一种框架,现在是VMWare的一部分,它基于依赖注入,面向方面的编程和框架模块.Spring Web MVC是Spring框架中的一个基于servlet的模块,它充当Web应用程序的前端.
3)休眠
基于SQL和JDBC构建的对象关系映射技术(ORM),可以将对象映射到表.它有自己的基于对象的查询语言.
4)检票
另一个Web MVC替代Spring MVC,Struts,JSF等.
5)支柱
第一个Web MVC框架.它已经过1.0和2.0版本,现在已经被Java Server Faces所支持.但它仍在使用.与Java中的所有其他Web MVC框架一样,它基于servlet和JSP.