03.js

var express = require("express");
var app = express();
var db = require("./model/db.js");
var formidable = require('formidable');
var ObjectId = require('mongodb').ObjectID; //设置模板引擎
app.set("view engine", "ejs"); //静态
app.use(express.static("./public"));
//显示留言列表
app.get("/", function (req, res, next) {
db.getAllCount("liuyanben",function(count){
res.render("index",{
"pageamount" : Math.ceil(count / 20)
});
});
}); //读取所有留言,这个页面是供Ajax使用的
app.get("/du", function (req, res, next) {
//可以接受一个参数
var page = parseInt(req.query.page); db.find("liuyanben",{},{"sort":{"shijian":-1},"pageamount":20,"page":page},function(err,result){
res.json({"result":result});
});
}); //处理留言
app.post("/tijiao", function (req, res, next) {
var form = new formidable.IncomingForm(); form.parse(req, function (err, fields) {
//写入数据库
db.insertOne("liuyanben", {
"xingming" : fields.xingming,
"liuyan" : fields.liuyan,
"shijian" : new Date()
}, function (err, result) {
if(err){
res.send({"result":-1}); //-1是给Ajax看的
return;
}
res.json({"result":1});
});
});
}); //删除
app.get("/shanchu",function(req,res,next){
//得到参数
var id = req.query.id;
db.deleteMany("liuyanben",{"_id":ObjectId(id)},function(err,result){ res.redirect("/");
});
}) app.listen(3000);

04.js

var express  = require('express');
var cookieParser = require('cookie-parser'); var app = express();
//使用cookie必须要使用cookie-parser中间件
app.use(cookieParser()); app.get("/",function(req,res){
res.send("猜你喜欢" + req.cookies.mudidi);
}); //查询一个地方的攻略,URL语法: http://127.0.0.1/gonglue?mididi=北京
//此时北京就能记录在cookie中
app.get("/gonglue",function(req,res){
//得到get请求,用户查询的目的地
var mudidi = req.query.mudidi;
//记录用户喜好
//先读取用户的喜好,然后把新的数据push进入数组,然后设置新的cookie
var mudidiarry = req.cookies.mudidi || [];
mudidiarry.push(mudidi);
//maxAge在Express中以毫秒为单位,"mudidi",mudidiarry是内容,后面是cookie的属性。
res.cookie("mudidi",mudidiarry,{maxAge: 900000, httpOnly: true});
res.send(mudidi + "旅游攻略");
}); app.listen(3000);

05.js

var express = require("express");
var app = express();
var session = require("express-session"); app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true
})); app.get("/",function(req,res){
if(req.session.login == "1"){
res.send("欢迎" + req.session.username);
}else{
res.send("没有成功登陆");
}
}); app.get("/login",function(req,res){
req.session.login = "1"; //设置这个session
req.session.username = "考拉";
res.send("你已经成功登陆");
}); app.listen(3000);

06.js

var express = require("express");
var app = express();
var db = require("./model/db.js");
var session = require("express-session"); app.use(session({
secret: 'keyboard cat',
resave: false,
saveUninitialized: true
})); app.set("view engine","ejs"); app.get("/",function(req,res){
if(req.session.login == "1"){
res.send("欢迎" + req.session.username);
}else{
res.send("没有成功登陆");
}
}); app.get("/login",function(req,res){
res.render("denglu");
}); app.get("/checklogin",function(req,res){
var tianxiedeusername = req.query.username;
var tianxiedepassword = req.query.password;
//根据用户填写的姓名,去数据库里面找这个文档,读取密码。
//如果读取的密码,和填写的密码一样,登陆成功了;
//如果读取的密码,和填写的密码不一样,登陆失败
//如果根本没有找到这个记录,那么就说明用户名填写错了
db.find("users",{"username":tianxiedeusername},function(err,result){
if(result.length == 0){
res.send("你的登录名写错了,没有这个注册用户");
return;
}
var shujukuzhongdepassword = result[0].password;
if(shujukuzhongdepassword == tianxiedepassword){
req.session.login = "1";
req.session.username = result[0].username;
res.send("成功登陆!你是" + result[0].username);
}else{
res.send("密码错误!");
}
})
}); app.listen(3000);

node16---cookie session的更多相关文章

  1. cookie,session,sessionid

    cookie,session,sessionid http协议是无状态的,意思是每次请求的状态不会保存.因此,产生了cookie,session之类保存会话状态的机制.1.什么是cookiecooki ...

  2. Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期

    servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...

  3. 在IE浏览器中iframe跨域访问cookie/session丢失的解决办法

    单点登录需要在需要进入的子系统B中添加一个类,用于接收A系统传过来的参数: @Action(value = "outerLogin", results = { @Result(na ...

  4. 会话Cookie及session的关系(Cookie & Session)

    会话Cookie及session的关系(Cookie & Session) 在通常的使用中,我们只知道session信息是存放在服务器端,而cookie是存放在客户端.但服务器如何使用sess ...

  5. cookie,session,token的定义及区别

    参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...

  6. Java web学习 Cookie&&Session

    cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...

  7. Cookie&Session(会话技术)

    一.Cookie技术 从打开一个游览器访问某个站点,到关闭这个游览器的整个过程成为一次会话 会话技术分为Cookie和Session Cookie:数据存储在客服端本地,减少对服务端的存储的压力,安全 ...

  8. Cookie Session和自定义分页

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  9. python Cookie Session 相关用法

    Cookie一.前言1.http协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响 应情况直接影响,也不会直接影响后面的请 ...

  10. django - 总结 - cookie|session

    Cookie是通过HTTP请求和响应头在客户端和服务器端传递的. 在Web开发中,使用session来完成会话跟踪,session底层依赖Cookie技术. --------------------- ...

随机推荐

  1. Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires

    Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds. If the server requires ...

  2. Xcode6 引入第三方静态库project的方法

    首先.介绍一下把在当前project中引入其它依赖project的方法: 第一:把其它项目project加入到现有project做法: 定义: FPro 现有project == 父project C ...

  3. 百度编辑器图片在线流量返回url改动

    百度编辑器中返回的是我们server中的url,有时并非我们须要的,比方图文编辑中.我想在线浏览上传过的图片 ,那么我返回的应该是腾讯server上面的url.这样才不会被腾讯的过滤器过来掉,全部我们 ...

  4. redis的主从模式

    主从通信过程 Master配置: 1:关闭rdb快照(备份工作交给slave) 2:可以开启aof slave配置: 1: 声明slave-of slaveof 192.168.0.102 2: 配置 ...

  5. 格式化日期字符串 FormatSettings使用

    如果 你想要得到 YYYY-MM/DD 这样的字符串 你肯定说这太简单了  直接 ShowMessage(FormatDateTime('YYYY-MM/DD',now)); 运行结果 YYYY-MM ...

  6. Microsoft Edge 首个 Chromium 内核版释出

    翻译功能释出 navigator.userAgent"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ...

  7. unwrap

    node.replaceWith(...node.childNodes);

  8. Object-oriented programming

    Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects&qu ...

  9. ABBYY FineReader双十一优惠享不停,战绩如何?

    随着双十一的火热来袭,购物达人也是不吝啬囊中票子,各种姿势剁手齐全,立誓过后吃土半月,双十一的好与不好?自己也是门清,反正真真的是促进消费了! 就ABBYYFineReader而言,此次的双十一力度就 ...

  10. jsp+jdbc实现用户登录

    1.1 创建数据库表 表名:user 字段: userid   保存用户的登录id name     用户名 password 密码 1.2 实现思路 a. 用户登录,则需要有个一个表单页,此页面可输 ...