当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《JavaEEWeb开发,我从哪里开始,我需要什么技能?》经验,为你挑选了5个好方法。

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

我究竟需要学习什么?

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

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

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

也许这本书涵盖了所有这些?



1> BalusC..:

(2018年9月更新)

我究竟需要学习什么?

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

然后,您可以从JSP/Servlet开始学习Java Web开发的基本概念.可以在Oracle的Java EE 5教程第二部分第3章和第8章以及Coreservlets.com(初级 - 中级和高级,也是JDBC)中找到好的教程.请注意,从Java EE 6开始,JSP从Java EE教程中删除,转而使用JSF,从那时起JSP基本上没有改变.这就是为什么你可以安全地使用相当旧的Java EE 5教程.关于JSP最重要的事情是,自2003年以来,官方不鼓励使用<%scriptlet 在JSP文件中编写普通Java代码%>.另请参阅如何避免JSP文件中的Java代码?因此,任何仍然包含scriptlet的教程都应该被忽略,因为它们肯定会让你陷入学习不良实践的恶性循环中.

我们还有关于JSP,Servlets,JSTL和EL的不错的wiki页面,您可以在其中学习基本知识并找到更多有用的链接.


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

它是.但是它的能力有限.它基本上是一个准系统servlet容器,只实现巨大的Java EE API的JSP/Servlet部分.如果你想进入EJB或JPA,那么你想选择另一个,例如WildFly,TomEE,Payara,Liberty,WebLogic等.否则你必须使用Spring而不是Java EE.在没有修改核心引擎的情况下,无法在完整的servlet容器中安装EJB,如果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主页上找到.WildFly,TomEE,Payara,Liberty,WebLogic等作为一个完整的Java EE实现已经开箱即可提供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等.它们很容易通过令人不安的广告链接识别/包含scriptlet的横幅和JSP代码片段.

也可以看看:

JSF,Servlet和JSP有什么区别?

servlet如何工作?实例化,会话,共享变量和多线程

当使用jQuery和AngularJS等JavaScript库实现UI时,JSF的需求是什么


StackOverflow没有Pin post功能吗?希望它能做到,所以我可以把这个答案固定下来.谢谢!

2> alex..:

我究竟需要学习什么?

微创,

Java语言

Java API,包括用于数据库访问的JDBC

IDE,或文本编辑器+ Ant

Java EE,基本上就是servlets和JSP

一个servlet容器(如Tomcat)

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

这是"体面的".如果您不使用EJB,可能您不需要学习任何其他内容.Glassfish 3最近看起来很酷,但我还没玩过它.请注意,它比Web服务器"更多".它是一个servlet容器(意味着它可以使用servlet技术运行应用程序).

网络有哪些选择?

大约有十亿种不同的框架.真的,选择一个真的很"难".尝试所有这些都很诱人,但最终不可行.

我知道ORM有hibernate.

我有点反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来渲染你的Vs; Spring的MVC和Struts做到了.有些人会让你使用别的东西(Velocity,Freemarker等).

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



3> duffymo..:

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

Tomcat内置了一个Web服务器,但它是一个servlet/JSP引擎.Apache是​​纯Web服务器.

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

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

JavaBeans只是Java对象的标准.

如果您愿意,我会推荐Spring框架.


@mrblah - Tomcat是一个servlet引擎.它被用来处理servlet类(这是jsp的转换)并将输出提供给浏览器.除此之外,它还像Web服务器一样提供所有常规文件(图像,html,css等).它与带有php模块的Apache相当.

4> Xinus..:

java有MVC吗?

Java有不同的框架,如Struts2,Spring MVC

JSP怎么样?

JSP是模板库.您可以尝试使用FreeMarkerVelocity等替代方案.AFAIK Freemarker是一个新兴的好模板库.它比JSP轻巧.检查这个FreeMarker:JSP的一个开放替代 - JavaWorld

MVC和JSP可以在一起吗?

我将MVC作为前面提到的框架.所有框架都支持JSP,但您需要在相应的框架文档中检查对其他模板库的支持.AFAIK Struts2对Freemarker有很好的支持.

豆子?

我不太了解它.但是使用bean我们可以直接将表单数据映射到数据库.

也许这本书涵盖了所有这些?

每个框架都有自己的书.对于Struts2 - Struts 2 in Action

字符串MVC - 看看这些为Spring和Spring MVC推荐书籍的问题.Spring框架和Spring Books的书籍建议:选择哪一个

Fremarker有一个非常好的文档 - FreeMarker手册

对于开始使用Java进行Web开发 -

替代文字http://ecx.images-amazon.com/images/I/5140T7T6WJL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

http://www.amazon.com/SCWCD-Exam-Study-Kit-Certification/dp/1930110596



5> Avi Flax..:

我认为大多数传统的Java Web开发选项都相当繁重,并且有一些不错的选择:

Play是一个MVC框架,致力于轻量级,简单明了并支持快速开发-同时坚持使用纯Java,而不是基于动态JVM的语言。它相当新,但已经令人印象深刻,并且很快就建立了一个良好的社区。

Grails是一个受Ruby on Rails启发的MVC框架,该框架使用基于Java的脚本语言Groovy编写并使用。Grails具有成熟,强大且受到广泛尊重的强大社区。Groovy基本上是Java的超集,具有更好的语法和一些很棒的功能(例如闭包),因此学习它是学习Java的好方法。

如果您需要/想要构建RESTful网站/服务/应用程序,Restlet是一个很棒的框架-我非常喜欢。它简单,直接但又灵活。社区也很棒。

Google的App Engine也是一个有趣的选择。它是托管的,可能不感兴趣,但它具有相当简单的API和良好的SDK。

我敢肯定还有其他人,但是我能想到的就是这些。

祝好运并玩得开心点!

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有