Node.js搭建HTTP服务与MySQL数据库操作详解

闻溪
闻溪
发布时间:2026-10-15| 2人浏览过
原创

本文将通过具体代码示例,演示如何利用 Node.js 内置的 http 模块创建响应式服务器,以及如何引入第三方 mysql 模块完成数据库的连接与数据查询。文章包含完整的操作步骤、代码片段及运行效果说明,适合需要了解 Node.js 服务端基础能力的开发者参考。

使用 Node.js 搭建 HTTP 请求服务

Node.js 作为服务端 JavaScript 运行时,其核心优势在于事件驱动和非阻塞 I/O。我们可以通过内置的 http 模块快速构建一个简单的 Web 服务器,无需依赖外部框架即可处理基本的 HTTP 请求。

第1步:导入 http 模块并创建服务器

目的:引入 Node.js 核心网络库并初始化服务器实例。 入口/代码:在项目文件中引入 require('http'),调用 createServer 方法创建服务对象。 重要参数:回调函数接收 request(请求对象)和 response(响应对象)。 const http = require('http'); http.createServer(function(request, response) { // 后续逻辑 })

第2步:设置响应头信息

目的:告诉浏览器如何解析返回的内容类型,确保 HTML 标签能正常渲染而非作为纯文本显示。 入口/代码:在回调函数首部调用 writeHead。 可观察的完成状态:HTTP 状态码设为 200(OK),内容类型设为 text/html。 response.writeHead(200, {'Content-type': 'text/html'});

第3步:输出响应内容并结束连接

目的:向客户端发送具体的 HTML 字符串数据,并关闭本次请求响应循环。 入口/代码:使用 end() 方法发送数据。 response.end("hello server!!");

第4步:监听端口并启动服务

目的:使服务器开始监听指定端口,等待浏览器发起请求。 入口/代码:链式调用 listen(8888),并在控制台打印启动成功提示。 完整代码示例: const http = require('http'); http.createServer(function(request, response) { // 设置响应头,告知浏览器以HTML格式解析内容 response.writeHead(200, {'Content-type': 'text/html'}); // 输出内容 response.end("hello server!!"); }).listen(8888); // 监听8888端口 console.log("您启动的服务是: http://localhost:8888已启动成功");

在终端中运行上述脚本(例如保存为 app.js 后执行 node app.js),将看到以下启动成功的界面:

当服务成功监听后,浏览器访问 http://localhost:8888 即可看到加粗显示的 "hello server!!":

验证 Content-Type 的作用

若将 response.writeHead 中的 Content-type 修改为 text/plain,浏览器将不再解析 HTML 标签,而是直接输出原始字符串(包括 <strong> 标签本身)。这证明了正确设置响应头对于前端渲染的重要性。修改代码后需保存文件并重新运行服务。

通过 Node.js 操作 MySQL 数据库

Node.js 官方未提供原生的数据库操作模块,因此我们需要借助第三方库。这里使用最经典的 mysql npm 包来实现数据的连接与查询。

第1步:安装 mysql 依赖包

目的:在项目环境中下载并安装数据库驱动。 操作:在项目根目录的终端执行以下命令。 npm install mysql 成功后,项目中会出现 node_modules 文件夹,内含该依赖包:

第2步:连接数据库配置与准备

目的:建立 Node.js 应用与 MySQL 服务器的连接通道,并确保测试数据存在。 前置条件:本机已安装 MySQL 服务,且拥有访问权限的用户名和密码。假设我们已在本地创建一个名为 testdb 的数据库,其中包含 user 表,并已插入两条测试记录:

第3步:编写数据库连接与查询代码

目的:实现连接、执行 SQL 查询并输出结果集。 关键参数说明:代码中原稿存在拼写错误 post:3306,实际应为 port:3306。请务必修正此参数名,否则连接将失败。 完整操作流程:

1. 引入模块并定义连接配置。
2. 创建连接对象 connection。
3. 调用 connect() 建立连接。
4. 使用 query() 执行 SQL 语句。
5. 处理错误或成功结果,并调用 end() 关闭连接。

修正后的完整代码:

var mysql = require('mysql'); // 创建连接配置,注意参数名为 port 而非 post var connection = mysql.createConnection({ host: '127.0.0.1', port: 3306, // 修正:原草稿误写为 post user: 'root', // 请替换为您的实际用户名 password: '111', // 请替换为您的实际密码 database: 'testdb' }); // 开辟连接 connection.connect(); // 执行查询语句 connection.query('SELECT * FROM user', function (error, results, fields) { if (error) throw error; // 输出查询到的结果集 console.log('results = ', results); // 查询完成后关闭连接 connection.end(); });

第4步:运行并查看结果

运行上述脚本,终端将输出数据库中 user 表的所有数据行:

至此,我们完成了通过 Node.js 发起 HTTP 请求响应以及连接 MySQL 数据库进行基本查询的全流程演示。

以上就是 Node.js 实现 HTTP 请求服务与 MySQL 数据库操作方法详解的详细内容,更多关于 Node.js http 请求服务内容的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。