全局作用域和局部作用域
局部作用域(模块的作用域):
一个js文件就是一个模块
在一个js文件中定义的属性(变量、常量)和方法,默认都只能在当前js文件中使用
封装 db.js 模块:核心思想: mysql操作流程是固定的,尤其是前三步。将前三部封装到一个模块,导出链接对象。 链接对象就可以调用query方法执行sql语句,也能执行end方法关闭链接
学生信息管理系统
实现思路:
1) 将数据从student表中取出
① 导入(加载) db.js 模块
② 执行SQL语句,获取到student表中的数据
2) 使用模板引擎将数据显示到页面上
① 加载 express-art-template 模块
② 配置模板引擎
③ 准备 模板页 和 数据
④ 调用 res.render方法将模板页和数据组装到一起,并返回给浏览器进行显示
路由拆分
- 核心思想: 将创建服务器和监听路由拆分成两个模块。
- 优势: 每个js文件都功能单一,有利于项目维护
- app.js: 创建并开启服务器、托管静态资源、注册其他中间件、==加载路由模块==
- router.js: 监听路由
登录
目标:使用 admin 表中记录的用户和对应的密码进行登录
思路分析:
1) 创建 /login 路由用来显 login.html页面
2) 创建 /checkLogin 路由
① 接收数据 --- 表单提交的用户名和密码
② 编写SQL语句 --- select * from users where username=? and userpwd=?
③ 执行SQL语句
④ 处理SQL执行结果
cookie技术
cookie是将数据持久化存储到客户端(浏览器)的一种技术。服务器可以将数据写到浏览器中, 一个网站最多能在一个浏览器写20个cookie。
设置cookie
核心: ==cookie是随着响应头返回给浏览器的== 设置cookie的核心思想: 使用 res.setHeader 或者 writeHeader 将cookie信息设置在响应头中 cookie设置格式:key=value;expires=time key: cookie的名称 value: 名称对应的值 expires: 有效期
|