一步一步完成nodejs+express+mysql的简单实例开发
1、使用express创建简单web服务器
项目文件下安装express,这个不多说,很简单,直接在项目目录下运行

npm install express
在项目目录下创建app.js文件,代码如下
var express = require('express); //引入express模块
var app = express(); //创建express的实例
app.get('/', function(req, res){
res.send('Hello,myServer'); //服务器响应请求
});
app.listen(3000,function(){ //监听3000端口
console.log("Server running at 3000 port");
});
项目目录下运行

node app.js
可以看到结果

打开浏览器访问:http://localhost:3000/

2、添加数据库,连接到数据库并在console中输出
此处参考菜鸟教程:菜鸟教程
利用菜鸟教程中的示例数据库,导入到本地数据库连接中,如图

对app.js中的代码进行修改
var express = require('express'); //引入express模块
var mysql = require('mysql'); //引入mysql模块
var app = express(); //创建express的实例

var connection = mysql.createConnection({ //创建mysql实例
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'myserver'
});
connection.connect();
var sql = 'SELECT * FROM websites';
connection.query(sql, function (err,result) {
if(err){
console.log('[SELECT ERROR]:',err.message);
}
console.log(result); //数据库查询结果返回到result中

});
app.get('/',function (req,res) {
res.send('Hello,myServer'); ////服务器响应请求
});
connection.end();
app.listen(3000,function () { ////监听3000端口
console.log('Server running at 3000 port');
});
此时再运行node app.js时会发现数据库查询数据返回到console中

web页面上访问仍然没有变化
3、将数据库的数据返回到web页面上,通过访问浏览器能看到数据库返回结果
再对app.js进行修改,然后运行node app.js
var express = require('express'); //引入express模块
var mysql = require('mysql'); //引入mysql模块
var app = express(); //创建express的实例

var connection = mysql.createConnection({ //创建mysql实例
host:'127.0.0.1',
port:'3306',
user:'root',
password:'root',
database:'myserver'
});
connection.connect();
var sql = 'SELECT * FROM websites';
var str = " ";
connection.query(sql, function (err,result) {
if(err){
console.log('[SELECT ERROR]:',err.message);
}
str = JSON.stringify(result);
//数据库查询的数据保存在result中,但浏览器并不能直接读取result中的结果,因此需要用JSON进行解析
//console.log(result); //数据库查询结果返回到result中
console.log(str);
});
app.get('/',function (req,res) {
res.send(str); //服务器响应请求
});
connection.end();
app.listen(3000,function () { ////监听3000端口
console.log('Server running at 3000 port');
});
可以看到console的输出信息,将数据库中RowDataPacket解析成了JSON对象

再次打开浏览器

至此,实际上就已经完成了nodejs+express+mysql的最简单的开发,省去了繁琐的路由,如果想让页面更美观,使用Ext或者CSS去写页面都可以,这里不再赘述。

一步步精通NodeJs的简单实例的更多相关文章

  1. nodejs的简单爬虫

    闲聊       好久没写博客了,前几天小颖在朋友的博客里看到了用nodejs的简单爬虫.所以小颖就自己试着做了个爬博客园数据的demo.嘻嘻......      小颖最近养了条泰日天,自从养了我家 ...

  2. java反射机制简单实例

    目录 Java反射 简单实例 @(目录) Java反射 Java语言允许通过程序化的方式间接对Class进行操作.Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通 ...

  3. vue.js+webpack在一个简单实例中的使用过程demo

    这里主要记录vue.js+webpack在一个简单实例中的使用过程 说明:本次搭建基于Win 7平台 Node.js 安装官网提供了支持多种平台的的LTS版本下载,我们根据需要来进行下载安装.对于Wi ...

  4. Hibernate(二)__简单实例入门

    首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...

  5. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  6. 修改js confirm alert 提示框文字的简单实例

    修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...

  7. 利用navicat创建存储过程、触发器和使用游标的简单实例

    利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报  分类: 数 ...

  8. 【转】Android Https服务器端和客户端简单实例

    转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 ...

  9. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

随机推荐

  1. 初始化mysql数据库时提示字符编码错误的解决办法

    有时候在安装完数据库并初始化的时候会出现如下错误: root@localhost mysql-5.5.19]# bash scripts/mysql_install_db --user=mysql - ...

  2. 线程 Thread类 的四个构造方法简介

    在线程中,Thread类有四个构造方法: 当我们使用 Thread类创建对象的时候,传入参数,就会用到构造方法.ThreadStart 和ParameterizedThreadStart 都是 委托类 ...

  3. matlab 下载

    Obrazy DVD programu Matlab ke stažení Verze 2015b Verze 2015a Verze 2014b Verze 2014a Verze 2012b Ve ...

  4. Media所有参数汇总

    Media所有参数汇总 我们最常需要用到的媒体查询器的三个特性,大于,等于,小于的写法.媒体查询器的全部功能肯定不止这三个功能,下面是我总结的它的一些参数用法解释: width:浏览器可视宽度. he ...

  5. 第48章 MDK的编译过程及文件类型全解—零死角玩转STM32-F429系列

    第48章     MDK的编译过程及文件类型全解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...

  6. android design 新控件

    转载请标明出处: http://blog.csdn.net/forezp/article/details/51873137 本文出自方志朋的博客 最近在研究android 开发的新控件,包括drawe ...

  7. SpringBoot学习5:访问静态资源

    springboot默认从项目的resources里面的static目录下或者webapp目录下访问静态资源 方式一:在resources下新建static文件(文件名必须是static) 在浏览器中 ...

  8. motto - Express 4.x Request对象获得参数方法

    本文搜索关键字:motto express node js nodejs javascript request body request.body 1. req.param() 该方法获得参数最为方便 ...

  9. python实现简单分类knn算法

    原理:计算当前点(无label,一般为测试集)和其他每个点(有label,一般为训练集)的距离并升序排序,选取k个最小距离的点,根据这k个点对应的类别进行投票,票数最多的类别的即为该点所对应的类别.代 ...

  10. python代码实现截图识字

    有次网上down了个截图实识的软件,发现一天只能用10次要钱才能解锁免费,很气,作为一个菜鸡怎么能忍受 于是自己用python写了个简单的小工具,分享给大家 代码如下: 先安装库 from PIL i ...