我近被问到我的QQ页面上,“我如何成为一个Java Web开发人员?”这个问题没有简单的答案。有许多方面成为Java Web开发人员。我遇到的Java开发人员是优秀的前端开发人员,或者是好的后端开发人员!扒岸恕,我的意思是更多的浏览器端技术 - HTML,CSS,Javascript,然后Java模板技术,如Thymeleaf,Sitemesh或只是好的旧JSP。后端开发人员将具有更强的Java,数据库(SQL和NoSQL),消息(JMS / AQMP)和Web服务(SOAP / REST)的技能。
你也有所谓的“全栈”Java开发人员。这是我的个人技能。全栈开发人员作为前端开发人员和后端开发人员同样熟练。这可能是难的跟踪,只是因为涉及的技术的多样性。有一天,你可能会在JQuery中调试一些东西,接下来你需要对Oracle数据库查询进行性能调优。成为一个完整的Java开发人员需要时间和经验。
从哪里开始?
对于有抱负的开发者,技术景观可能是压倒性的。技术景观也在不断发展。你冒险学习一些即将过时的东西吗?
客户端技术
我对新开发人员的建议是从基础开始。HTML,CSS和Javascript。这些技术是Web开发的核心。这些技术也是通用的,因为无论您是Java Web开发人员还是Ruby Web开发人员,都没有关系。
HTML
HTML - 超文本标记语言。 这是什么使一个网页。你需要对HTML有一个坚实的理解;氐酵蛭目糎TML传统上是由web服务器为浏览器提供的文件。这对静态内容非常有用。东西,从来没有改变。但这是越来越少。人们想要动态内容。因此,HTML不再是静态文件,HTML是按需生成的。作为Java Web Developer,您将要编写代码,为Web浏览器生成HTML文档。您将需要对HTML文档的结构有充分的了解。
CSS
CSS - 级联样式表。 这是什么样式的页面。它控制字体,颜色,布局。虽然HTML定义了网页的内容,但是CSS定义了在浏览器中呈现的样子。例如,您可以为桌面Web应用程序使用一组CSS规则,为移动应用程序使用一组不同的CSS规则。相同的HTML,但是两个完全不同的外观,当由浏览器呈现时。
Javascript
JavaScript的 -不要在网页上的东西。不要将JavaScript与Java混淆。虽然有一些语法相似之处,这两种是完全不同的编程语言。Javascript是什么真正推动Web 2.0应用程序。通过使用Javascript,您可以基于用户操作动态更改HTML / CSS,给予网页更多的应用程序像用户的感觉。
HTTP
超文本传输协议 -在客户机和Web服务器之间的通信。我看到太多的web开发人员不懂HTTP。这是绝对至关重要的你要了解。特别是当你开始使用AJAX。你需要知道POST和GET之间的区别。您应该记住HTTP状态代码200,301和404的含义 - 等等。作为一个Java Web开发人员,您将每天使用HTTP。
服务器端技术
Java
Java的 -现在的问题是如何成为一个Java Web开发人员。所以,当然你要需要知道Java编程language.In除了刚才Java本身,你应该熟悉 的Java Servlet API。有一些Java Web框架,这掩盖了Java Servlet API的使用。当出现问题时,你需要知道封面下发生了什么。
JPA
JPA - Java持久性API -使用数据库。JPA是在Java中使用传统关系数据库的标准。 Hibernate的 是当今流行的JPA实现。作为Java Web开发人员,您将使用数据库。您将从数据库获取内容以显示在网页上,或从用户接收内容以存储在数据库中。Java Web开发人员需要知道如何使用JPA。
Java应用程序服务器
Java应用程序服务器 -用于Java Web应用程序的运行时容器。 Tomcat的 是,到目前为止,流行的Java应用服务器。有一个Web应用程序归档文件的Java标准 - 也就是WAR文件。这些部署到应用程序服务器(如Tomcat)以为Web应用程序提供运行时环境。十年前,趋势是在应用程序和应用程序服务器之间使用更复杂的耦合。然而,当前的趋势有利于您的应用程序和应用程序服务器之间的松散耦合。
Java框架
注意到目前为止,我没有提到任何关于过多的Java框架可供你使用?到目前为止,我已经描述了您将用作Java Web开发人员的不同技术?突Ф思际跬耆懒⒂诜衿鞫思际。Firefox不在乎服务器是否运行Java,Python或.NET。新开发人员经常似乎忘记这一点。
可以在不使用其中一个Java框架的情况下进行Java Web开发。如果你这样做,你将会编写很多代码来处理框架会为你处理的事情。这就是为什么在开发Java Web应用程序时,您通;嵯胍褂闷渲幸桓隹蚣。
Spring框架
Spring框架是用于构建大规模web应用程序的杰出工具集合。精确的度量很难确定,但我已经看到一些估计,说Spring在超过60%的基于Java的Web应用程序中使用。这真的不是太令人惊讶。你有Spring Core的IoC容器和依赖注入。Spring MVC,一个成熟和灵活的基于MVC的Web框架。Spring Security,用于;つ耐镜募牙喙ぞ。Spring数据来帮助持久化。Spring有其他项目,将帮助您构建大规模应用程序。
当涉及到一个整体框架时,Spring没有其他选择。有各种春天项目的竞争技术。但是没有单一的解决方案具有Spring Framework系列项目的深度和广度。在我 介绍了Spring网上的教程,我给你的主要的Spring框架项目很好的概述以及如何使用它们来构建企业级应用程序。
Grails
Grails是一个建立在Spring之上的快速应用程序开发框架。你得到一切Spring,然后是Groovy的生产力优势。我喜欢用Groovy包装器将Grails描述为Spring。过于简单肯定,但重要的是要记住,春天还在封面。
Grails在企业中越来越多地使用。Grails的优势之一是其出色的社区支持。
春天roo
Spring Roo是一个纯Java框架,似乎试图做Grails做的,没有Groovy。我不是Spring Roo的粉丝,上次我没有检查市场。Spring Roo没有被广泛采用。
玩
基于Scala的框架。我没有机会尝试Play。我听到很多关于Play在市场上的好东西。我觉得Play是一个有趣的选择。但它只是没有广泛应用于企业;姑挥兄辽。玩得到一些鼓舞人心的牵引力。
JBoss Seam
JBoss Seam可能是一个替代Spring框架的接近的事情。JBoss Seam遵循JEE标准。JBoss Seam是一个很好的选择,有很好的支持,并在企业中采用。JBoss Seam经常被批评为在开发和性能方面比Spring慢。一些更为关键的 JBoss Seam的。
结论
成为一个Java Web开发人员不是你可以成为一夜之间。没有一本书叫“在21天内教自己的Java Web开发”。没有捷径成为Java Web开发人员。有很多不同的技术,你需要学习和掌握。每一个都需要时间学习。
作为一个Java Web开发人员可以是一个非常有益的事业。您可以开始只关注前端,或只是后端技术。更大的Java开发商店将允许你专注于一个领域的技术,另一个。
如果我今天开始作为一个Java Web开发者,我可能会首先关注客户端技术?突Ф思际跤敕衿鞫思际跷薰。因此,当你开始你将有更多的就业选择?突Ф思际醯牟钩ネǔ5陀诜衿鞫,但它是一个开始的好地方。你可以快速获得可以就业的技能,然后转移焦点和扩大你的技能,以后寻求更好的就业机会。