关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » JAVA »我是如何成为一个Java Web开发者的

    我是如何成为一个Java Web开发者的

    2015-09-01 00:00:00 出处:ITJS
    分享

    最近有人在我的Facebook页面上问我,“我怎么才能成为一个Java Web开发者?”对于这个问题,答案其实并不简单。成为一个Java Web开发人员包括很多方面。我遇到过的Java程序员,可能曾是优秀的前端开发人员,也可能以前是不错的后端开发人员。所谓“前端”,我指的是众多浏览器端技术——HTML、CSS、Javascript,以及Java模板技术,如Thymeleaf、SiteMesh,或者古老的JSPs。后端开发人员有更坚实的Java、数据库(SQL和NoSQL),消息传递(JMS/AQMP)和Web服务(SOAP/REST)技能。

    你应该也知道所谓的“全栈”Java开发人员。这是个人的技能集合。一个完整的全栈开发者应该同样胜任前端开发和后端开发的工作。这可能是难度系数最高的一条路了,因为所涉及得技术非常多样。也许有一天,你前一秒还在jQuery调试,接下来就去性能调优Oracle数据库查询了。但是,成为一个全栈Java开发人员是需要时间和经验的。

    从哪里开始?

    对于有抱负的开发人员,技术的前景会成为压倒一切的动力。但是技术也是在不断变化发展中的。你会冒着学习的东西很快就会过时的风险吗?

    客户端技术

    我建议新手开发人员可以从基础的学起;HTML,CSS和JavaScript。这些技术是web开发的核心。而且这些技术在某种意义上说也是通用的,无论你是Java web开发人员还是Ruby Web开发人员都要用到。

    HTML

    HTML——超文本标记语言。这是用来生成网页的。你需要对HTML有一个深入的了解。在万维网初期,HTML习惯上是一个由网页服务器向浏览器提供的文件。它对静态内容非常有效。不会改变内容。但是,现在人们越来越倾向于动态的内容。于是,HTML不再是静态的文件,HTML开始按需生成。作为一个Java web开发者,你得会编写如何为网页浏览器生成HTML文件的代码。你需要对HTML文档的结构有一个深刻的理解。

    CSS

    CSS——层叠样式表。这是用来显示页面样式的。它控制字体、颜色和布局。与HTML定义的是网页的内容不同,CSS定义的是当在浏览器中呈现时网页的外观。例如,你可以对桌面Web应用程序使用一套CSS规则,对移动应用程序使用另一套不同的CSS规则。相同的HTML,当渲染在浏览器上时,就有了两个完全不同的外观。

    Javascript

    Javascript——制作网页上的东西。不要将Java与Javascript混淆。虽然它们有一些语法的相似性,但这是两个完全不同的编程语言。JavaScript才能真正推动Web 2.0应用程序。通过使用Javascript,你可以根据用户的操作,动态地改变HTML/CSS,提供更有视觉感受的网页给用户。

    HTTP

    HTTP(超文本传输协议)——客户端和Web服务器之间的通信。有太多的web开发人员居然对HTTP一无所知。HTTP绝对是你必学的关键技能。尤其是当你要用AJAX工作的时候。你需要知道一个POST和一个GET之间的区别。你应该记住HTTP状态码200,301和404的含义——以及更多。作为一个Java web开发人员,你的日常工作不可避免要与HTTP打交道。

    服务器端技术

    Java

    Java——本文的问题就是如何成为一个Java web开发人员。所以,你当然得知道Java编程语言。除了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应用程序归档文件,又名WAR文件,有一个Java标准。这些被部署到应用程序服务器,如Tomcat,以此为你的web应用程序提供运行环境。十年以前,还流行在应用程序和应用程序服务器之间应用更复杂的耦合。可是,现在的趋势更支持应用程序和应用服务器之间的松散耦合。

    Java框架

    请注意,到目前为止,我还没有提到任何Java框架。我所描述的,都是你作为一个Java web开发人员会用到的不同技术。客户端技术完全独立于服务器端技术。Firefox不在乎,服务器运行的是Java,Python还是.NET。不过,新手开发人员似乎常常遗忘这一点。

    不使用Java框架的Java web开发也是可以的。但是这样一来,你需要额外写很多代码来处理原本框架可以为你办到的事情。这就是为什么开发Java web应用程序时,你通常会想要使用某一个框架。

    Spring框架

    Spring框架是构建web应用程序一个非常棒的工具集合。虽然没有精确的统计数据,但我看到有文章估算已有超过60%基于Java的web应用程序使用Spring。这其实也不奇怪。Spring Core有IoC容器和依赖注入。Spring MVC,是一款基于MVC的成熟又灵活的web框架。Spring Security是保护网站最好的工具。Spring Date有助于维护持久性。Spring还有其他的项目,你可以用来构建大范围推广的应用。

    当涉及到整体框架时,真的找不到替代品代替Spring。哪怕存在着很多针对不同Spring项目的竞争技术。但是,没有单一的解决方案,能够具备Spring框架系列项目的深度和广度。在我的Spring入门在线教程上,我对主要的Spring框架项目做了一个很好的概述,并说明了如何使用它们来构建企业级应用程序。

    Grails

    Grails是建立在Spring之上的快速应用程序开发框架。它不但拥有Spring的所有内容,还借鉴了Groovy的生产力优势。我喜欢将Grails形容为用Groovy包装过的Spring。关键一点要记住的是,其背后依然是Spring。

    Grails现在越来越受到企业的欢迎。Grails的优势之一就是其出色的社区支持。

    Spring Roo

    Spring Roo是一个纯Java框架,这似乎和Grails的作用相同,不过它没有Groovy。我不是Spring Roo的的粉丝,并且我最后一次使用Spring Roo也不是因为市场要求。Spring Roo还没有被广泛接受。

    Play

    基于Scala的框架。虽然我还没有尝试过Play。但是现在市场上面的反响不错。所以有机会的话我会试一试。不过它目前还没有被企业中广泛采用。至少到现在为止还没有。

    JBoss Sea

    JBoss Seam可能是最接近Spring框架的替代品。JBoss Seam遵循JEE标准。JBoss Seam是一个很好的选择,具有良好的支持而被企业所接受。不过,JBoss Seam经常因为在开发和性能方面比Spring慢而饱受诟病。但是有的批评对于JBoss Seam过于苛刻了。

    结论

    成为Java web开发人员是不可能一蹴而就的。没有所谓的《21天自学成为Java web开发者》的速成教材,也没有捷径。你需要学习和掌握很多不同的技术。而所有这些都需要时间来学习。

    成为Java web开发人员是一个非常有意义的事业。你刚入门的时候可以只专注于前端技术,也可以只专研后端技术。随着以后开发的项目增多,你就可以从这一技术领域转移到另一个技术领域。

    要是我现在作为一个Java web开发人员入门的话,我会先专注于客户端技术,因为客户端技术独立于服务器端技术。因此,等你入门了以后,你将会有更多的就业选择。此外,虽然客户端技术的薪酬通常比服务器端的低,但这会是一个良好的开端。你可以快速获得技能以便于就业,然后再转移焦点,拓宽技能集,以谋求更好的就业机会。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。