이의준

server코드 express routing모듈로 정리

1 +body
2 +{
3 + background-color: black;
4 + color: white;
5 +}
...\ No newline at end of file ...\ No newline at end of file
1 +var url = require('url');
2 +var request = require('request');
3 +
4 +module.exports = function(app)
5 +{
6 + app.get('/', function (req, res) {
7 + res.render('Index.html');
8 + });
9 +
10 + app.get('/timetable', function (req, res){ // bus list의 특정 버스를 클릭하면, server에 요청
11 + var _url = req.url;
12 + var queryData = url.parse(_url, true).query;
13 + var busNum = queryData.busNum;
14 +
15 + request.post(
16 + {
17 + url: 'http://34.206.171.225:23023/reqBusInfo',
18 + body: {
19 + 'busNum': busNum,
20 + 'testVariable': 'test'
21 + },
22 + json: true
23 + }
24 + );
25 + res.end('http://localhost:23023/resfromControllServer'); // 밑의 get활성화를 위함
26 + });
27 +
28 + app.get('/resfromControllServer', function (req, res){
29 + var body = '';
30 + req.on('data', function(data){
31 + body = body + data;
32 + });
33 + req.on('end', function()
34 + {
35 + var post = qs.parse(body);
36 + console.log(body);
37 + });
38 + var resFromServer = body.value1;
39 + var templateTimeTable =
40 + `
41 + <!doctype html>
42 + <html>
43 + <head>
44 + <title>Time Table</title>
45 + <meta charset="utf-8">
46 + <style type="text/css">
47 + a { text-decoration:none }
48 + </style>
49 + </head>
50 +
51 + <body>
52 + <h1><a href="/"><p style="text-align:center;">BTT</p></a></h1>
53 + <br>
54 + <h2>${busNum} BUS Time Table</h2>
55 + <br>
56 + ${resFromServer}
57 + </body>
58 + </html>
59 + `;
60 + res.send(templateTimeTable);
61 + });
62 +}
1 +var express = require('express');
2 +var app = express();
3 +var router = require('./router/main')(app); // router모듈인 main.js를 불러와서 app에 전달
4 +
5 +
6 +//__dirname : 현재 실행중인 폴더 경로
7 +app.set('views', __dirname + '/views'); //서버가 읽을 수 있도록 HTML 의 위치를 정의
8 +app.set('view engine', 'ejs'); //서버가 HTML 렌더링을 할 때, EJS 엔진을 사용하도록 설정
9 +app.engine('html', require('ejs').renderFile); //서버가 HTML 렌더링을 할 때, EJS 엔진을 사용하도록 설정
10 +
11 +var server = app.listen(23023, function () {
12 + var host = server.address().address
13 + var port = server.address().port
14 + console.log("app listening at http://%s:%s", host, port)
15 +})
16 +
17 +app.use(express.static('public'));
1 +<!doctype html>
2 +<html>
3 +<head>
4 + <title>BUS TT</title>
5 + <meta charset="utf-8">
6 + <style type="text/css">
7 + a { text-decoration:none } /* 하이퍼링크 밑줄 미적용
8 + a { color:red; text-decoration:none} : 색깔 변화없음
9 + */
10 + </style>
11 +</head>
12 +
13 +<body>
14 + <h1><p style="text-align:center;">BTT</p></h1>
15 + <br>
16 + <h2> 사색의 광장 Bus Time Table 조회 서비스에 오신 것을 환영합니다.</h2>
17 + <p> 이곳에는 사색의 광장에서 출발하는 모든 버스의 정보가 있습니다.</p>
18 + <br><br>
19 + <h2> 버스별 시간표 조회</h2>
20 +
21 + <script>
22 + var date = new Date();
23 + var yyyy = date.getFullYear();
24 + var mm = date.getMonth() + 1;
25 + var dd = date.getDate();
26 + var hh = date.getHours();
27 +
28 + document.write(yyyy+"년 "+mm+"월 "+dd+"일 오늘 운행하는 버스들 ");
29 + document.write("( "+hh+"시 "+mm+"분 기준 )");
30 + </script>
31 +
32 + <ul>
33 + <li><a href="http://localhost:23023/timetable?busNum=5100">5100</a></li>
34 + <li><a href="http://localhost:23023/timetable?busNum=M5107">M5107</a></li>
35 + <li><a href="http://localhost:23023/timetable?busNum=9">9</a></li>
36 + <li><a href="http://localhost:23023/timetable?busNum=7000">7000</a></li>
37 + <li>etc</li>
38 + </ul>
39 + <br>
40 + <p>설명</p>
41 +
42 +
43 +</body>
44 +</html>
1 +<!-- 이 문서는 base.js에 timetableHTML로 저장되어 있음. 따라서 이 문서는 직접적으로 사용하지 않음-->
2 +
3 +<!doctype html>
4 +<html>
5 +<head>
6 + <title>Time Table</title>
7 + <meta charset="utf-8">
8 + <style type="text/css">
9 + a { text-decoration:none }
10 + </style>
11 +</head>
12 +
13 +<body>
14 + <h1><a href="Index.html"><p style="text-align:center;">BTT</p></a></h1>
15 + <br>
16 + <h2>0000 BUS Time Table</h2>
17 + <p> 타임테이블 출력 ~~~~ </p>
18 +</body>
19 +</html>
...\ No newline at end of file ...\ No newline at end of file