Riucc's Storage
RSS
태그
관리
쓰기
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
Riucc's Storage

[NodeJS] - 웹사이트 1차 queryData로 관리하기

NodeJS|2018. 9. 12. 15:33
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

○ 웹사이트 1차 queryData로 관리하기 

 

queyData를 이해하기 위해 예시를 몇가지 들어보겠습니다

전체코드는 맨 아래 있고 간단히 코드를 살펴보겠습니다



이 코드만 보면 이게 뭐야? '뭔지 모르겠다 뭐가 출력되는거지?' 하실겁니다

근데 몇가지 예시를 들어 결과창을 보시면 '이렇게 동작하는구나'라고 감을 잡으실 겁니다.



접속창을 보시면 흔히 우리가 네이버나 다른 웹사이트에서 검색할때 쓰던 형태이죠

그리고 결과창을 보시면 해당 값들을 가져온걸 볼 수 있죠


그럼 아래 전체 코드를 보면 또 감이 잡히실겁니다

'?id' 냐 '?psw' 냐 '?board' 냐에 따라 그 값들로 조건문을 통해 제어를 해서 우린 페이지마다

각각 다른 값들(페이지들)을 나타낼 수가 있는 것이죠!


// NodeJS 관련 모듈들을 사용하기 위해 가져와 변수에 넣음

var http = require('http');

var fs = require('fs');

var url = require('url');



var app = http.createServer(function (request, response) {

    var _url = request.url;

    var queryData = url.parse(_url, true).query;

    var pathname = url.parse(_url, true).pathname;

    console.log(queryData);

    console.log('queryData.id : ' + queryData.id);

    console.log('queryData.psw : ' + queryData.psw);

    console.log('queryData.board : ' + queryData.board);


    if (pathname === '/') {

        if (queryData.id === undefined) {

                var title = '존재하지 않은 페이지';

                var description = '존재하지 않은 페이지입니다';

                var template = `

        <!doctype html>

        <html>

        <head>

          <title>WEB1 - ${title}</title>

          <meta charset="utf-8">

        </head>

        <body>

          <h2>${title}</h2>

          <p>${description}</p>

        </body>

        </html>

        `;

                response.writeHead(200);

                response.end(template);


        } else {

            // queryData.id 가 undefined 가 아니라면

           // fs.readFile로 해당 폴더의 파일을 불러옵니다(뒤에 ${queryData.id}의 값으로)

            fs.readFile(`data/${queryData.id}`, 'utf8', function (err, description) {

                var title = queryData.id;

                var template = `

        <!doctype html>

        <html>

        <head>

          <title>WEB1 - ${title}</title>

          <meta charset="utf-8">

        </head>

        <body>

          <h1><a href="/">WEB</a></h1>

          <ul>

            <li><a href="/?id=HTML">HTML</a></li>

            <li><a href="/?id=CSS">CSS</a></li>

            <li><a href="/?id=JavaScript">JavaScript</a></li>

          </ul>

          <h2>${title}</h2>

          <p>${description}</p>

        </body>

        </html>

        `;

                response.writeHead(200); // 200 성공을 띄워라

                response.end(template); // template으로 정의한 데이터를 응답해라

            });

        }

    } else {

        response.writeHead(404);  // 404 에러를 띄워라

        response.end('Not found'); // Not found라고 응답해라

    }

});

app.listen(3000); // 포트번호 3000에 연결


참조 : https://opentutorials.org/course/3332/21064 (생활코딩)


저작자표시 (새창열림)

'NodeJS' 카테고리의 다른 글

[NodeJS] - 디렉토리에 파일 목록들 읽어오기 fs.readdir  (0) 2018.09.16
[Javascript] - 배열과 반복문  (0) 2018.09.16
[NodeJS] - Brackets 코드 자동정렬 툴(Beautify)  (0) 2018.09.12
[Javascript] - Boolean, 비교연산자, 조건문  (0) 2018.09.12
[NodeJS] - 파일 읽기 fs.readFile  (0) 2018.09.11

댓글()
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
최근 등록 현황
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
달력
지난달
2025.10
다음달
일월화수목금토
1234
567891011
12131415161718
19202122232425
262728293031
태그 구름
  • 정보처리산업기사 16년
  • 정보처리산업기사 15년
  • 정보처리산업기사 15년 필기
  • 안드로이드 카카오 로그인
  • 정보처리산업기사 필기 정리
  • 리눅스
  • 커널 모듈 프로그래밍
  • nodejs express
  • 안드로이드 intent
  • 소켓
  • 정보처리산업기사 16년 필기
  • 정규형
  • 정보처리산업기사 총정리
  • nodejs MySQL 연동하기(Connection Pool)
  • 데이터베이스
  • 이클립스 디비 연동
  • 정보처리기사 실기 정리
  • 정보처리산업기사 필기
  • jsp
  • 소켓 프로그래밍
  • 자료구조
  • 안드로이드 카카오 로그인 연동
  • 정보처리산업기사 정리
  • 안드로이드
  • 카카오 로그인
  • 정보처리산업기사 요약
  • 정규화
  • 이클립스 mysql 연동
  • HTML
  • 카카오 로그인 연동
카운터
전체 방문자
오늘
어제
Skin by M1REACT. Designed by M1STORY.TISTORY.COM. Valid XHTML 1.0 and CSS 3. Copyright ⓒ Riucc's Storage. All rights reserved.

티스토리툴바