>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 |