首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从网站的角度来看,WHich是学习java的最佳途径或流程。

从网站的角度来看,WHich是学习java的最佳途径或流程。
EN

Stack Overflow用户
提问于 2011-01-08 23:45:42
回答 4查看 6K关注 0票数 4

我刚刚开始学习java,我有大约8个月的时间。我的主要目标是使用java构建web应用程序。但是,由于有许多可用的java技术/框架,我很困惑,我应该如何使用eclipse IDE

我正在思考的路径如下

代码语言:javascript
复制
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

现在,伙计们,我真的不知道下面的事情在我的道路上站在哪里,它们会对我有帮助

代码语言:javascript
复制
1)Java EE
2)Spring or spring MVC, what's the difference?
3)Hibernate
4)Wicket
5)Struts

我真的不知道我应该如何学习这些东西,以及从哪些东西中选择。

我的最终项目应该是什么,可以使用这些来构建,因为如果从我目前的阶段来看,即使是网站也可以使用servlet/jsp构建。那为什么我还需要这些其他的技术呢?

有没有人能给出一个使用新技术而不是使用jsp/servlet来构建项目的例子,这样我就可以知道为什么我们需要这些东西了?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-09 00:03:54

在这里有很多东西要学,所以我会一次学一点。我假设您对Java语言和核心API比较熟悉。

首先了解JDBC和数据库。让一个基本的函数式JDBC示例应用程序工作(不是可视化的,只是一些普通的Java应用程序),它可以读取/插入/更新/删除表中的一些记录。这将为构建您选择的任何应用程序提供基础。几乎所有有趣的应用程序都涉及到某种类型的持久性/数据库。

学习主要的JDBC API (Connection、PreparedStatement、ResultSet),并编写一些使用这些API的代码。

了解事务如何在数据库中工作,以及JDBC如何使用它们(Connection.commit和回滚)。

接下来,您可以研究一下spring框架。这有几个有用的特性,在构建这些应用程序时非常有用。了解依赖注入功能和JDBC库的主要方法。依赖注入的东西是不是有点“废话”?如果你以前没有用过它,但它非常有用/强大,特别是对于中型以上的应用程序。JDBC库有助于处理原始JDBC API,并使您的代码不容易出错。

一旦你有了一些基本的JDBC和Spring的东西,你就可以开始引入一个web框架了。

这是比较困难的,因为有太多。为了让某些东西快速启动和运行,我可能会使用Wicket。它运行在像Jetty这样的servlet容器中,使用一两个基本的web页面很容易启动和运行,并且相对容易随着时间的推移而发展,而不会走太多的死胡同。我发现像JSF ( Java EE默认的web/view框架)这样的框架需要大量的前期投资才能开始。这些框架中的大多数,包括Wicket,都可以利用上面获得的spring内容。

避免使用JSP,它是一种令人不快的技术,几乎所有其他技术都过时了。

来回答你的其他一些观点。

Hibernate是一个用于将对象模型映射到关系模型的工具。在最基本的形式中,您可以为每个DB表定义一个Java类,该类为每个DB列都有一个Java属性(variable+getter+setter)。您还可以添加从一个类到另一个类的引用,以建立数据库关系模型。这很好,但需要一点时间来适应。

Spring我已经在上面部分解释过了。Spring比DI和一些JDBC库要大得多。它也有事务管理库和一堆其他东西。Spring MVC是一个web框架,它生活在spring的保护伞下,并在内部使用了大量的spring库。我从来没有用过它,所以我不能对它提供意见。

Java是大量“企业”规范/库的总称。JSF是一个web视图框架,它是Java EE的一部分。

这是我非常高级的建议。总而言之,我将学习基本的DB/JDBC,然后学习一些spring的东西,然后使用你已经学到的知识开始构建一个基本的web应用程序。

希望这能有所帮助。网上有很多关于这些主题的信息,如果你需要帮助,你可以在这里就更具体的部分提出问题。祝你好运,玩得开心!

编辑(到地址备注):

以上是我关于如何学习Java web开发的建议/意见。

总而言之

  • 学习JDBC/transactions/databases是必须的
  • Spring是可选的,但我强烈建议。
  • 是一个很大的库,但是你可以挑选你喜欢/需要的部分。从我尝试过的(JSF/JSP/ Wicket )来看,Wicket是最容易上手的,所以您不会花费太多时间来获得初始设置。JSP很糟糕,很容易把它搞得一团糟。
  • Hibernate是可选的,但可以让工作变得更简单,因为你可以在进行数据库查询/更新时使用

对象,而不是编写乏味的insert/update语句。Hibernate不是唯一这样的工具,但它是我用得最多的一个,而且做得很好。一开始不要过度使用“聪明”的hibernate特性。

您可以轻松地使用Spring MVC而不是Wicket。这可能是一个非常好的选择,我自己还没有用过Spring MVC,所以无法评论。我相信它会和spring很好地集成在一起,所以这肯定是一个积极的因素。

如果你不确定的话,再做一些研究,有无数的人乐于给出他们的意见!但实际上,你只需要潜入并尝试一些东西。

票数 8
EN

Stack Overflow用户

发布于 2011-01-08 23:52:57

你是对的。如果您的所有应用程序都由servlet、JSP和JDBC提供服务,那么您可能不需要学习其他任何东西。

我推荐您在深入了解一堆您不理解的框架之前先学习基础知识。这是一件好事。

但是如果你遇到了这些问题,也许看看这些其他的技术可以帮助你改进你的游戏。

1)Java

当您使用servlet、JSP和JDBC时,您正在学习(部分) Java EE。它们是完整的Java EE机制的子集-EJB、JMS、JNDI等。

2)Spring和spring MVC有什么区别

Spring是由Rod Johnson和Springsource开发的替代框架,现在是VMWare的一部分,它基于依赖注入、面向方面的编程和框架模块。Spring web MVC是Spring框架中一个基于servlet的模块,它充当web应用程序的前端。

3)休眠

一种建立在SQL和JDBC之上的对象关系映射技术(ORM),它允许您将对象映射到表。它有自己的基于对象的查询语言。

4)Wicket

Spring MVC、Struts、JSF等的另一种web MVC替代方案。

5)框架

第一个web MVC框架。它已经经历了1.0和2.0版本,现在已经被Java Server Faces所取代。不过,它仍然在使用。像Java中的所有其他web MVC框架一样,它是基于servlet和JSP的。

票数 6
EN

Stack Overflow用户

发布于 2011-01-10 02:08:38

从Java的角度来看,最好是从Java开始。您提到的所有其他技术都是替代技术,如果您认为标准框架提供的内容不是您喜欢的,那么这些技术可能对您很有用。但要决定这一点,至少要知道标准框架是关于什么的,这永远不是一个坏主意。

实话实说,在2006年之前,标准框架的名声不好,而形成推荐替代技术的基础的一些情绪仍然基于此。从版本5开始,Java EE有了显著的改进。最新版本的JavaEE6可以说是目前最好的Java框架之一。当然,最好的是一个高度主观的术语,自然不会对每个人都是最好的。

无论如何,Java EE 6是一个非常完整的框架,它允许在不依赖任何附加库的情况下编写大量应用程序。作为标准框架,大多数其他框架至少依赖于它的某些部分。

最典型的EJB、CDI和JSF被替代技术所取代。例如,核心Spring容器取代了EJB和CDI,Spring MVC取代了JSF。完整的Spring堆栈通常仍然使用Java EE中的JPA、JTA、JMS和Servlet。反过来,Wicket只替换JSF,或者当与Spring堆栈一起使用时,它将替换Spring MVC。

Hibernate是一个特例。它不会取代Java EE中的任何东西,而是经常用作Java EE的关键API之一的实现: JPA。Hibernate的原始创建者Gavin King是Java EE框架的主要支持者之一,实际上是现代Java EE最重要的部分之一的规范负责人: CDI。

Wicket本身是一个非常好的web框架,但在实践中它并不像JSF那样经常被使用。我不会深入讨论Wicket和JSF是否“更好”(这主要是一场宗教斗争),但由于JSF的流行,有更多的人对它有经验,并且有一个大型社区为JSF提供了许多东西,如组件库和扩展。

Struts在历史上已经被JSF完全取代。Struts的最初创建者Craig Mcclanahan是作为Struts的继任者启动JSF的人。然而,Struts曾经是Java中web框架的绝对事实上的标准。它并不经常被建议用于新的项目,但直到今天,它仍然在大量的现有应用程序中使用。因此,即使学习Struts并不是真正的“热门”,但2011年的Struts知识对于你必须维护现有的应用程序可能仍然是非常实用的。

ps

有关Java的一般描述,请参阅此答案:Frameworks for Layering reusable Architectures

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4634656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档