当前位置: 首页 > 科技观察

我如何成为一名JavaWeb开发人员

时间:2023-03-21 18:42:17 科技观察

最近有人在我的Facebook页面上问我,“我如何成为一名JavaWeb开发人员?”这个问题的答案并不简单。成为JavaWeb开发人员涉及许多方面。我遇到的Java程序员,可能是优秀的前端开发人员,也可能是优秀的后端开发人员。我所说的“前端”是指大量的浏览器端技术——HTML、CSS、Javascript和Java模板技术,如Thymeleaf、SiteMesh或优秀的旧式JSP。后端开发人员有更扎实的Java、数据库(SQL和NoSQL)、消息(JMS/AQMP)和Web服务(SOAP/REST)技能。您还应该了解所谓的“全栈”Java开发人员。这是一个人的技能组合。一个完整的全栈开发人员应该在前端开发和后端开发上同样胜任。这可能是最困难的路径,因为涉及的技术非常多样。也许有一天,你前一秒还在调试jQuery,然后就去调优Oracle数据库查询了。然而,成为一名全栈Java开发人员需要时间和经验。从哪儿开始?对于有抱负的开发人员而言,技术前景可能是压倒一切的动力。但技术也在不断变化和发展。您是否冒着所学知识很快就会过时的风险?客户端技术我建议新手开发人员从基础开始;HTML、CSS和JavaScript。这些技术是Web开发的核??心。而且这些技术在某种意义上是通用的,无论你是Javaweb开发人员还是Rubyweb开发人员。HTMLHTML-超文本标记语言。这用于生成网页。您需要对HTML有深入的了解。在万维网的早期,HTML传统上是由网络服务器提供给浏览器的文件。它适用于静态内容。内容不会改变。然而,现在人们越来越倾向于动态内容。由此,HTML不再是静态文件,HTML开始按需生成。作为JavaWeb开发人员,您必须知道如何编写代码来为Web浏览器生成HTML文件。您需要对HTML文档的结构有深入的了解。CSSCSS-级联样式表。这用于显示页面样式。它控制字体、颜色和布局。与定义网页内容的HTML不同,CSS定义网页在浏览器中呈现时的外观。例如,您可以为桌面Web应用程序使用一组CSS规则,为移动应用程序使用一组不同的CSS规则。相同的HTML在浏览器上呈现时具有两种完全不同的外观。JavascriptJavascript-在网络上制作东西。不要混淆Java和Javascript。尽管它们在语法上有一些相似之处,但它们是两种完全不同的编程语言。JavaScript可以真正驱动Web2.0应用程序。通过使用Javascript,可以根据用户的操作动态改变HTML/CSS,为用户提供更加直观的网页体验。HTTPHTTP(超文本传输??协议)——客户端和网络服务器之间的通信。太多的Web开发人员对HTTP一无所知。HTTP绝对是您必须学习的一项关键技能。特别是如果您要使用AJAX。您需要知道POST和GET之间的区别。您应该记住HTTP状态代码200、301和404的含义——等等。作为Javaweb开发者,你的日常工作不可避免地要和HTTP打交道。服务器端技术JavaJava-本文的问题是如何成为Javaweb开发人员。因此,您当然必须了解Java编程语言。除了Java本身,您还应该熟悉JavaServletAPI。有一些JavaWeb框架隐藏了JavaServletAPI的使用。如果出现问题,那么您需要知道幕后发生了什么。JPAJPA-JavaPersistenceAPI-与数据库一起工作。JPA是Java中传统关系数据库的标准。Hibernate是当今使用最广泛的JPA实现。作为JavaWeb开发人员,您肯定需要使用数据库。您需要从数据库中获取内容以显示在网页上,或者从用户那里接收内容并将其存储在数据库中。因此,JavaWeb开发人员需要知道如何使用JPA。Java应用程序服务器Java应用程序服务器-JavaWeb应用程序的运行时容器。Tomcat是迄今为止最流行的Java应用程序服务器。Web应用程序存档文件(又名WAR文件)有一个Java标准。它们被部署到应用程序服务器,例如Tomcat,它为您的Web应用程序提供运行时环境。十年前,在应用程序和应用程序服务器之间应用更复杂的耦合也很流行。然而,当前趋势倾向于应用程序和应用程序服务器之间的松散耦合。Java框架请注意,到目前为止我还没有提到任何Java框架。我所描述的是您将作为JavaWeb开发人员使用的所有不同技术。客户端技术完全独立于服务器端技术。Firefox不关心服务器运行的是Java、Python还是.NET。但是,新手开发人员似乎常常忘记这一点。不使用Java框架的JavaWeb开发也是可能的。但是这样一来,你就需要写很多额外的代码来处理原来框架可以为你做的事情。这就是为什么在开发JavaWeb应用程序时,您通常希望使用特定的框架。SpringFrameworkSpringFramework是一个很棒的用于构建Web应用程序的工具集合。虽然没有确切的统计数据,但是我看过一些文章,估计有超过60%的基于Java的Web应用程序使用了Spring。这其实并不奇怪。SpringCore有一个IoC容器和依赖注入。SpringMVC是一个基于MVC的成熟且灵活的Web框架。SpringSecurity是保护您的网站的最佳工具。SpringDate有助于保持持久性。Spring还有其他项目可用于构建广泛应用程序。就整体框架而言,Spring确实无可替代。尽管针对不同的Spring项目有许多相互竞争的技术。但是,没有单一的解决方案具有SpringFramework系列项目的深度和广度。在我的Spring入门在线教程中,我很好地概述了主要的SpringFramework项目,并展示了如何使用它们来构建企业应用程序。GrailsGrails是一个构建在Spring之上的快速应用程序开发框架。它不仅拥有Spring的所有内容,还借鉴了Groovy的生产力优势。我喜欢将Grails描述为包裹在Groovy中的Spring。要记住的关键是它背后仍然是Spring。Grails在企业中越来越受欢迎。Grails的优势之一是其出色的社区支持。SpringRooSpringRoo是一个纯Java框架,看起来和Grails一样,但是没有Groovy。我不是SpringRoo的粉丝,上次使用SpringRoo也不是因为市场需求。SpringRoo尚未被广泛接受。Play是一个基于Scala的框架。我还没有尝试过玩。但现在市场反响不错。所以我会在有机会的时候试一试。但在企业中尚未得到广泛采用。至少现在还没有。JBossSeaJBossSeam可能是SpringFramework最接近的替代品。JBossSeam遵循JEE标准。JBossSeam是一个不错的选择,有很好的支持,被企业所接受。然而,JBossSeam经常被批评在开发和性能方面比Spring慢。但一些批评者对JBossSeam过于苛刻。结论成为JavaWeb开发人员不是一蹴而就的。没有速成班《21天自学成为Java web开发者》,也没有捷径。您需要学习和掌握许多不同的技术。所有这些都需要时间来学习。成为一名JavaWeb开发人员是一份非常有价值的职业。刚入门的时候,可以只专注于前端技术,也可以只专攻后端技术。随着将来开发更多的项目,您可以从一个技术领域转移到另一个技术领域。如果我现在开始作为一名JavaWeb开发人员,我会首先关注客户端技术,因为客户端技术独立于服务器端技术。所以,上手之后,你的就业选择会更多。此外,虽然客户端技术通常支付的费用低于服务器端技术,但这是一个好的开始。您可以快速获得就业技能,然后转移注意力并拓宽您的技能组合以获得更好的就业机会。