Java EE web开发,我从哪里开始,我需要什么技能?

我想至少在基础层面学习如何构建Java Web应用程序(来自.NET背景)。 我希望能够从头开始部署一个简单的CMS类型应用程序。

我究竟需要学习什么?

Tomcat似乎是一个很好的Java Web服务器。

网络有哪些选择? 我知道有一个ORM的Hibernate。

Java有MVC吗? 怎么样的JSP? MVC和JSP可以在一起吗? NetBeans的?

也许一本涵盖所有这些的书?


(2018年3月更新)

我究竟需要学习什么?

我假设你已经熟悉HTML,CSS和JS等客户端技术,所以我不会详细介绍。 我也假设你已经熟悉基本的Java。 遵循Oracle的Java教程,如果可能的话,也可以去获得OCA书籍或课程。

然后,您可以从JSP / Servlet开始学习Java Web开发的基本概念。 在Oracle的Java EE 5教程第II部分第3章和第8章以及Coreservlets.com(初级中级和高级,也是JDBC)中可以找到很好的教程。 请注意,自Java EE 6以来,JSP从Java EE教程中删除,转而使用JSF,并且从那时起JSP基本上没有改变。 这就是为什么你可以放心使用相当古老的Java EE 5教程。 关于JSP的最重要的事情是,自2003年以来,使用<% scriptlets %>在JSP文件中编写纯Java代码的做法从官方上被阻止。另请参见如何避免JSP文件中的Java代码? 因此,任何仍然包含scriptlet的教程都应该跳过,因为它们一定会让你陷入恶习的恶化。

我们也有很好的关于JSP,Servlets,JSTL和EL的维基页面,您可以在这里了解基本知识并找到更多有用的链接。


Tomcat似乎是一个很好的Java Web服务器。

它是。 但是它的能力有限。 它基本上是一个准系统servlet容器,只实现了庞大的Java EE API的JSP / Servlet部分。 如果您想要使用EJB或JPA,那么您希望选择另一个,例如WildFly,TomEE,Payara,Liberty,WebLogic等。否则,您必须使用Spring而不是Java EE。 即使不修改核心引擎,也不可能将EJB安装在准系统servlet容器中,如果Tomcat基本上是重新创建TomEE的话。 另请参见Java EE究竟是什么?


我知道有一个ORM的Hibernate。

以前,在J2EE时代,当JPA不存在且EJB2非常糟糕时,Hibernate是一个独立的框架,通常与Spring结合使用来取代EJB。 自Java EE 5(2006)中引入JPA以来,Hibernate已成为JPA实现。 您可以在Java EE教程第八部分学习JPA。 另外,基于Spring的经验教训,EJB3得到了很大改进。 另请参见何时使用Spring或EJB3或全部它们是必要的还是方便的?


Java有MVC吗? 怎么样的JSP? MVC和JSP可以在一起吗? JavaBeans的?

你可以,但是当将模型与视图绑定(转换,验证,更改监听器等)时,这是对轮子的重新创建。 Java EE的MVC框架被称为JSF。 在Java EE 6之前,它曾经在JSP上运行,这是一种相当传统的视图技术。 JSP被Facelets取代。 您可以在Java EE教程第三部分第7-17章学习JSF。顺便说一下,您也可以在Tomcat上使用JSF,您只需单独安装它。 安装说明可以在Mojarra主页找到。 作为一个完整的Java EE实现的WildFly,TomEE,Payara,Liberty,WebLogic等已经提供了JSF(以及CDI,BV,JSONP,JAX-RS,EJB,JPA等),因此您不需要单独安装。 另请参见如何通过Maven正确安装和配置JSF库?


也许一本涵盖所有这些的书?

有几本书。 我建议从一本关于一般Java EE的书开始,一本更侧重于JSF的书以及一本更侧重于JPA的书。 确保您选择涵盖该主题的最新书籍。 因此,不适用于Java EE 5或JSF 1.0左右的旧书。

最后但并非最不重要的是,请忽略业余爱好者维护的代码段抓取网站,主要关注广告收入,而不是教学,如roseindia,tutorialspoint,javabeat,journaldev,javatpoint,codejava等。它们很容易被干扰性广告链接/横幅和包含脚本的JSP代码片段。

也可以看看:

  • JSF,Servlet和JSP有什么区别?
  • servlets如何工作? 实例化,会话,共享变量和多线程
  • 当用户界面可以通过CSS,HTML,JavaScript,jQuery实现时,JSF需要什么?

  • 我究竟需要学习什么?

    微创,

  • Java语言
  • Java API,包括用于数据库访问的JDBC
  • 一个IDE或一个文本编辑器+ Ant
  • Java EE,基本上是servlet和JSP
  • 一个servlet容器(如Tomcat)
  • Tomcat似乎是一个很好的Java Web服务器。

    这是“体面”。 如果你不在EJB中,可能你不需要学习其他任何东西。 Glassfish 3最近似乎很酷,但我还没有玩过它。 请注意,它比网络服务器“更多”。 它是一个servlet容器(意味着它可以使用servlet技术运行应用程序)。

    网络有哪些选择?

    关于数十万个不同的框架。 真的,选择一个真的很“困难”。 尝试所有这些都是非常诱人的,但最终是不可行的。

    我知道有ORM的休眠。

    我有点反ORM,但如果你需要一个“完整的”ORM,Hibernate是你需要的。 您也可以尝试“部分”ORM,例如Spring的JDBC支持或iBatis。

    Java有MVC吗? 那么JSP呢? MVC和JSP可以在一起吗? 豆?

    是的,大多数Java Web框架都是MVC。 Spring的MVC很好,但我不能推荐其他东西(尤其是Struts 1!)。 JSP只是一个HTML(或XML)模板引擎。 带有嵌入式Java代码的旧式JSP不够酷; 带有标签文件和库的现代JSP非常好。

    我想大多数框架会让你使用JSP来呈现你的V; Spring的MVC和Struts做到了。 有些会让你使用其他的东西(速度,Freemarker等)。

    豆类只是一个物体的惯例。 基本上,这意味着你正在使用getter和setter(或者一些替代方法),并且你遵循一些规则。 这些应该让你的对象被某些工具操纵。 典型的例子是一个GUI,一些工具可以让你构建GUI组件来编辑任意bean(即它们将呈现一个表单来编辑它的字段)。


    您需要HTML,CSS和JavaScript - 所有常见的Web开发嫌疑人。

    Tomcat确实内置了一个Web服务器,但它是一个servlet / JSP引擎 。 Apache是​​纯粹的Web服务器。

    您需要学习JSP,这是一种用于生成生成HTML输出的servlet的模板语言。 你会想用JSTL写它们,而不是scriptlet。

    如果您正在执行CRUD应用程序,则需要学习JDBC和关系数据库。 在尝试Hibernate或任何其他ORM之前,您应该这样做,因为它是构建它们的基础。

    JavaBeans只是Java对象的标准。

    如果你喜欢它,我会推荐Spring框架。

    链接地址: http://www.djcxy.com/p/76559.html

    上一篇: Java EE web development, where do I start and what skills do I need?

    下一篇: stream Java alternative to ASP.NET / PHP