>npm install connect
>npm install connect_router
1. server.js
/* __filename : 현재 실행 중인 코드의 파일 경로 __dirname : 현재 실행중인 코드의 폴더 경로 */ // http 서비스를 하기 위해 var connect = require("connect"), connect_router = require("connect_router"), fs = require("fs"), url = require("url"); //서버 객체를 얻어옵니다. var server = connect.createServer() .use(connect.static(__dirname + "/Resource")) // 각종 리소스 폴더 .use(connect.bodyParser()) // post 방식 전송된 데이터 읽어오기 위해 .use(connect_router(main)) // 페이지 라우팅 처리할 함수 .use(connect.errorHandler({stack:true, message:true, dump:true})) // 에러출력 및 처리 .listen(3000); //페이지 라우팅을 해서 클라이언트에 서비스할 함수 function main(app){ app.get("/", function(request, response){ console.log("index.html 클라이언트의 요청이 왔습니다."); //클라이언트에 응답할 html 파일을 읽어서 응답한다. fs.readFile("html/index.html", function(error, data){ response.writeHead(200, {"Content-Type":"text/html"}); response.end(data); }); }); app.get("/login.html", function(request, response){ console.log("login.html 클라이언트의 요청이 왔습니다."); //클라이언트에 응답할 html 파일을 읽어서 응답한다. fs.readFile("html/login.html", function(error, data){ response.writeHead(200, {"Content-Type":"text/html"}); response.end(data); }); }); // get 방식으로 form 전송 햇을때 app.get("/login", function(request, response){ console.log("get / memIn.html 클라이언트의 요청이 왔습니다."); // 클라이언트가 전송한 값을 읽어온다. var query = url.parse(request.url, true).query; // 읽어온값 확인 해보기 console.log(query); // 페이지 강제이동 response.writeHead(302, {"Location":"/member/memIn.html"}); response.end(); }); // post 방식으로 form 전송햇을때 app.post("/login", function(request, response){ console.log("post / memIn.html 클라이언트의 요청이 왔습니다."); // body 부분에 붙어서 오는 데이터를 읽어오기 위해. var body = request.body; console.log(body.id + " / " + body.pwd); // 페이지 강제이동 response.writeHead(302, {"Location":"/member/memIn.html"}); response.end(); }); app.get("/member/memIn.html", function(request, response){ console.log("클라이언트의 요청이 왔습니다."); //클라이언트에 응답할 html 파일을 읽어서 응답한다. fs.readFile("html/member/memIn.html", function(error, data){ response.writeHead(200, {"Content-Type":"text/html"}); response.end(data); }); }); }
2. /html/index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>connect / router module(index.html)</title> </head> <body> <h1>index.html 페이지 입니다.</h1> <ul> <li><a href="login.html">로그인</a></li> <li><a href="member/memIn.html">회원가입</a></li> </ul> </body> </html>
3. /html/login.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>connect / router module(login.html)</title> </head> <body> <form action="login" method="post"> 아이디<input type="text" name="id"/><br/> 비밀번호<input type="text" name="pwd"/><br/> <input type="submit" value="로그인"/> </form> </body> </html>
4. /html/member/memIn.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>connect / router module(memberIn.html)</title> </head> <body> <h1>회원 가입 페이지 입니다.</h1> </body> </html> </html>
'프로그래밍 > nodeJS' 카테고리의 다른 글
[nodeJS] Socket.IO 모듈 (0) | 2015.01.27 |
---|---|
[nodeJS] Express / Routes / Jade 모듈 (0) | 2015.01.27 |
[nodeJS] jade 모듈 (0) | 2015.01.27 |
[nodeJS] ejs 모듈 (0) | 2015.01.27 |
[nodeJS] http 모듈 + FileSystem 모듈 (0) | 2014.12.29 |