美文网首页
三、demo

三、demo

作者: 向上而活 | 来源:发表于2019-08-21 23:31 被阅读0次
//require表示引包,引包就是引用自己的一个特殊功能 
var http = require("http");
//创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么 
var server = http.createServer(function(req,res){ 
//req表示请求,request; res表示响应,response 
//设置HTTP头部,状态码是200,文件类型是html,字符集是utf8 
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"}); 
res.end("哈哈哈哈,我买了五个iPhone" + (1+2+3) + "s"); }); 
//运行服务器,监听3000端口(端口号可以任改) 
server.listen(3000,"127.0.0.1");
var http = require("http"); var fs = require("fs"); 
//创建服务器,参数是一个回调函数,表示如果有请求进来,要做什么 
var server = http.createServer(function(req,res){
if(req.url == "/fang"){ 
fs.readFile("./test/xixi.html",function(err,data){
//req表示请求,request; res表示响应,response
//设置HTTP头部,状态码是200,文件类型是html,字符集是utf8 
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"}); 
res.end(data);
}); }else if(req.url == "/yuan"){ 
fs.readFile("./test/haha.html",function(err,data){ 
//req表示请求,request; res表示响应,response
//设置HTTP头部,状态码是200,文件类型是html,字符集是utf8 
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"}); 
res.end(data);
}); 
}else if(req.url == "/0.jpg"){
fs.readFile("./test/0.jpg",function(err,data){
//req表示请求,request; res表示响应,response 
//设置HTTP头部,状态码是200,文件类型是html,字符集是utf8 
res.writeHead(200,{"Content-type":"image/jpg"}); res.end(data); }); 
}else if(req.url == "/bbbbbb.css"){ 
fs.readFile("./test/aaaaaa.css",function(err,data){ 
//req表示请求,request; res表示响应,response 
//设置HTTP头部,状态码是200,文件类型是html,字符集是utf8 
res.writeHead(200,{"Content-type":"text/css"}); res.end(data); });
}else{ 
res.writeHead(404,{"Content-type":"text/html;charset=UTF-8"}); 
res.end("嘻嘻,没有这个页面呦"); 
}
}); 
//运行服务器,监听3000端口(端口号可以任改) 
server.listen(3000,"127.0.0.1"); 
 //这个案例简单讲解http模块 
//引用模块 var http = require("http");
 //创建一个服务器,回调函数表示接收到请求之后做的事情 
var server = http.createServer(function(req,res){ 
//req参数表示请求,res表示响应
 console.log("服务器接收到了请求" + req.url);
 //设置头部
 res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"}); 
res.write("<h1>我是主标题</h1>"); 
res.write("<h2>我是2标题</h2>"); 
res.write("<h2>我是2标题</h2>"); 
res.write("<h2>我是2标题</h2>");
 res.write("<h3>我是3标题</h3>");
 res.end((1+2+3).toString()); });
 //监听端口 
server.listen(3000,"127.0.0.1"); 
var http = require("http"); 
var server = http.createServer(function(req,res){
console.log(req.url); 
res.end(); 
});
server.listen(3000,"127.0.0.1");
var http = require("http"); 
var url = require("url");
var server = http.createServer(function(req,res){
//url.parse()可以将一个完整的URL地址,分为很多部分:
//host、port、pathname、path、query var pathname = url.parse(req.url).pathname; 
//url.parse()如果第二个参数是true,那么就可以将所有的查询变为对象 
//就可以直接打点得到这个参数 
var query = url.parse(req.url,true).query;
//直接打点得到这个参数
var age = query.age; console.log("pathname:" + pathname); 
console.log("query:" + query); 
console.log("age:" + age); res.end(); }); 
server.listen(3000,"127.0.0.1"); 
var http = require("http");
 var url = require("url"); 
var server = http.createServer(function(req,res){
 //得到查询部分,由于写了true,那么就是一个对象 
var queryObj = url.parse(req.url,true).query; 
var name = queryObj.name; 
var age = queryObj.age; 
var sex = queryObj.sex; 
res.end("服务器收到了表单请求" + name + age + sex); 
});
 server.listen(3000,"127.0.0.1"); 
var http = require("http");
var server = http.createServer(function(req,res){ 
//得到url
var userurl = req.url;
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"}) 
//substr函数来判断此时的开头
if(userurl.substr(0,9) == "/student/"){ 
var studentid = userurl.substr(9);
console.log(studentid);
if(/^\d{10}$/.test(studentid)){
res.end("您要查询学生信息,id为" + studentid); }
else{
res.end("学生学号位数不对"); 
}
}else if(userurl.substr(0,9) == "/teacher/"){ 
var teacherid = userurl.substr(9);
if(/^\d{6}$/.test(teacherid)){ 
res.end("您要查询老师信息,id为" + teacherid);
}else{ 
res.end("老师学号位数不对");
} 
}else{ 
res.end("请检查url"); 
} 
}); 
server.listen(3000,"127.0.0.1");
var http = require("http"); 
var fs = require("fs");
var server = http.createServer(function(req,res){
//不处理小图标 
if(req.url == "/favicon.ico"){ 
return; 
} 
//给用户加一个五位数的id 
var userid = parseInt(Math.random() * 89999) + 10000; 
console.log("欢迎" + userid); 
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
//两个参数,第一个是完整路径,当前目录写.
//第二个参数,就是回调函数,表示文件读取成功之后,做的事情 
fs.readFile("./test/1.txt",function(err,data){
if(err){ throw err; }
console.log(userid + "文件读取完毕"); 
res.end(data);
}); 
}); 
server.listen(3000,"192.168.41.30");
var http = require("http"); 
var fs = require("fs"); 
var server = http.createServer(function(req,res){
//不处理小图标 
if(req.url == "/favicon.ico"){ 
return; 
} 
fs.mkdir("./album/aaa"); 
}); 
server.listen(3000,"192.168.41.30"); 
 var http = require("http"); 
var fs = require("fs"); 
var server = http.createServer(function(req,res){
//不处理小图标 
if(req.url == "/favicon.ico"){ return; }
 //stat检测状态
 fs.stat("./album/bbb",function(err,data){ 
//检测这个路径,是不是一个文件夹 
console.log(data.isDirectory());
 }); 
});
 server.listen(3000,"127.0.0.1"); 
var http = require("http"); 
var fs = require("fs");
var server = http.createServer(function(req,res){
//不处理小图标
if(req.url == "/favicon.ico"){ return; } 
//存储所有的文件夹
var wenjianjia = []; 
//stat检测状态 
fs.readdir("./album",function(err,files){
//files是个文件名的数组,并不是文件的数组,表示./album这个文件夹中的所有东西 
//包括文件、文件夹
for(var i = 0 ; i < files.length ;i++){
var thefilename = files[i];
//又要进行一次检测
fs.stat("./album/" + thefilename , function(err,stats){ 
//如果他是一个文件夹,那么输出它:
if(stats.isDirectory()){ wenjianjia.push(thefilename); } 
console.log(wenjianjia);
});
} }); 
});
server.listen(3000,"127.0.0.1");
fs.readdir("./album/", function(err, files) {
   //files : ["0.jpg","1.jpg" ……,"aaa","bbb"];
   //files是一个存放文件(夹)名的数组
   //存放文件夹的数组 
   var wenjianjia = [];
   //迭代器就是强行把异步的函数,变成同步的函数
   //1做完了,再做2;2做完了,再做3 
   (function iterator(i) {
       //遍历结束
       if (i == files.length) {
           console.log(wenjianjia);
           return;
       }
       fs.stat("./album/" + files[i], function(err, stats) {
           //检测成功之后做的事情 
           if (stats.isDirectory()) {
               //如果是文件夹,那么放入数组。不是,什么也不做。 
               wenjianjia.push(files[i]);
           }
           iterator(i + 1);
       });
   })(0);
});
res.end();
});
server.listen(3000, "127.0.0.1");

var http = require("http");
var url = require("url");
var fs = require("fs");
var path = require("path");
http.createServer(function(req, res) {
    //得到用户的路径 
    var pathname = url.parse(req.url).pathname;
    //默认首页 
    if (pathname == "/") {
        pathname = "index.html";
    }
    //拓展名 
    var extname = path.extname(pathname);
    //真的读取这个文件 
    fs.readFile("./static/" + pathname, function(err, data) {
        if (err) {
            //如果此文件不存在,就应该用404返回 
            fs.readFile("./static/404.html", function(err, data) {
                res.writeHead(404, {
                    "Content-type": "text/html;charset=UTF8"
                });
                res.end(data);
            });
            return;
        };
        //MIME类型,就是
        //网页文件: text/html 
        //jpg文件 :  image/jpg 
        var mime = getMime(extname);
        res.writeHead(200, {
            "Content-type": mime
        });
        res.end(data);
    });
}).listen(3000, "127.0.0.1");

function getMime(extname) {
    switch (extname) {
        case ".html":
            return "text/html";
            break;
        case ".jpg":
            return "image/jpg";
            break;
        case ".css":
            return "text/css";
            break;
    }
}

相关文章

网友评论

      本文标题:三、demo

      本文链接:https://www.haomeiwen.com/subject/toiwsctx.html