Nodejs入门基础(http、url、mysql模块)

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");

猜你喜欢

转载自blog.csdn.net/JayVergil/article/details/83246262