• js-20网络编程


    01.后端编程【nodejs?】

    1.后端编程 =》应用程序 网站

    三个部分 三个电脑
    前端 负责页面展示,简单的交互效果
    后端 接收请求 处理业务逻辑 响应数据
    数据库 存储数据的仓库
    
    运行过程:
    1.前端请求商品列表数据
    2.向后端发起一个商品列表请求
    3.后端接受到请求之后,从数据库获取商品列表数据
    4.响应给前端
    5.前端根据后端相应渲染页面
    
    后端编程语言:java | php | python | go | javascript语言
    后端运行环境:
    	前端>浏览器chrome v8引擎,解析执行javascript代码
    	后端>node.js
    执行js代码:	命令行窗口 >node xx.js
    
    启动小贴士:
    	window+r => 搜索cmd =>node -v(检查是否安装成功)
    	vscode =>js文件--集成终端打开--注意下方右上角是cmd
    	(下拉框--选择默认配置文件--cmd )
        (文件名可以tab快捷)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    1648865492299

    02.命令行操作

    在node js环境中不能写dom和bom操作的代码
    cd 目录名 跳转指定文件
    cd.. 后退文件
    
    • 1
    • 2
    • 3

    03.web服务器

    1.安装了提供web服务软件的电脑称之为web服务器
    2.常见的web服务器软件有哪些?
    	nginx
    	apache
    	tomache
    	vscode插件liverServer 后期开发需用 
    3.nginx如何使用
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    补充

    端口不要写太小,会有占用
    集成终端运行 
    - 出现address already in use 按住ctrl+c停止运行重新启动
    找自己ip地址:
    - window+r => 输入cmd =>输入ipconfig
    本机  127.0.0.1
    chrome插件如何安装:
    - 谷歌浏览器 => 三个点 - 更多工具 - 扩展程序 - 开发者 - 加载 - 选插件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    练习.编写后端web程序【掌握】

    //1.使用nodejs提供的内置的http模块,模块创建web服务相关的属性方法
    const http = require('http') //引入node.js内置的http模块,赋值给http变量
    //2.创建web服务对象
    let server = http.createServer(function (request, response) {
        //request 请求对象,前端请求信息包含在此对象中
        //response 相应对象,后端相应给前端的信息包含在此对象中
    
        let url = request.url
        console.log('url', url); //要求: 当用户在浏览器输入 http://ip:port:3000/productlist 时,
        //避免乱码,设置字符集
        response.writeHead(200, {
            'content-type': 'text/html;charset=utf-8'
        })
        if (url.indexOf('productlist') !== -1) {
            let productList = [{
                    id: 1001, //商品序号
                    name: 'js高级编程', //商品名
                    url: 'https://img1.baidu.com/it/u=454394458,1998378568&fm=253&fmt=auto&app=138&f=JPEG', //商品图片
                    price: 68.90, //商品价格
                    num: 0, //商品数量
                    singlePrice: 0, //商品总价=数量*价格    
                    state: false //状态
                },
                {
                    id: 1002,
                    name: 'css高级编程',
                    url: 'https://img1.baidu.com/it/u=337910016,91561566&fm=26&fmt=auto',
                    price: 55.89,
                    num: 0,
                    singlePrice: 0,
                    state: false //状态
                },
                {
                    id: 1003,
                    name: 'html高级编程',
                    url: 'https://img1.baidu.com/it/u=337910016,91561566&fm=26&fmt=auto',
                    price: 45.89,
                    num: 0,
                    singlePrice: 0,
                    state: false //状态
                }
            ]
            //不能传入对象,要转成字符串 对象不能再网络中运输
            var productListStr = JSON.stringify(productList)
            response.write(productListStr)
        } else {
            response.write('你好哇,小美女') //
            response.write('hello,beauty')
        }
        response.end() //结束写入,相应内容
    })
    //3.启动web服务器,监听端口,端口区分同一台电脑不同web应用的
    server.listen(3000, () => console.log('服务器监听成功,监听3000端口...'))
    
    操作:
    启动服务=》集成终端
    发起请求=》地址栏输入 
    ip地址:端口//请求的东西 
    ex:http://127.0.0.1:3000/productlist
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60

    04.数据库【掌握】

    数据库
           - 持久化存储数据库的仓库
           - 在数据库中以 二维表结构形式存储数据,一个数据库可以有多张表
               表结构: 字段名  描述表信息,商品表中描述商品信息
                       记录    表示一条条的商品
    
               商品ID   商品名称         商品价格
               1001     javascript编程   89.98
               1002     css编程          59.98
           
    创建表:
                 1.表结构
                     字段名   数据类型   
                      商品ID   (数值)  int
                      商品名称 (字符串) varchar(可变长度)  char(固定长度)    
                 2.添加记录
                    1001     javascript编程   89.98
        
    数据库管理软件=》用来创建数据库
            mysql  oracle      sqlserver   DB2       
                   甲骨文       微软        IBM 
                   数据重要性
            java
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    mySqual

    mySqual下载:
    	甲骨文官网=》mysqual Community Server=>dowload
    判断安装是否成功?
    	我的电脑 - 管理 - 服务 - mySqual - 双击 - 安装路径
    操作mySqual服务器?
    	客户端命令行操作mySqual...了解
    	mysqual - bin - 搜索cmd - 输入>mysql -u root -p - 输入密码(命令显示)
    	命令 show database; 查看数据库
    	
    可视化mySqual?
    启动 - 连接 -  创建表
    数据库名 - 对应 - 应用名
    练习:
     	 1. 安装mysql数据库管理软件
         2. 安装mysql可视化软件navcat
         3. 使用navcat连接mysql数据库服务
         4. 创建数据库名productdb
         5. 创建表product
              商品ID:   id    int     主键
              商品名称:  name  vachar
              商品价格:  price  dobule
              商品数量:  num    int
              商品地址:  url    varchar
         6.添加记录
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2pZ5d3G-1669771572533)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1649145886614.png)]

    05.sql语句

    SQL语言: 结构化查询语言
            数据库操作一门语言,提供多条sql语句,操作数据库
                - 创建数据库
                - 创建表
    
    sql语句 WHERE 条件
    - 插入记录
    	INSERT INTO 表名 (字段名1,字段名2...)VALUES(1,值2...)
    	: 商品表product 插入一条记录, 1001 vue编程  88.99  1  http://xx.jpg
    	INSERT INTO product (id,name,price,num,url)VALUES(1001,'vue编程',88.99,1,'https://img1.baidu.com/it/u=454394458,1998378568&fm=253&fmt=auto&app=138&f=JPEG')     
    - 删除记录
    	DELETE FROM product WHERE id = 1003
    - 查询记录
    	SELECT id,name,price,num FROM product 
        SELECT id,name,num FROM product WHERE price>80
    - 修改记录
    	UPDATE product SET `name` = 'VUE高级编程' WHERE id=1006
    
    如何运行mySql语句?
    	navicat - 查询 - 新建查询 - 写入语句 - 运行 - 受影响行1行(成功执行)
    	# 注释
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    06.后端程序集成数据库【掌握】

     1.后端程序连接数据库
            下载第三方mysql数据库模块
             npm install mysql  //下载
            引入mysql模块
             const mysql = require('mysql')
          操作:
          对应文件 - 集成终端 - 执行>npm install mysql - node_modules(下载成功)
    - 写程序 - 后端执行代码用集成终端 node命令
     2.执行sql语句
     3.处理结果集
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    程序:
    //1.引入mysqual模块
    const mysql = require('mysql')
    
    //2.获取数据库连接对象 
    let connection = mysql.createConnection({ //创建链接
        host: 'localhost',
        user: 'root',
        password: '12345z',
        database: 'productdb'
    })
    
    //建立链接
    connection.connect() //后端程序和数据库链接成功
    
    //执行mysql语句
    let sql = 'SELECT id,name,price,num,url FROM product '
    // let sql = "INSERT INTO product (id,name,price,num,url)VALUES(1008,'vue编程',88.99,1,'https://img1.baidu.com/it/u=454394458,1998378568&fm=253&fmt=auto&app=138&f=JPEG')     "
    connection.query(sql, function (err, data) {
        //err是错误对象,如果数据库出错,为true
        //data数据库正常返回的数据
        if (err) {
            console.log('数据库出错', err);
            return;
        }
        console.log(data);
    
    })
    
    //关闭数据库连接
    connection.end()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    o&app=138&f=JPEG’) "
    connection.query(sql, function (err, data) {
    //err是错误对象,如果数据库出错,为true
    //data数据库正常返回的数据
    if (err) {
    console.log(‘数据库出错’, err);
    return;
    }
    console.log(data);

    })

    //关闭数据库连接
    connection.end()

    
    
    • 1
  • 相关阅读:
    棱镜七彩加入UOS主动安全防护计划(UAPP),共建信创生态
    ExportExcel打印
    【开发】视频监控系统/视频汇聚平台EasyCVR平台页面展示优化
    探索技术之上科技伦理,阿里巴巴成立科技伦理治理委员会
    给用户随机推荐不是自己发布的笔记,报错了。
    基于Cat混沌与高斯变异的改进灰狼优化算法-附代码
    kerberos:介绍
    得帆信息携手深信服,联合打造高安全PaaS超融合一体化解决方案
    电商小程序实战教程-类别导航续
    06【Redis事务与分布式锁】
  • 原文地址:https://blog.csdn.net/Charlotte_99/article/details/128109261