原标题:从零基础学Java成为一个专业的java web 开发者

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

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

从哪里开始?

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

客户端技术

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

HTML

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

CSS

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

Java

Java——制作网页上的东西。不要将Java与Java混淆。虽然它们有一些语法的相似性,但这是两个完全不同的编程语言。Java才能真正推动Web 2.0应用程序。通过使用Java,你可以根据用户的操作,动态地改变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编程入门学习Q群 280821779

不使用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 Seam

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

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

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

想要了解更多java知识,点击加入我们一起交流学习,一起进步吧。点击链接加入群【http://jq.qq.com/?_wv=1027&k=29DQoxj学习】返回搜狐,查看更多

责任编辑:

零基础学java web开发_从零基础学Java成为一个专业的java web 开发者相关推荐

  1. java微博开发_【新手入门篇】新浪微博应用开发之Java入门篇

    新浪微博应用开发之Java篇 2012年11月11日星期日 一.开发流程简介: 2.  在以下地址创建一个应用,假设创建一个桌面应用: 3.  进入管理中心,查看并记住应用ID和密码: 4.  在&q ...

  2. app开发和web开发_了解2020年现代Web App开发的概念

    app开发和web开发 Millions of businesses exchange information on the internet and to interact with their t ...

  3. app开发和web开发_理解现代Web App开发概念的指南

    app开发和web开发 Millions of businesses exchange information on the internet and to interact with their t ...

  4. 视频教程-大型Java项目视频教程_王勇老师DRP项目教程完整版292集-Java

    大型Java项目视频教程_王勇老师DRP项目教程完整版292集 动力节点王勇老师,CCTV<影响力对话>栏目特约嘉宾,Java培训知名讲师,中国Java培训领军人物,北京动力节点创始人,董 ...

  5. 从零学web前端_从零到前端英雄(第2部分)

    从零学web前端 This article is part two of the "From Zero to Front-end Hero" series. In part one ...

  6. java axis2 开发_基于Apache axis2开发Java Web服务

    1.安装配置axis2环境 下载好后把axis2-1.4.1-war目录下面的axis2.war发布到tomcat的webapps中. 发布好,访问:http://localhost:8079/axi ...

  7. java osgi web开发_基于 OSGi 和 Spring 开发 Web 应用

    开发一个简单的OSGi Web应用实例 一个简单的Web应用 我们写一个简单的 Web 应用 compute.html :计算两个数字的和或乘积.如下图所示: 图1.一个简单例子 一个简单例子.bmp ...

  8. java agent 开发_IDEA + maven 零基础构建 java agent 项目

    Java Agent(java 探针)虽说在 jdk1.5 之后就有了,但是对于绝大多数的业务开发 javaer 来说,这个东西还是比较神奇和陌生的:虽说在实际的业务开发中,很少会涉及到 agent ...

  9. java osgi web开发_在Tomcat中使用Java Web应用程序的OSGi软件包

    我试图从Java Web应用程序调用OSGi包的方法.两者都应该在Tomcat 7上运行. 我已经写了一个正常的Java应用程序,它调用OSGi软件包中的方法,如本站所述:http://drupal. ...

最新文章

  1. html6个圆圈放一排,html中两个选择框如何并排放置(一)
  2. java怎样生成文档_java中如何创建文档中心的目录
  3. 微服务实践(七):从单体式架构迁移到微服务架构
  4. 【渝粤教育】国家开放大学2019年春季 2114人体解剖生理学 参考试题
  5. 做企业网站为什么要服务器呢,企业为什么要建站?
  6. python脚本在linux上运行的两种方式_python脚本当作Linux中的服务启动实现方法
  7. python turtle 画数字8_turtle库的常用方法
  8. iPhone 14 Pro系列传出好消息,有望实现8GB内存自由
  9. 用JavaScript刷leetcode(刷题 第一天)
  10. 【复习笔记】Cache的映像方法
  11. C# WinForm ListView控件用法详解
  12. ai自动生成字幕软件有哪些?自动生成字幕软件推荐!
  13. AndroidN DisplayManagerService源码简析,亮屏流程分析
  14. 软件人员kpi制定模板_KPI绩效考核软件有哪些?拥有多种考核模板i人事
  15. Java源码阅读绘图规范手册--[捷特版]
  16. Elastic stack技术栈学习(十)— springboot集成ES API详解
  17. Pyqt设计界面时无法显示图片问题
  18. linux安装teamviewer黑屏,如何在CentOS 7上安装TeamViewer
  19. android 三星 蓝牙sco,android – 来电后蓝牙SCO失败
  20. vyos my_cli_shell_api 不见了

热门文章

  1. 802.11n 5GHz信道划分图
  2. 《如何更改其他程序ListView控件中某个Item的内容》 -- 天津 赵春生
  3. 阿里数据技术专家的数据平台实战笔记
  4. for..in和for..of的区别
  5. C#-数字图像处理算法-典型实例及标准测试图片
  6. 【智能合约】合约转账
  7. Django网站实战——手把手带大家制作一个经典的网站
  8. 几十款收费软件现在免费了
  9. jupyter-notebook 打不开网页解决办法
  10. 查看jvm内存状态的方式 -NMT证明jvm内存多样性