后端开发基础都有哪些?

由于近来国内移动开发现状所致,应该有不少移动开发者在考虑转别的方向,个人感觉后端开发是个不错的选择。当然,人工智能、大数据异常火爆,有能力的同学不妨试一试。

正好最近一段时间在学习 Java web,基础知识基本过了一篇,在这里回顾一下,刚好可以帮助想要转后端朋友熟悉下流程。

后端开发一般是指 web 系统开发,想要学习后端开发,首先要有 HTML、CSS、JavaScript 基础。web 页面简单来说就是由这三者组成,HTML 负责结构、CSS 负责展现、JavaScript 负责行为。一般 web 页面是由前端工程师来做,我们要学习后端首先要有前端基础,不要求能够开发出多么漂亮的页面,能够掌握基础就 ok。

过完前端基础知识之后就可以开始学习后端开发了,要掌握的基础知识有:XML、HTTP 协议、Servlet、会话(Cookie、Session)、JSP、JDBC、Filter ,还有自定义标签、各类标签库等,下面分别给大家介绍下其中一些关键技术。

XML:

看到 XML 有人会问:它和 HTML 有什么关系吗?首先,它们都是标记文本,结构上大致相同,但实际上有本质的区别。

HTML 是 HyperText Markup Language,超文本标记语言,用来显示数据,不区分大小写,标记为预定义的;而 XML 是 Extensible Markup Language,可扩展标记语言,用来描述数据的性质和结构,严格区分大小写和标签书写方式,其标记可随意定义并且可扩展。

其次,XML 可用作配置文件,目前绝大多数 Java 应用程序的配置文件都是 XML。所以,XML 主要用于程序之间的数据交换,以及描述程序的配置信息。

HTTP 协议:

HTTP,Hyper Text Transfer Protocol 的缩写,译为超文本传输协议。在浏览器与服务器的交互过程中,需要遵循一定的规则,这个规则就是 HTTP,它专门用于定义浏览器与服务器之间交换数据的过程以及数据本身的格式。

说白了,HTTP 就是浏览器和服务器聊天的一种约定,这个约定需要确保双方之间互相理解。HTTP 协议是一种“无状态”协议,就是说每次浏览器和服务器通讯都会建立一次连接,数据交互完成则断开连接,下次通讯只能再建立连接,由于建立连接非常消耗资源,所以引出了 HTTP 1.1 版本,具体我们下次再谈。

HTTP 协议是非常复杂的,不过最重要的就几点,比如 GET、POST 请求;HTTP 状态码;同步、异步;如何维持状态(会话技术:Cookie、Session)。

Servlet:

Servlet 是开发动态 web 资源的重要技术,其他常见的还有:JSP、ASP 和 PHP 等,同时 Serlvet 是后端开发的重要基础技术。其主要功能在于交互式地浏览和修改数据,生成动态 web 内容。

绝大多数情况下 Servlet 用来扩展基于 HTTP 协议的 web 服务器,但它是可以响应任何类型请求的。其工作模式为:浏览器请求服务器;服务器启动并调用 Servlet,Servlet 根据客户端的请求生成响应内容;服务器将响应内容返回客户端。

需要重点掌握的是:Servlet 生命周期、HttpServlet「doGet() 和 doPost() 方法」、请求和响应。

JSP:

JSP 全称为 Java Server Page,即 Java 服务器页面。它其实是 Servlet 的扩展,由于 Servlet 大多是用来响应 HTTP 请求,并返回 web 页面,所以在编写 Servlet 时会涉及大量的 HTML 代码,这给 Servlet 代码的编写和维护带来非常大的障碍,为了解决这一问题,就此产生了 JSP。

它的作用是使用 HTML 的编写方式,在适当的地方嵌入 Java 代码,同时,JSP 增加称为「JSP 动作」的 XML 标签,用来调用内建功能。

JSP 在首次被访问是会被服务器转成 Servlet,以后 web 容器则直接调用这个 Servlet,而不再访问 JSP 页面,所以 JSP 实质上还是 Servlet。需要重点掌握的是 JSP 标签库。

JDBC:

说 JDBC 之前要先谈谈数据库,因为 JDBC 操作的就是数据库,所以我们要先学会写 SQL 语句。

数据库在后端开发中是不可或缺的一部分,也是开发中最重要的一部分,我们日常使用的所有软件都是由数据支撑,操作的也都是数据,没有数据我们的软件将都不可使用,我们的生活将黯淡无光,可见数据库的重要性,推荐学习 MySQL,原因以后再谈。

JDBC 全称是 Java Database Connectivity ,即 Java 数据库连接,它是一套用与执行 SQL 语句的 Java API,Java 应用程序通过使用 JDBC 来连接到关系型数据库,并使用 SQL 语句来完成对数据库中数据的操作,包括查询、更新、删除等。主要掌握 JDBC 中的 Connection,Statement,Resultset 三个基础。


好了,由于篇幅较长就主要介绍这几个关键的技术。还有一些基础像:Filter「过滤器」、文件的上传和下载、EL 表达式、自定义标签等都非常重要,建议大家自行查阅。在以后的文章中会具体讲解这些技术,这篇就算是一个目录吧。

当然,这些技术只是后端开发的基础,也是学习后端必备的知识,只有掌握了基础知识,才能有去学习像 SSH、SSM 等框架的资格。