走进JavaWeb技术世界开篇:JavaWeb技术汇总
微信公众号【Java技术江湖】一位阿里 Java 工程师的技术小站。(关注公众号后回复”Java“即可领取 Java基础、进阶、项目和架构师等免费学习资料,更有数据库、分布式、微服务等热门技术学习视频,内容丰富,兼顾原理和实践,另外也将赠送作者原创的Java学习指南、Java程序员面试指南等干货资源)


Java Web是众多技术汇总形成的代名词,展开来说,包括了非常多相关技术。
Java发展了20年, 现在已经不仅仅是一个单纯的语言了, 而是一套完整的生态系统, 其中的术语像 HTML, XML, CSS, Javascript , AJAX, JQuery,Prototype, HTTP, Tomcat, JBoss, Nginx , Memecached , Redis, MVC ,Servlet, JSP, Struts, Hibernate, myBatis , Spring, JFinal, MySql, JDBC, EJB, JMS, Swing , AWT, Reflection, OSGi... 铺面而来, 搞的你头晕脑胀, 无所适从,很容易就Lost了。
这里放一张网上的学习路线图,虽然比较过时,但是还是有一定参考价值的。
其实在以前,JavaWeb开发需要兼顾前端和后端,Java程序员也要会前端技术,比如上述的html css和js等,并且表现层仍然使用着jsp,在后端进行渲染,而现在前端技术迅速发展,前端已经可以自己完成模板的渲染了,于是前后端逐渐分离,后端程序员只需要提供json数据接口即可,压根不需要负责模板的渲染。
于是乎,上述的内容很多都没那么重要了,但是一个完整的Java web项目或多或少都会用到这些技术,所以有一些根基的东西过了这么多年了都还没变,比如servlet,比如jdbc等等。
作为Java后端程序员,更加关注的是业务逻辑的开发以及服务端技术的学习,所以这里我们参考许令波老师的《深入分析JavaWeb技术内幕》,JavaWeb的技术体系大概可以分为以下几个部分。
即第一部分是web开发的基础知识,第二部分是Java的核心技术,第三部分是Java服务端的技术。
这里按照我自己的理解挑选本书比较核心的章节作为知识脉络。
0 JavaSE基础
既然使用Java语言做web开发,首先必须掌握的就是Java的核心技术,可以参考我的专栏文章:深入Java核心技术
1 web请求流程
这部分包括了http的基本知识,以及计算机网络相关基础知识,将在网络专栏详细介绍。
2 JavaIO技术
这部分包括了JavaIO的基本知识以及NIO的相关知识,这部分知识可以参考我的专栏:Java网络编程与NIO,其中详细了介绍NIO的相关知识。
3 Java Web中的中文编码问题
这部分虽然内容不多但是深究起来还是一块比较重要的内容,后续会在补充。
4 JVM基础,class字节码,类加载机制,javac编译原理等
这部分主要是JVM相关的技术内容,会在我的专栏: 深入理解JVM虚拟机 中陆续发表。
5 servlet,jsp , jdbc,session,cookie,Tomcat,jetty等,都是java web服务端的核心技术,将在本系列文章中讲述。当然在此之前最好看一下之前的内容,特别是Java网络编程和NIO的内容,是奠定后面内容学习的基础。
6 Spring,SpringMVC以及mybatis,velocity等内容,是在之前基础上设计出来的框架和模板技术,也是现在比较流行的技术。Spring相关的内容会在专栏 Spring源码解析 中详细介绍。而mybatis和velocity的内容会在本系列文章中放出。
7 另外,在Javaweb开发过程中常用到的Maven,git,甚至是ide等工具,也会有所介绍。
但是在此之前,我想说,学习这些技术基础,不妨先了解一下这些技术的历史,以及他们为什么产生,为什么消亡,了解一下过去的开发流程和现在的开发流程有何却别,产生这些变化的原因是什么,为什么会出现这些框架,为什么程序员会被区分为前端和后端。带着这些问题,在本专栏的前几章,你会找到答案。
走进JavaWeb技术世界开篇:JavaWeb技术汇总的更多相关文章
- 走进JavaWeb技术世界1:JavaWeb的由来和基础知识
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 走进JavaWeb技术世界3:JDBC的进化与连接池技术
走进JavaWeb技术世界3:JDBC的进化与连接池技术 转载公众号[码农翻身] 网络访问 随着 Oracle, Sybase, SQL Server ,DB2, Mysql 等人陆陆续续住进数据库 ...
- 走进JavaWeb技术世界14:Mybatis入门
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- 走进JavaWeb技术世界7:Tomcat和其他WEB容器的区别
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- Java工程师学习指南第2部分:JavaWeb技术世界
本文整理了微信公众号[Java技术江湖]发表和转载过的Java Web优质文章,想看到更多Java技术文章,就赶紧关注吧. IDEA中的Maven实战 老师,免费版的IDEA为啥不能使用Tomcat? ...
- 深入JavaWeb技术世界15:深入浅出Mybatis基本原理
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- javaweb开发所需的技术需求
本文仅为新手想学习javaWeb的提供一些参考,有不足或错误之处可以修改或添加,另希望以后学习者可以同样将自己的心得发来和大家分享...谢谢 1 前台:html,css,javascript 这是最 ...
- VC++/MFC(VC6)开发技术精品学习资料下载汇总
工欲善其事,必先利其器,VC开发MFC Windows程序,Visual C++或Visual Studio是必须的,恩,这里都给你总结好了,拿去吧:VC/MFC开发必备Visual C++.Visu ...
- 转:基于IOS上MDM技术相关资料整理及汇总
一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...
随机推荐
- 在函数作用域嵌套下使用this
var myObj = { specialFunction: function () { console.log("specialFunction."); ...
- MVC,MVP 和 MVVM 的图示(原理)
一.MVC MVC模式的意思是,软件可以分成三个部分. 视图(View):用户界面. 控制器(Controller):业务逻辑 模型(Model):数据保存 各部分之间的通信方式如下. View 传送 ...
- reduce方法的使用
reduce(收敛):接收一个回调函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是ES5中新增的又一个数组逐项处理方法. reduce(callback,initialValue) ...
- javascript--HTML DOM常用元素对象
二,Select:访问select元素 属性:.selectedIndex 获取select中当前选中项的下标 .options 获取select中所有的option元素 返回值为数组 .opti ...
- C和指针--预处理器
编译一个C程序的第1个步骤是预处理(preprocessing)阶段.C预处理器在源代码编译之前对其进行一些文本性质的操作.它的主要任务包括删除注释.插入被#include指令包含的文件的内容.定义和 ...
- 爬虫必备的web知识
爬虫定义.分类和流程 爬虫的定义: 网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟浏览器发送网络请求,接收请求响应,一种按照一定的规则,自动地抓取互联网信息的程序.爬虫就是模拟浏览器的行为,越像越好 ...
- 如何让DEV跳出的“提示试用版”的对话框不再显示
在 使用DevExpress控件的时候.每次对窗体进行更改的时候,都会出现一个对话框.发布的时候 也会出现一个对话框.之前的解决方法是在发布的时候把licenses.licx给删除掉,但是这个方法治标 ...
- 《流畅的Python》Data Structures--第3章 dict 和 set
dict and set 字典数据活跃在所有的python程序背后,即使你的源码里并没有直接使用它. 和dict有关的内置函数在模块builtins的__dict__内. >>> _ ...
- harbor1.9仓库同步迁移
harbor 1.9 实战的仓库迁移,过程实际上就是从A push 到B.16个tag 不到100G,挺快的 1分钟多. 假设我们从A迁移到B. 1.先在A上面建立一个目标仓库.
- JavaScript有趣的知识点
JavaScript中总有一些有趣的小知识,而且又是很容易犯错的.我把我遇到的慢慢罗列一下,方便大家避坑 typeof(null)返回的结果是 object " "变成布尔类型为t ...