前端小项目:图书管理系统(三)express router的编写(1)

前端小项目:图书管理系统(三)express router的编写(1)

介绍

这是一个用node写成的一个项目

编写相关的路由

1.在相关的文件夹Library里面创建一个文件夹router
2.在router文件家里面创建router.js文件

3.我这个是比较简易的图书管理系统,设计的思路如下

    1.进入主页面时会检查有没有登录,如果登录了就留在主页面,如果没有登录就会转跳到登录页面login.html

    2.该主页面会根据数据库查询的数据渲染图书的数据

    3.该主页面会根据前端页面的操作,对数据库进行增删改查

4.第一步:进入主页面时会检查有没有登录,如果登录了就留在主页面,如果没有登录就会转跳到登录页面login.html

    在router.js写下如下代码

const express = require('express');\\引入express
const cookie = require('cookie');\\引入cookie,记录用户数据
const router = express.Router();\\创建路由
	
router.get('/', (req, res)=> {

var cookies = cookie.parse(req.headers.cookie || '');
if(cookies.name){\\判断cookie有没有记录登录的名字
	db.query('select * from library',[],(results, fields)=>{
		res.render('index.art', {
    		user:results,
    		ed:req.query
		});
	},res)//对mysql进行数据查询,并渲染到前端页面

}else{
	
	res.redirect('/login');转跳到登录页面
}
});

router.post('/', (req, res) => {
var params = req.body
if(params&&params.username){
	res.setHeader('Set-Cookie', cookie.serialize('name', String(params.username), {
  	httpOnly: true,
  	maxAge: 60 * 60 * 24 * 2 // 1 week
	}));
	res.redirect('/');


}else{

	res.redirect('/error');
}}); \\post得到登录的用户名,并记录在cookie里面

router.get('/login', (req, res) => {
res.render('./login/login')
});
// res.send('Hello')
module.exports = router;

5.第二步:对login.html进行渲染

    在文件夹Library里面创建一个文件夹views

    里面新建渲染的主页面,index.art,文件夹public,里面放置静态资源,里面再创建一个404错误文件夹,以及login文件夹

    在login文件里面创建一个login.art,在login.art,里面写

<!DOCTYPE html>
	<html>
	<head>
	<title>login</title>
	</head>

	<body>
		<form action="/" method="post">
			username:<input type="text" required="required" name="username"></br>
			password:<input type="password" required="required" name="password"></br>
			<input type="submit" value="submit">
		</form>
	</body>

</html>

    然后在Library里面有一个创建的index.js

    在index.js里面写下

const express = require('express')
var path = require('path');\\引用path库
const app = express()\\构造express类
var rounter = require('./rounter/rounter.js')\\引用自己写的文件
app.use(express.static(__dirname + '/views/public'));\\设置静态资源
app.set('views', path.join(__dirname, '/views'));\\设置渲染视图资源,会自动渲染index.art主页面
app.set('view engine', 'html');\\设置渲染视图引擎
app.set('view engine', 'art'); \\设置渲染视图引擎
app.use('/', rounter) 
app.listen(3000)

6.测试使用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值