zoukankan      html  css  js  c++  java
  • 前端学习(二十九)nodejs(笔记)

    后台语言
        java     php     .Net     python
        Node.js
    -----------------------------------------------------
    Node.js
        1.语法就是js语法
        2.性能高             理论上是php的86倍
            Node.js             php
            3                    200
            6                     400
        3.公司用的特别多
    ------------------------------------------------------
    Node.js
        node --version     

        node.js文件
            *.js

        执行node文件
            node 文件名

            nodejs中不能操作BOM和DOM
    -------------------------------------------------------
    自己搭建服务
        nodejs的作者帮我们封装了http

        let http = require('http');
        let fs = require('fs');
        let server = http.createServer((req,res)=>{
            console.log('It`s coming');
            res.write(内容);
            res.end();
        });
        问题:服务启动之后马上关闭
        需要监听端口
            server.listen(端口号);

        192.168.1.113
            Web服务
            邮件服务
            文件传输服务

            区分多个服务
                端口号

            常见端口号
                80             web服务
                3306         数据库服务
                21/22         文件传输服务
                110         邮箱

        let http = require('http');
        let fs = require('fs');

        http.createServer((request,response)=>{
            fs.readFile('www'+request.url,(err,data)=>{
                if(err){
                    response.end('404');
                }else{
                    response.end(data);
                }
            });
        }).listen(8081);

    =============================================
    请求服务器:
        1.获取资源
        2.数据交互
    =================================================
    =========================================
    let http = require('http');
    let fs = require('fs');

    let server = http.createServer((request,response)=>{
        request             请求
        response             响应
    });
    server.listen(端口号);
    ============================================================
    express
        npm install express --save
        npm install express-static --save

        --save-dev
        --save


        let express = require('express');
        let static = require('express-static');

        let server = express();
        server.listen(8081);

        //文件路由
        server.use(static('根目录/'));


        //get接口
        server.get('/接口名',(request,response)=>{

            //response.write()/end()
            response.send();
        });

    =============================================================
    DataBase             数据库
        mysql sqlserver oracle db2000 access.....
    ==============================================================
    mysql             
        1.轻量
        2.免费
    ==============================================================
    1.安装
        集成环境
    2.操作mysql
        命令行操作
        图形界面
            Navicat For Mysql

            Wamp自带     PhpMyAdmin
    ============================================================
        库    Base
            不是存数据的,是管理表的
        表     Table
            存数据的

            列(字段)         某一项数据
            行                 某一条数据
    ------------------------------------------------------------
        数据库也有类型
            INT         整型             整数
            FLOAT         单精度浮点数     一位小数     12.5
            DOUBLE         双精度浮点数     多为小数     12.35     12.335
            CHAR         字符             一个文字     'a'
            VARCHAR     字符串             一串文字     "abc"
            TEXT         大字符串         一大串文字

    后台操作数据库
        nodejs本身不能操作数据库
        安装node模块才可以:
            mysql模块

        npm install mysql --save

        引入模块
            let mysql = require('mysql');
        连接数据库
            let db = mysql.createConnection({
                host:'数据库地址',
                user:'用户名',
                password:'密码',
                database:'数据库名'
            });

        

        执行SQL语句
            db.query(SQL语句,(err,data)=>{
                跟fs的readFile一样
            });

    ===========================================================
    后台的字符串用双引号
    前端的字符串用单引号

    用户登录
        http://localhost:8081/login?username=xxx&password=xxx
            return     
                    {"error":0/1,"message":""}

        根据用户名在数据库中查询数据
            查到
                判断密码是否相等
                    相等
                        登录成功
                    不相等
                        用户名或密码错误
            没查到
                用户未注册

    用户注册
        http://localhost:8081/register?username=xxx&password=xxx
            return     
                    {"error":0/1,"message":""}

        根据用户名在数据库查询
            查到
                用户名已被占用
            没查到
                直接注册并且返回注册成功


    =========================================================
    nodejs 的express框架 post交互用:
            body-parser模块


        let express = require('express');
        let static = require('express-static');
        let bodyParser = require('body-parser');

        let server = express();
        server.listen(8081);

        server.use(static('www/'));
        server.use(bodyParser.urlencoded({ extended: false }));

        server.get('接口名字',(request,reponse)=>{
            request.query     里面放着数据
        })

        server.pose('接口名字',(request,response)=>{
            request.body      里面放着数据
        });

    =========================================================
    SQL
        数据操作
            增删改查

            SQL语句————数据库的语言

            两种人玩:DBA、后台


            查询语句
                SELECT * FROM 表名;

                SELECT * FROM tab_user;

                SELECT * FROM 表名 WHERE xxxxx;

                SELECT * FROM tab_user WHERE username='eric';

                LIMIT      限制
                SELECT * FROM 表名 LIMIT 从哪个索引开始,拿几条

                SELECT * FROM tab_newsong WHERE type=1 LIMIT 0,6
                SELECT * FROM tab_newsong WHERE type=1 LIMIT 6,6
                SELECT * FROM tab_newsong WHERE type=1 LIMIT 12,6

                求出一共有多少条
                SELECT COUNT(*) AS len FROM tab_newsong


            插入语句
                INSERT INTO 表名 (字段,字段) VALUES (值,值);

                INSERT INTO tab_user (username,password) VALUES ('lisi','123');


            *注意:SQL语句中判断是否相等用 =
    ========================================================

  • 相关阅读:
    Spring 注解大全
    sql相关
    深入理解Java虚拟机 自己编译JDK
    MarkDown语法 学习笔记 效果源码对照
    学习
    【转】Java方向如何准备BAT技术面试答案(汇总版)
    Java (PO,VO,DAO,BO,POJO,DTO) 几种对象解释
    Python实现脚本锁功能,同时只能执行一个脚本
    java 内存管理 —— 《Hotspot内存管理白皮书》
    vue子组件实时获取父组件传来的值
  • 原文地址:https://www.cnblogs.com/wxiaoyu/p/9579404.html
Copyright © 2011-2022 走看看