在登陆注册当中引入 ejs
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/school",{
useNewUrlParser: true,
useUnifiedTopology: true
});
mongoose.connection.once("open",err=>{
if(err){
console.log(err);
return;
}
console.log("database connection success!");
})
const mongoose = require("mongoose");
const studentSchema = mongoose.Schema({
username:{
type:String,
unique:true,
require:true
},
password:{
type:String,
require:true
}
})
const studentSch = mongoose.model("students",studentSchema);
module.exports = studentSch;
const express = require("express");
const app = express();
app.listen(8080);
const path = require("path");
app.set("view engine","ejs");
app.set("views","views");
require("./db/db")
const studentSchema = require("./model/students");
app.use(express.static("./public"));
const errPath = path.resolve(__dirname,"./public/err.ejs");
app.get("/register",async (req,res)=>{
console.log(req.query);
const {username,password} = req.query;
console.log(errPath);
if(!username || !password){
return res.render(errPath,{
errData:"当前注册账号或密码不能为空!"
})
}
const isHasUser = await studentSchema.findOne({
username
})
if(isHasUser){
return res.render(errPath,{
errData:"当前注册账号已存在"
})
}
const reg = /^[0-9a-zA-Z_]{6,16}$/;
if(!reg.test(username || !reg.test(password))){
return res.render(errPath,{
errData:"当前注册账号或密码格式不正确!"
})
}
try {
await studentSchema.create(req.query);
res.redirect("/login.html")
} catch (error) {
return res.render(errPath,{
errData:"服务器繁忙,请稍后重试[注册]"
})
}
})
app.get("/login",async (req,res)=>{
const {username,password} = req.query;
if(!username || !password){
res.render(errPath,{
errData:"当前登录的账号或密码不能为空!"
})
}
const reg = /^[0-9a-zA-Z_]{6,16}$/;
if(!reg.test(username || !reg.test(password))){
return res.render(errPath,{
errData:"当前登录账号或密码格式不正确!"
})
}
const isHasUser = studentSchema.findOne({
username
})
if(!isHasUser){
return res.render(errPath,{
errData:"当前来登录的账号不存在"
})
}
const checkLoin = await studentSchema.findOne(req.query);
if(checkLoin){
res.redirect("/index.html");
}else{
res.render(errPath,{
errData:"服务器繁忙,请稍后重试[登录]"
})
}
})
- 当前文件目录

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人