文档章节

如何成为一个Java Web开发者

SXTkaifa
 SXTkaifa
发布于 2016/10/24 14:32
字数 2394
阅读 14
收藏 1

“怎么才能成为一个Java Web开发者?”对于这个问题,答案其实并不简单。成为一个Java Web开发人员包括很多方面。我从北京尚学堂毕业到现在遇到过不少的Java程序员,有的可能曾是优秀的前端开发人员,也可能以前是不错的后端开发人员。所谓“前端”,一般指众多浏览器端技术——HTML、CSS、Javascript,以及Java模板技术。后端开发人员有更坚实的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框架,隐藏着JavaServlet 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开发人员入门的话,先专注于客户端技术,因为客户端技术独立于服务器端技术。因此,等你入门了以后,你将会有更多的就业选择。此外,虽然客户端技术的薪酬通常比服务器端的低,但这会是一个良好的开端。你可以快速获得技能以便于就业,然后再转移焦点,拓宽技能集,以谋求更好的就业机会。

本博客更新会在第一时间推送到微信公众号,欢迎大家关注。

查看更多精彩图片

 

 

更多猛料!欢迎扫描上方微信公众号        ( 资料领取验证消息:156)   

 

© 著作权归作者所有

SXTkaifa
粉丝 3
博文 109
码字总数 250758
作品 0
太原
程序员
私信 提问
java极速开发框架--JDiy

JDiy开源框架。2.6版发布更新。 JDiy是一个超轻量级的java开源框架,同时也包含一套javaWeb建站开发平台。可以将JDiy应用于javaWeb/javaEE开发环境,或javaSE开发环境。 JDiy支持多种类型的数...

子秋
2013/01/07
7.3K
6
访问数据库--JDBC

前言   JDBC是在ODBC的基础上开发的支持Java的数据库编程接口,它已成为数据库开发者使用的标准的API。使用JDBC可以很容易地把SQL语句传送到任何一个关系型数据库中。其API包括如下接口: ...

Gnd15732625435
2017/12/31
0
0
[北京]妹子一枚求个Web开发实习生的职位

各位同仁: 大家晚上好 我是一名大三的学生,我想在北京找一个Web开发实习生的工作,我在学校主要学习的java,对java较为熟悉,近段时间在看python(这是主线).我可以像全勤的员工一样到公司上班....

刘春辉
2015/05/05
2.2K
22
在Java开源王国中自由翱翔

在如今的Java领域,各种新技术,新工具层出不穷,一方面,每一种技术都会不停的升级换代,另一方面,还会不断涌现出新的技术和工具。Java世界就像小时候玩的万花筒,尽管实质上只是由几个普通...

孙卫琴
2007/02/10
0
0
Docker学习之搭建JavaWeb环境

自上次从北京参加阿里云社区开发者进阶大会回来,就萌发了学习Docker的种子,尽管公司现在的业务并没有什么需求,但学习先进的东西总没有坏处。 2017年,Docker 四周岁啦!尽管之前有所耳闻,...

小柒2012
2018/01/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊Elasticsearch的CircuitBreakerService

序 本文主要研究一下Elasticsearch的CircuitBreakerService CircuitBreakerService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/indices/breaker/CircuitBreakerService.ja......

go4it
27分钟前
3
0
Spring系列教程六:AOP详细讲解

AOP 概述 什么是 AOP AOP:全称是 Aspect Oriented Programming 即:面向切面编程。 AOP技术是对OOP技术的一种延伸,AOP是面向纵向,OOP是面向横向。简单的说它就是把我们程序重复的代码抽取...

我叫小糖主
40分钟前
12
0
Qt编写数据可视化大屏界面电子看板9-曲线效果

一、前言 为了编写数据可视化大屏界面电子看板系统,为了能够兼容Qt4和嵌入式linux系统,尤其是那种主频很低的,但是老板又需要在这种硬件上(比如树莓派、香橙派、全志H3、imx6)展示这么华...

飞扬青云
今天
3
0
责任链模式

//这篇博客的博主真的不错,解析的都很清晰明了, https://blog.csdn.net/jason0539/article/details/45091639

南桥北木
今天
3
0
Flutter -------- dio网络请求

dio是Flutter中文网开源的一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等... 1.添加依赖# dependencies: dio: 2.1.x #...

切切歆语
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部