node.js---study1 实现一个简单应用,登录,session
来源:互联网 发布:法棍 知乎 编辑:程序博客网 时间:2024/05/29 14:05
推荐学习Nodejs的学习网站:
nodejs.org
npmjs.com
github.com
stackoverflow.com
本人使用的开发工具是IntelliJIDEA
创建一个Nodejs 项目 ,目录结构如下:
bin 启动文件目录
node_modules 第三方模块目录
package.json 项目配置以及依赖的包
routes 路由 客户端发送请求–>routes–>view
views 用户可以看到的界面
app.js 项目启动后,首先执行app.js
另外 npm (node packge manage)
如果我们需要安装模块的话,需要在package.json的依赖中加入包
然后在终端输入npm install
如果我们想要启动项目 需要在终端中输入 npm starts
首先演示一个简单的交互过程
routes目录下的index.js文件:
router.get('/', function(req, res) { res.render('index', { title: 'Express' , content:'study', name:['lisi','mm','gg'] });});
访问根目录的时候 ,转发进入index,并且携带三个参数
view目录下的index.ejs文件:
<!DOCTYPE html><html> <head> <title><%= title %></title> <link rel='stylesheet' href='/stylesheets/style.css' /> </head> <body> <h1><%= title %></h1> <p>Welcome to <%= title %></p> <span><%= content %></span> <br/> <ul> <% for(var i=0;i<name.length;i++){ %> <!--里面是js代码--> <li><%=name[i]%></li> <% } %> </ul> </body></html>
启动项目后,执行效果如下:
模块式开发实现一个登录的过程
controllers目录下的users.js
exports.login=function(req,res){ var name=req.body.username; var pwd=req.body.password; req.session.un=name; req.session.pw=pwd; //res.send('用户名:'+name+'<br>'+'密码:'+pwd); res.render('welcome',{username:name})}
controllers目录下的welcome.js
exports.index=function(req, res) { res.render('index', { title: 'Express' , content:'study', name:['lisi','mm','gg'] })}exports.login=function(req,res){ res.render('login');}
routes下的index.js
var express = require('express');var router = express.Router();/* GET home page. */var welcome=require('../controllers/welcome');router.get('/', welcome.index);router.get('/login',welcome.login)router.post('/login',function(req,res){ var name=req.body.username; var pwd=req.body.password; req.session.un=name; req.session.pw=pwd; //res.send('用户名:'+name+'<br>'+'密码:'+pwd); res.render('welcome',{username:name})})router.get('/test',function(req,res){ res.render('test',{u:req.session.un,p:req.session.pw})})module.exports = router;
routes下的users.js
var express = require('express');var router = express.Router();/* GET users listing. */var user=require('../controllers/users');router.post('/login', user.login);module.exports = router;
views下的welcome.ejs
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <%= u%> <br/><%= p%></body></html>
views下的login.ejs
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <form action="/users/login" method="post"> <label for="username" >用户名:</label> <input type="text" name="username" id="username"/><br/> <label for="password">密码:</label> <input type="text" name="password" id="password"/> <br/> <input type="submit" value="登录" name="submit" id="submit"/> </form></body></html>
views下的test.ejs
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <%= u%> <br/><%= p%></body></html>
总结:
使用session
第一步:package.json中引入模块
“dependencies”: {
“express-session”:”*”,
“cookie-session”:”*”
}
第二步: app.js中 使用模块
var session=require(‘express-session’);
var cookieSession=require(‘cookie-session’);
app.use(session({
secret:’1234’
}))
模块式开发 异步加载,顺序加载
- node.js---study1 实现一个简单应用,登录,session
- node.js 实现一个简单的登录拦截器
- 利用Node.js中的Session做简单的登录
- ant design+node.js+mongoose实现一个简单的注册登录功能
- 一个简单的node.js实现界面
- 【Node.js-8】一个简单的登录案例
- node.js 简单登录 路由
- 使用node.js实现简单注册登录功能
- Node.js+Express+MongoDB实现简单登录注册功能
- Node.js实战:Express实现简单后台登录系统
- node.js实现用户登录注册简单示例
- Node.js最简单应用
- 【Node.js】实现一个最简单的HTTP服务器
- node.js 一个简单的页面输出实现代码
- 使用Node.js实现一个简单的ZooKeeper客户端
- 使用Node.js实现一个简单的ZooKeeper客户端
- 创建一个Node.js应用
- Node.js实现简单代理服务器
- BOOST UDP 网络通信(1)
- 2017.7.15 NOIP模拟
- UVa 11427 Expect the Expected
- Git配置及使用
- WUST 1944 最短网络Agri-Net(最小生成树之prim算法)
- node.js---study1 实现一个简单应用,登录,session
- [Microsoft] Search a 2D Matrix
- JDK 1.5-1.8特性
- 基于NRF51822实现触摸按键方案
- Linux 文件基本属性以及操作技巧
- static 关键字
- activity表创建
- 基于TCP协议用多线程实现并发服务器,实现思路、算法和demo
- Manacher算法