Node.js實(shí)現(xiàn)http請求服務(wù)與Mysql數(shù)據(jù)庫操作方法詳解
前言
nodejs是一門服務(wù)端的語言,同時(shí)也是現(xiàn)在前端必須要會(huì)的一門語言。
簡單地說,node.js就是運(yùn)行在服務(wù)端的javascript。本文通過實(shí)現(xiàn)http請求響應(yīng)和連接數(shù)據(jù)庫進(jìn)行增刪改查來直觀的體會(huì)一下node.js
node實(shí)現(xiàn)http請求服務(wù)
1.導(dǎo)入http請求模塊
const http = require('http');這是nodejs內(nèi)嵌的API,所以可以直接使用,就像是python里import包一樣。
2.創(chuàng)建一個(gè)httpserver服務(wù)
http.createServer(function(request,response){})3.添加輸出內(nèi)容
response.end("<strong>hello server!!</strong>");這個(gè)語句要加在httpserver服務(wù)的回調(diào)函數(shù)中
4.為瀏覽器添加解析
response.writeHead(200,{'Content-type':'text/html'});因?yàn)闉g覽器不認(rèn)識什么是hello server,所以我們要讓瀏覽器認(rèn)識它,就要告訴瀏覽器將以text-html去解析hello server這段數(shù)據(jù),以html方式解析瀏覽器就知道strong標(biāo)簽什么意思了。同樣這個(gè)語句要寫在回調(diào)函數(shù)中。
5.添加監(jiān)聽端口
這里結(jié)合前兩個(gè)語句把創(chuàng)建的httpserver服務(wù)補(bǔ)全:
http.createServer(function(request,response) {
response.writeHead(200,{'Content-type':'text/html'})
response.end("<strong>hello server!!</strong>");
}).listen(8888);這里我們的http請求的端口號是8888
最后我們整理一下完整的http請求服務(wù)代碼:
const http = require('http');
http.createServer(function(request,response) {
response.writeHead(200,{'Content-type':'text/html'})
response.end("<strong>hello server!!</strong>");
}).listen(8888);
console.log("您啟動(dòng)的服務(wù)是: http://localhost:8888已啟動(dòng)成功");6.啟動(dòng)運(yùn)行服務(wù)
在集成終端中運(yùn)行:

看到這句話就說明我們的http請求服務(wù)成功了

在瀏覽器中輸入:http://localhost:8888/qu'fang'wen
可以看到瀏覽器中輸出了加粗了的hello server

回到第四步,如果我們把 'text/html' 改為 'text/plain' ,也就是文本解析,瀏覽器中會(huì)輸出什么呢?
注意:我們修改操作后要保存js文件,在終端中重新輸入前要按 Ctrl+c才行
我們重新啟動(dòng)服務(wù)再刷新瀏覽器:

可以看到如果我們告訴瀏覽器以文本解析的話,strong標(biāo)簽會(huì)原封不動(dòng)的輸出出來。那么這就是我們學(xué)習(xí)nodejs的第一個(gè)入門案例了。
node操作數(shù)據(jù)庫
下面我們學(xué)習(xí)一下用node來操作數(shù)據(jù)庫
nodejs的官方文檔里沒有給我們提供操作數(shù)據(jù)庫的模塊,那怎么辦呢?我們可以引入第三方的模塊
1.安裝mysql依賴
npm install mysql
我們在項(xiàng)目工程的終端里直接執(zhí)行這個(gè)命令就行:

然后在我們的項(xiàng)目目錄中就多了一個(gè)node_modules文件夾:

2.導(dǎo)入mysql依賴包
var mysql = require("mysql");3.配置數(shù)據(jù)連接信息
mysql.createConnection({
host:"127.0.0.1",
post:3306,
user:"root",
password:'111',
database:"testdb"
});這里host就是我們的本機(jī)ip,post是數(shù)據(jù)庫端口,user是用戶名,然后就是密碼,database是我們建立的數(shù)據(jù)庫:

我們建完數(shù)據(jù)庫之后,在里面新建一個(gè)表,這里就叫user了,然后向表里插入兩條數(shù)據(jù):

4.創(chuàng)建一個(gè)mysql的connection對象
我們定義一個(gè)connection變量來對連接的信息進(jìn)行接收:
var connection = mysql.createConnection({
host:"127.0.0.1",
post:3306,
user:"root",
password:'111',
database:"testdb"
});5.開辟連接
connection.connect();
6.執(zhí)行語句
connection.query("select * from user",function(error,results,fields) {
//如果查詢出錯(cuò),直接拋出
if(error)throw error;
//查詢成功
console.log("results = ",results);
})這里我們直接查詢一下數(shù)據(jù)庫里的所有數(shù)據(jù),然后把results結(jié)果集輸出出來
7.關(guān)閉連接
connection.end();
把所有部分整理一下:
var mysql = require("mysql");
var connection = mysql.createConnection({
host:"127.0.0.1",
post:3306,
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();8.運(yùn)行并查看結(jié)果

可以看到在終端中輸出了我們在數(shù)據(jù)庫中添加的所有數(shù)據(jù)
這樣通過nodejs操作數(shù)據(jù)庫我們也簡單實(shí)現(xiàn)了。
到此這篇關(guān)于Node.js實(shí)現(xiàn)http請求服務(wù)與Mysql數(shù)據(jù)庫操作方法詳解的文章就介紹到這了,更多相關(guān)Node.js http請求服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- node.js 開發(fā)指南 – Node.js 連接 MySQL 并進(jìn)行數(shù)據(jù)庫操作
- Node.js數(shù)據(jù)庫操作之查詢MySQL數(shù)據(jù)庫(二)
- Node.js下向MySQL數(shù)據(jù)庫插入批量數(shù)據(jù)的方法
- Node.js操作mysql數(shù)據(jù)庫增刪改查
- Node.js數(shù)據(jù)庫操作之連接MySQL數(shù)據(jù)庫(一)
- node.js平臺(tái)下的mysql數(shù)據(jù)庫配置及連接
- 從零學(xué)習(xí)node.js之mysql數(shù)據(jù)庫的操作(五)
- Linux下為Node.js程序配置MySQL或Oracle數(shù)據(jù)庫的方法
- Node.js實(shí)現(xiàn)連接mysql數(shù)據(jù)庫功能示例
- Node.js對MySQL數(shù)據(jù)庫的增刪改查實(shí)戰(zhàn)記錄
- node.js如何操作MySQL數(shù)據(jù)庫
- node.js對于數(shù)據(jù)庫MySQL基本操作實(shí)例總結(jié)【增刪改查】
相關(guān)文章
koa+mongoose實(shí)現(xiàn)簡單增刪改查接口的示例代碼
這篇文章主要介紹了koa+mongoose實(shí)現(xiàn)簡單增刪改查接口的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
nodejs16.15.0版本如何解決node-sass和sass-loader版本沖突問題
這篇文章主要介紹了nodejs16.15.0版本如何解決node-sass和sass-loader版本沖突問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
nodejs遍歷文件夾下并操作HTML/CSS/JS/PNG/JPG的方法
這篇文章主要介紹了nodejs遍歷文件夾下并操作HTML/CSS/JS/PNG/JPG的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11
nodejs 中模擬實(shí)現(xiàn) emmiter 自定義事件
這篇文章主要介紹了Nodejs中自定義事件實(shí)例,比較簡單的一個(gè)例子,需要的朋友可以參考下。2016-02-02
如何設(shè)置process.env.NODE_ENV生產(chǎn)環(huán)境模式
process.env.NODE_ENV默認(rèn)只有兩種狀態(tài)即development和production,本文主要介紹了process.env.NODE_ENV設(shè)置生產(chǎn)環(huán)境模式,感興趣的可以了解一下2021-09-09

