OtherPage.html

<!DOCTYPE html>


<html lang="en" xmlns="http://www.w3.org/1999/xhtml">

<head>

    <meta charset="utf-8" />

    <title>Login Page</title>

</head>

<body>

    <h1>Login Page</h1>

    <form method="post">

        <table>

            <tr>

                <td><label>UserName</label></td>

                <td><input type="text" name='login'/></td>

            </tr>

            <tr>

                <td><label>Password</label></td>

                <td><input type="password" name='password' /></td>

            </tr>

        </table>

        <input type="submit"/>

    </form>

</body>

</html>


-----------------


var http = require("http");

var express = require("express");

var app = express();

var fs = require("fs");

var body_parser = require("body-parser");

var cookie_parser = require("cookie-parser");


app.use(body_parser.urlencoded({ extended: false }));

app.use(body_parser.json()); // body를 json 형식으로 만들어줌

app.use(cookie_parser());

app.get("/", function (request, response) {

    if (request.cookies.auth) {

        response.send("<h1>Login Success</h1>");

    } else {

        response.cookies.set("auth", false);

        response.redirect("/login");

    }

});


app.get("/login", function (request, response) {

    fs.readFile("OtherPage.html", function (error, data) {

        response.send(data.toString());

    });

});


app.post("/login", function (request, response) {

    var id = request.body.login;

    var pw = request.body.password;

    

    console.log(id, pw);

    console.log(request.body);

    

    if (id == "rint" && pw == "1234") {

        response.cookies.set("auth", true);

        response.redirect("/");

    } else {

        response.redirect("/login");

    }

});

http.createServer(app).listen(52273, function () {

    console.log("Server running 52273");

});



Posted by 에브리피플
,

// request handler가 응답하게 만들기
router.js
function route(pathname, handle) {
console.log("About to route a request for "+pathname);
if ( typeof handle[pathname] === 'function' ) {
return handle[pathname]();
}
else{
console.log("No request handler founder for " + pathname );
return "404 Not found";
}
}
exports.route = route; // exports 외부에서 호출가능하게함

request_handler.js
function start() {
console.log("Request handler 'start' was called");
return "Hello Start";
}
function upload() {
console.log("Request handler 'upload' was called");
return "Hello Upload";
}

exports.start = start;
exports.upload = upload;

server.js

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

function start(route, handle) {
function onRequest( request, response ) {
var pathname = url.parse(request.url).pathname;
console.log("Request"+pathname+" received");

response.writeHead(200, {"Content-Type": "text/plain"});
var content = route( pathname, handle);
response.write(content);
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server has started");
}
exports.start = start;


// 블락킹 하기 ( 타이머 )
request_handler.js

function start() {
console.log("Request handler 'start' was called");
function sleep(milliSeconds) {
var startTime = new Date().getTime();
while( new Date().getTime() < startTime + milliSeconds );
}

Posted by 에브리피플
,

//다른 HTTP 요청이 코드의
//다른 부분을 가리키도록 하는 것을 “라우팅(routing)”

// 요청 url get/pos 파라미터를 router로 전달
// 웹서버로 요청보내는 형식
// http://localhost:8888/start?foo=bar&hello=world

// URL path 기준으로 요청 구분하기

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

function start() {
function onRequest( request, response ) {
var pathname = url.parse(request.url).pathname;
console.log("Request"+pathname+" received");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("HelloWorld");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server has started");
}
exports.start = start;

// router 만들기
// node index.js(서버 실행) -> url 요청 -> http server가 router를 사용하여 pathname을 넘김
router.js
function route(pathname) {
  console.log("About to route a request for " + pathname);
}
exports.route = route;

index.js
var server = require("./server");
var router = require("./router");
server.start(router.route);

server.js
var http = require("http");
var url = require("url");

function start(route) {
function onRequest( request, response ) {
var pathname = url.parse(request.url).pathname;
console.log("Request"+pathname+" received");
route(pathname);
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("HelloWorld");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server has started");
}
exports.start = start;

// request handler로 라우팅(routing) 하기
request_handler.js
function start() {
console.log("Request handler 'start' was called");
}
function upload() {
console.log("Request handler 'upload' was called");
}

exports.start = start;
exports.upload = upload;

router.js
function route(pathname, handle) {
console.log("About to route a request for "+pathname);
if ( typeof handle[pathname] === 'function' ) {
handle[pathname]();
}
else{
console.log("No request handler founder for " + pathname );
}
}
exports.route = route; // exports 외부에서 호출가능하게함


server.js
var http = require("http");
var url = require("url");

function start(route, handle) {
function onRequest( request, response ) {
var pathname = url.parse(request.url).pathname;
console.log("Request"+pathname+" received");
route( pathname, handle);
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("HelloWorld");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server has started");
}
exports.start = start;

index.js

var server = require("./server");
var router = require("./router");
var requestHandlers = require("./request_handler");
var handle = {}
handle["/"] = requestHandlers.start;
handle["/start"] = requestHandlers.start;
handle["/upload"] = requestHandlers.upload;
server.start(router.route, handle);

Posted by 에브리피플
,


index.js
var server = require("./server");

server.start();

server.js
var http = require("http");
function start() {
function onRequest( request, response ) {
console.log("Request received");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("HelloWorld");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("server has started");
}
exports.start = start;

'node.js' 카테고리의 다른 글

request handler가 응답하게 만들기  (0) 2015.02.05
URL path 기준으로 요청 구분하기  (0) 2015.02.05
함수 호출하기  (0) 2015.02.05
웹서버 만들기  (0) 2015.02.05
node.js express get  (0) 2015.02.05
Posted by 에브리피플
,

함수 호출하기

node.js 2015. 2. 5. 17:59

var http = require("http");
var server = http.createServer();
server.listen(8788);

function say(word) {
console.log(word);
}
function execute(someFunction, value){
someFunction(value);
console.log("ex ecute");
}
execute(say, "Hello");

Posted by 에브리피플
,

웹서버 만들기

node.js 2015. 2. 5. 17:59

웹서버 만들기
var http = require("http");

http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type":"text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);

Posted by 에브리피플
,

node.js express get

node.js 2015. 2. 5. 17:58

var express = require('express');
var app = express();

app.listen( 3303, function() {
console.log('server start');
});

app.get('/', function( req, res ) {
res.send('hello world');
});

app.get('/login', function( req, res ) {
res.send("login success");
});

 

Posted by 에브리피플
,