목차
내장객체를 사용한 web server 만들기
const { createServer }=require('http');
const url=require('url');
const query=require('querystring');
const hostname='127.0.0.1';
const port=3000;
const server = createServer((req, res) => {
console.log(req.url,req.method);
let result=url.parse(req.url);
if(result.pathname=='/'){
res.statusCode=200;
res.setHeader('Content-Type','text/html;charset=utf-8');
res.end('<h1>index page</h1>');
}else if(result.pathname=='/intro'){
let id='guest';
let msg=req.url.split('?');
if(msg.length>1){
msg=msg[1];
id=query.parse(msg).id;
}
res.statusCode=200;
res.setHeader('Content-Type','text/html;charset=utf-8');
res.end('<h1>intro page</h1><p>id:'+id+'</p>');
}else{
res.statusCode=404;
res.setHeader('Content-Type','text/html;charset=utf-8');
res.end('<h1>err page</h1>');
}
});
server.listen(port, hostname, () => {
console.log(`Server running at https://${hostname}:${port}/`);
});
외부 라이브러리를 이용해 web server 만들기
https://expressjs.com/en/starter/installing.html
Installing Express
Learn how to install Express.js in your Node.js environment, including setting up your project directory and managing dependencies with npm.
expressjs.com
const express = require('express')
const fs=require('fs');
const app = express()
const port = 3000
app.get('/', (req, res) => {
let msg=fs.readFileSync('./static/index.html',{encoding:'utf-8'});
res.send(msg);
})
app.get('/intro',(req,res)=>{
res.send('<h1>intro page</h1>');
});
app.get('/dept/',(req,res)=>{
const arr=[
{deptno:1,dname:'test1',loc:'test'},
{deptno:2,dname:'test2',loc:'test'},
{deptno:3,dname:'test3',loc:'test'}
];
// res.setHeader('Content-type','application/json');
// res.send(JSON.stringify(arr));
res.json(arr);
});
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
'100일 챌린지 > 빅데이터기반 인공지능 융합 서비스 개발자' 카테고리의 다른 글
Day 77 - Nodejs express로 CRUD 프로그램 만들기 (0) | 2024.11.18 |
---|---|
Day 75 - interface, lamda식, stream (0) | 2024.11.14 |
Day 74 - JavaScript 문법 (0) | 2024.11.13 |
Day 74 - Java로 구현하는 backend (NodeJS) (0) | 2024.11.13 |
Day 73 - 배포하기 (0) | 2024.11.12 |