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代码片段。
也可以看看:
我究竟需要学习什么?
微创,
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?