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

Jsp Java/Jakarta EE web开发,我从哪里开始,需要什么技能?,jsp,servlets,jakarta-ee,model-view-controller,Jsp,Servlets,Jakarta Ee,Model View Controller,我想学习,至少在基本层面上,如何构建Java web应用程序(来自.NET背景)。我希望能够从头开始构建、部署一个简单的CMS类型的应用程序 我到底需要学什么 Tomcat似乎是一个很好的Java web服务器 网络有哪些选择?我知道有一个ORM Java有MVC吗?那么...怎么样MVC和JSP能在一起吗 也许是一本涵盖所有这些内容的书?我是一名PHP/C编程人员,我发现groovy使我能够跳入Java,而不必学习Java编程中固有的所有类和范例。Groovy使我能够快速提高工作效率,同时花时

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

我到底需要学什么

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

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

Java有MVC吗?那么...怎么样MVC和JSP能在一起吗


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

我是一名PHP/C编程人员,我发现groovy使我能够跳入Java,而不必学习Java编程中固有的所有类和范例。Groovy使我能够快速提高工作效率,同时花时间学习更多关于java和所有可用工具/框架/库的知识

您需要HTML、CSS和JavaScript——所有这些都是web开发的常见问题

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

您需要学习JSP,它是一种用于生成生成HTML输出的servlet的模板语言。您将希望使用JSTL而不是Scriptlet编写它们

如果你在做CRUD应用程序,你需要学习JDBC和关系数据库。在尝试Hibernate或任何其他ORM之前,你应该这样做,因为这是它们构建的基础。 JavaBean只是Java对象的标准

如果你愿意,我推荐Spring框架。

(2021年4月更新)

首先,“Java EE”自2019年9月起被重命名为“雅加达EE”,从版本8开始。历史上,也有术语“J2EE”,涵盖1.2版到1.4版。“JavaEE”涵盖了版本5到8。另见

我到底需要学什么

我假设您已经熟悉客户端技术,例如,和,所以我不会详细介绍。我还假设您已经熟悉基本Java。遵循甲骨文的,如果可能的话,也去上一门or课程

然后,您可以从JSP/Servlet开始学习Java web开发的基本概念。好的教程可以在中找到。请注意,自JavaEE6以来,JSP基本上没有改变。这就是为什么你可以安全地使用相当旧的。关于JSP最重要的一点是,自2003年以来,官方不鼓励使用
在JSP文件中编写纯Java代码。请参阅,任何仍然包含Scriptlet的教程都应该跳过,因为它们肯定会让您陷入学习不良实践的恶性循环

在Stack Overflow上,您还可以找到关于的不错的wiki页面,在这里您可以学习要点并找到更多有用的链接


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

是的。然而,它的能力有限。它基本上是一个基本的servlet容器,只实现巨大的javaeeapi的JSP/servlet部分。如果您想使用EJB或JPA,那么您应该选择另一种,例如,,,等等。否则,您必须使用Spring而不是JavaEE。在不修改核心引擎的情况下,将EJB安装在一个基本的servlet容器中是不可能的,在Tomcat的情况下,您基本上是在改造TomEE。另见,和


我知道ORM有冬眠

以前,在J2EE时代,JPA不存在,EJB2很糟糕,Hibernate是一个独立的框架,经常与Spring结合使用来取代EJB。自从在JavaEE5(2006)中引入JPA以来,Hibernate已经成为JPA实现。你可以在网上学习JPA。此外,基于从Spring中学到的经验教训,EJB3得到了很大改进。另见


Java有MVC吗?JSP呢?MVC和JSP能在一起吗?JavaBeans

,但在将模型与视图绑定(转换、验证、更改侦听器等)时,需要做很多工作。雅加达EE的MVC框架称为。在JavaEE6之前,它通常在JSP上运行,JSP是一种相当传统的视图技术。JSP已被替换为。您可以在上学习JSF。顺便说一下,您也可以在Tomcat上使用JSF,只需单独安装即可。有关安装说明,请访问。WildFly、TomEE、Payara、Liberty、WebLogic等作为完整的Jakarta EE实现已经提供了现成的JSF(以及CDI、BV、JSONP、JAX-RS、EJB、JPA等),因此您不需要单独安装。另见


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

有几本书。我建议从一本书开始,一本书,一本书。确保您选择了涵盖该主题的最新书籍。首先调查最新的可用版本,然后确保所选的书涵盖了该版本。因此,当雅加达EE8和JSF2.3目前已经可用时,绝对不要为JavaEE5或JSF1.0等选择一本旧书

最后但并非最不重要的一点是,请忽略业余爱好者维护的代码片段清理网站,这些网站主要关注广告收入,而不是教学,如roseindia、TutorialPoint、javabeat、journaldev、javatpoint、codejava、,通过干扰广告链接/横幅和包含Scriptlet的JSP代码片段,很容易识别它们

另见:
我到底需要学什么

至少

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

这是“体面的”。如果您不喜欢EJB,那么可能不需要学习其他任何东西。Glassfish 3最近似乎很酷,但我还没怎么玩过。注意,它比web服务“更多”