前提:

开发APP时经常会用到后台提供的接口,作为一个一直搞前端的程序员。如何写后台这事不能真的一窍不通把。所以还是多多少少了解一些后台。

以前尝试过用java 的spring + springMVC + MyBitas 搞一个简单的后台玩玩。可是环境的搭建和调试实在是麻烦,而且报错日志看不懂啊。最后决定用基于 Node 的express 框架。

我的需求很简单:

1、后台服务能响应get 请求和post请求

2、最简单的请求只返回json

3、请求的处理过程中需要连接mysql数据库,查表,方便后续扩展开发。

mac serria 环境 node@6.10.1 | express@4.x | express-myconnection@1.0.4 | mysql 5.1.x | IDE:IDEA

开发环境的安装自行百度,环境安装好之后,用数据库管理工具navicat新建一个简单的user 表。输入如下数据。如果要展示中文,新建表时记得配置 varchar的编码方式为utf-8。

一、准备

工程目录 基本结构如下,新建一个nodeSql的文件夹,打开IDEA 建立如下连个文件,其他文件可以可以后续添加。也可以用express-genrator 生成应用。目录更加详细规整。

+router

--index.js

-app.js

新建一个express 工程,可以按照官方给你教程新建一个最简单的工程:

app.js 里的代码

 1 var express = require('express');//引入 express
 2 var home = require('./router/index');//引入需要的路由
 3 var mysql = require('mysql'),//配置mysql数据库
 4 myConnection = require('express-myconnection'),
 5 dbOptions = {
 6     host : 'localhost',
 7     user:'root',
 8     password:'***',
 9     port: 3306,
10     database:'dataBaseName'
11 };
12
13 var app = express();//创建express应用
14 app.use(myConnection(mysql, dbOptions, 'single'));//这里用简单的单例连接
15 app.use('/', home);
16 //创建服务
17 var server = app.listen(3000, function(){
18     var host = server.address().address;
19     var port = server.address().port;
20     console.log('Express app listening at: http://%s:%s ' ,host, port);
21 });

routes/index.js 里的代码

 1 var express = require('express');
 2 var router = express.Router();//引用express的路由
 3 router.get('/', function(req, res, next){//首页路由
 4         res.send('欢迎来到首页');
 5         next();
 6     });
 7     router.get('/about', function(req, res){//关于界面
 8         res.send('关于界面');
 9     });
10 router.get('/test', function(req, res, next){//测试数据库能否查询成功
11         req.getConnection(function (err, conn) {
12             if(err){
13                 return next(err);
14             }else {
15                 conn.query('select * from user',[], function (err, result) {
16                     if(err){
17                         return next(err);
18                     }else{
19                         console.log(result);
20                         res.json(result);
21                     }
22                 })
23             }
24         })
25     });
26
27 router.get('/login', function(req, res){//处理一个简单的带参数的get请求
28         console.log("json" + JSON.stringify(req.query));
29         var params = req.query;
30         if(params.userName == 'wjw' && params.password == 'wjw'){
31             // res.json({"userName":userName,"password":password});
32             res.send("login success!");
33         }else {
34             res.send("userID or password was wrong!");
35         }
36     });
37   module.exports = router;//模块导出

在nodeSql文件夹的位置打开终端。输入 node app.js 启动服务

在浏览其中 输入 localhost:3000/test 回车

在浏览器中 输入 localhost:3000/login?userName=wjw&password=wjw

观察结果 能够正常连接数据库并读出数据了。能够响应带参数的get请求。

转载于:https://www.cnblogs.com/wjw-blog/p/6906669.html

基于express + express-myconnection 的请求处理模板相关推荐

  1. 基于Vue+Express+Mysql开发的手机端电影购票系统(附源码)

    基于Vue+Express+Mysql开发的手机端电影购票系统 基于手机的电影购票系统-Vue+Node 一个Vue+Express+Mysql的电影售票项目 项目完整源码下载 https://dow ...

  2. express应用中ajax结合模板引擎ejs.js渲染页面

    一.express应用中ajax结合模板引擎ejs.js渲染页面 在views新建一个渲染模板命名 Template.ejs Template.ejs 示例: <% if(coursesList ...

  3. [PCIE733]基于PCI Express总线架构的2路160MSPS AD采集、12路LVDS图像数据采集卡

    板卡概述         PCIE733是一款基于PCI Express总线架构的,实现2路16-bit.160MSPS ADC采集功能.12路LVDS数据采集板卡.该板卡遵循PCI Express ...

  4. 基于c#winform的可视化打印标签模板设计器及Labview与C#调用模板Demo

    基于c#winform的可视化打印标签模板设计器及Labview与C#调用模板Demo 在工作中经常需要通过程序自动打印标签功能,对于打印机用串口和Tcp传输打印内容过于繁琐,且中文字体不好处理,故参 ...

  5. html5快速开发模板生成器,推荐一个基于Vue 的 H5 快速开发模板

    本项目以基于 vue-cli4 和 Vant-ui 搭建的,进行移动端开发中的一些最佳实践方案 模板地址 动动你的小手点颗star 样式适配 在移动端网页开发时,样式适配始终是一个绕不开的问题.对此目 ...

  6. 【Straw-Uniapp-uView】基于 Uniapp + uView 搭建项目基础模板

    文章目录 一.项目简介 1.项目概述 2.相关链接 3.基础功能 4.后端搭建 二.开发手册 全局约束 全局样式约束 全局that约束 代码模板 表单 消息提示 确定取消 http请求 请求拦截器 文 ...

  7. 基于uniapp+express+mysql购物商城模板设计

    渲染轮播数据 使用swiper组件进行渲染 这里关于图片的宽度,采用rpx设置,如果要占满整屏就是750rpx rpx(responsive pixel): 可以根据屏幕宽度进行自适应.规定屏幕宽为7 ...

  8. [Node.js] 基于NodeJS+Express+mongoDB+Bootstrap的博客系统实战

    MyBlog实战 项目要求 a. 前台和后台的页面布局 前台要求有首页.列表页.详情页面.登录.注册 后台要求有登录页面.列表.添加修改页面 页面要求简洁.美观.大方 b. 后台功能要求 前台注册用户 ...

  9. 在express路由中使用ejs模板引擎

    首先创建文件夹, example –views –about.ejs –index.ejs app.js app.js 代码 var express = require('express'); var ...

最新文章

  1. 2021新款 iPad,包邮送一个!10月25日截止
  2. win7装64位oracle和PLSQL
  3. 智能硬件的时代,嵌入式是否已经日薄西山
  4. TCP如何利用不可靠的IP协议实现可靠传输
  5. wpf(第一个应用实例)
  6. ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
  7. 使用Hystrix实现自动降级与依赖隔离-微服务
  8. C++之includeiostream与includeiostream.h
  9. vue和哪个php框架搭配,vue配什么ui框架比较好
  10. java linux ifstat,ifstat命令
  11. 科学研究:统计来看,是不是新(接触的)人运气明显好?
  12. 经济学人精读笔记10:员工休假居然对企业有好处?
  13. android 解析rss,在Android中解析RSS源
  14. bittorrent下载_面向初学者的BitTorrent:如何开始下载Torrent
  15. python 绘制箱型图_Python数据可视化:Seaborn 绘制箱形图
  16. 教你如何在闲鱼买二手iPhone
  17. 如何在Ubuntu 16.04上使用ProxySQL缓存优化MySQL查询
  18. Redis Expire 设置key过期时间
  19. ifft java_在Matlab中的fft / ifft反卷积
  20. JetPack之Room,Room基本使用

热门文章

  1. TensorFlow Input
  2. C++ string容器
  3. hadoop Idea Win本地运行
  4. 1.10 梯度消失与梯度爆炸
  5. 3.11 随机初始化
  6. python解析html的库_python解析html开发库pyquery使用方法
  7. 协程asyncio_初识asyncio协程
  8. echarts legend位置_一起读 ECharts 配置项手册之 series[i]-line(上)
  9. 5375亿元的x86市场:戴尔946亿、HPE 682亿、浪潮517亿、联想345亿、华为256亿、思科218亿、新华三204亿
  10. 使用gp部署bginfo在客户端显示信息