乐趣区

走进JavaWeb技术世界开篇JavaWeb技术汇总

走进 JavaWeb 技术世界开篇:JavaWeb 技术汇总

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 等工具,也会有所介绍。

但是在此之前,我想说,学习这些技术基础,不妨先了解一下这些技术的历史,以及他们为什么产生,为什么消亡,了解一下过去的开发流程和现在的开发流程有何却别,产生这些变化的原因是什么,为什么会出现这些框架,为什么程序员会被区分为前端和后端。带着这些问题,在本专栏的前几章,你会找到答案。

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

退出移动版