Node.js特点:单线程,非阻塞IO,事件驱动
单线程执行任务,如遇到阻塞会挂起任务继续执行其他,执行完其他再通过事件驱动处理阻塞的任务
node xxx.js 即可直接运行服务器
第三方插件需要安装,在控制台npm install mysql
案例:登录页面-注册页面访问并输出录入信息,router.js根据页面反馈不同的信息,并输出数据库内容
登录页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--登录验证-->
<form action="http://localhost:3000/login">
用户名:<input type="text" name="userName"/><br>
密码:<input type="password" name="userPass"/><br>
<input type="submit" value="提交"/><input type="reset" value="重置"/>
</form>
</body>
</html>
注册页面:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--注册验证-->
<form action="http://localhost:3000/register">
用户名:<input type="text" name="userName"/><br>
密码:<input type="password" name="userPass"/><br>
<input type="submit" value="提交"/><input type="reset" value="重置"/>
</form>
</body>
</html>
router.js:
/*使用http模块*/
var http = require("http");
/*使用var模块*/
var url = require("url");
/*获取数据库模块*/
var mysql=require("mysql");
//数据库信息
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'login'
});
connection.connect();
/*var sql ="select * from users";*/
/*获取服务器方法*/
http.createServer(
function (request,response) {//相应参数
response.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});//设置编码格式
var urlString = request.url;
console.log(urlString);
var dz = url.parse(urlString,true);
console.log(dz);
if (dz.pathname=="/login"){
console.log("登录");
let userName=dz.query.userName;
let userPass=dz.query.userPass;
connection.query(sql,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
console.log('--------------------------SELECT----------------------------');
console.log(result);
console.log('------------------------------------------------------------\n\n');
});
response.write(userName);
response.write(userPass);
}
if (dz.pathname=="/register"){
console.log("注册");
let userName=dz.query.userName;
let userPass=dz.query.userPass;
let aa=[userName,userPass];
/* //方法一
connection.query(`select * from users where users_id=\'${userName}\' and users_password=\'${userPass}\'`,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
if (result.length>0){
console.log('--------------------------SELECT----------------------------');
console.log(result);
console.log('------------------------------------------------------------\n\n');
}
});*/
//方法二,用数据和?代替参数
connection.query("select * from users where users_id=? and users_password=?",aa,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
if (result.length>0){
console.log('--------------------------SELECT----------------------------');
console.log(result);
console.log('------------------------------------------------------------\n\n');
}
});
}
response.end();
}).listen(3000,"localhost");