走进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世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...
随机推荐
- Python练习_购物车_day6
第一次代码 (1) 输出商品列表,用户输入序号,显示用户选中的商品. 页面显示 序号 + 商品名称,如: 1 手机 2 电脑 (2): 用户输入选择的商品序号,然后打印商品名称 (3):如果用户输入的 ...
- js大数计算之计算
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Eclipse安装windowsbuilder
详见:https://www.cnblogs.com/plusplus/p/9864708.html https://www.cnblogs.com/lsy-blogs/p/7717036.html ...
- (1)openstack-Rabbitmq 集群部署
一.前期准备 (1)条件:准备3台linux系统,确保配置好源,及epel源 yun1,yun2,yun3 (2)三台机器能够静态解析彼此 (3)设置可以无密钥登陆 ssh-keyge ...
- Kinect for Windows SDK开发入门(七):骨骼追踪基础 下
http://www.cnblogs.com/yangecnu/archive/2012/04/09/KinectSDK_Skeleton_Tracking_Part2.html 上一篇文章用在UI界 ...
- linux getpid _getpid()
getpid是一种函数,功能是取得进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题. 函数功能:取得进程识别码 相关函数:fork,kill,getpid 头文件:旧版本 ...
- mysql 5.7 版本 You must reset your password using ALTER USER statement before executing this statement报错处理
https://blog.csdn.net/muziljx/article/details/81541896 MySQL版本5.7.6版本开始的用户可以使用如下命令: mysql> ALTER ...
- open_window()到底做了什么?
Hlong MainWndID= (Hlong)m_hWnd; open_framegrabber(, , , , , , , , "default", , -, &Acq ...
- ubuntu redis 安装 &基本命令
参考资料:https://www.cnblogs.com/zongfa/p/7808807.htmlredis命令参考:http://doc.redisfans.com/安装:sudo apt-get ...
- 现代浏览器性能优化-CSS篇
我来填坑了,CSS篇终于写出来了,如果你没看过前面的JS篇,可以在这里观看. 众所周知,CSS的加载会阻塞浏览器渲染或是引起浏览器重绘,目前业界普遍推荐把CSS放到<head>中,防止在C ...