Node.js 简单页面输出

本文档介绍如何使用Node.js创建一个简单的HTTP服务器,当访问指定URL时,输出预设的Login.html页面。

目标:访问HTTP://localhost:5656/     输出一个HTML页面(已经做好的Login.html)

index.js

var server = require("./server");
var router=require("./router");
var requestHandlers=require("./requestHandlers");

var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;

server.start(router.route,handle);

server.js

var http = require("http");
var url=require("url");

function start(route,handle) {
  function onRequest(request, response) {
  	var postData="";
		var pathname=url.parse(request.url).pathname;
    console.log("Request for"+pathname+"received.");
	  
	  request.setEncoding("utf8");
	  
	  request.addListener("data", function(postDataChunk) {
    	 postData += postDataChunk;
    	 console.log("Received POST data chunk '"+
    	 postDataChunk + "'.");
    });

    request.addListener("end", function() {
      route(handle, pathname, response, postData);
    });
		//route(handle,pathname,response);
	
    //response.writeHead(200, {"Content-Type": "text/plain"});
    //response.write("this is a demo");
    //response.end();
  }

  http.createServer(onRequest).listen(5656,'127.0.0.1');
  console.log("Server has started. localhost:5656");
}

exports.start = start;
router.js

function route(handle,pathname,response,postData){
	console.log("About to route a request for"+pathname);
	if(typeof handle[pathname]=='function'){
		handle[pathname](response,postData);
	}
	else{
		console.log("no request handler found for"+pathname);
		response.writeHead(404, {"Content-Type": "text/plain"});
    response.write("404 Not found");
    response.end();
	}
}
exports.route=route;

requestHandlers.js

//var querystring = require("querystring");
var fs=require("fs");

function start(response,postData) {
	console.log("Request handler 'start' was called.");
	//读取HTML文件内容
	fs.readFile('login/Login.html','utf-8',function(err,data){
		if(err){
			console.error(err);
		}
		else{
			response.writeHead(200, {"Content-Type": "text/html"});
			response.write(data);
			response.end();
		}
	}); 
}

function upload(response,postData) {
  console.log("Request handler 'upload' was called.");
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("You've sent: " + postData);
  response.end();
}

exports.start = start;
exports.upload = upload;
启动运行,访问http://localhost:5656    显示的是Login.html页面




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值