讲解:COMP312、Programming、Java、JavaC/C++|Web

COMP312 Internet Programming IIAssignment 2Student number: _______________________ Due date: Nov 22, 2019Q1. (40 marks) Write a client-side JavaScript program to display a lecture time table in . The time table data is provided in a script file ‘timetab.js’. The program allows the user to choose a year of study (1 to 4).Requirements:(5 marks) Include an HTML document with a for selecting year of study(5 marks) No JavaScript code embedded in the HTML document. Save your code in *.js files(5 marks) Display the weekly lectures in a , group by day-of-week. Arrange the lectures in time order.(5 marks) Each row shows the course code, course title, day-of-week, start time, end time, and classroom in separate table cells . (5 marks) Display day-of-week in English, e.g. ‘Monday’, ‘Tuesday’.(10 marks) When the user selects a year of study in the , update the to show the lectures for the selection.(5 marks) By default, the page shows the weekly lectures of year 3. Your answer should include the source code of your HTML file and your script file. Don’t include jQuery source file or ‘timetab.js’.Q2. (30 marks) The following application server handles two endpoints: one for the image file /ipm.png and one for inquiring the lectures of a given course code. var express = require(express);var app = express();// import and database connection for ‘db’ omittedapp.get(/ipm.png, (req, res) => { res.sendFile(__dirname+/public/ipm.png);});app.get(/lecture/:code, (req, res) => { var code = req.params.code; db.all(SELECT * from timetab where code=?, [code], function(err, rows) { if (err) throw err; var ans = ; for (row of rows) { ans += `${r.code}, ${r.start}-${r.end}, room ${r.room}` } res.send(ans); });});app.listen(3000); Suppose that the server is running and waiting for incoming HTTP requests. The server first receives a request for the URL ‘/lecture/comp312’. While it is waiting for the database result, the server receives another request for the URL ‘/ipm.png’.Explain how the event loop handles the two HTTP requests. The event loop wakes up (at least) three times to handle three events (two for incoming requests, one for database operation).Requirements:(10 marks) Describe how the application server searches the stack of routes in handling the two requests.(5 marks) Point out the order that the three events occur.(5 marks) Describe the statements that the server runs to handle the first event.(5 marks) Describe the statements that the server runCOMP312代写、代做Programming、Java程序s to handle the second event.(5 marks) Describe the statements that the server runs to handle the third event.Q3. (30 marks) An online video site is going to design and implement an RPC-style Web API for its Ajax web app. The Web API has the following four endpoints: /getUser, /searchVideo, /like and /removeVideo. The browser-side client can manipulate data in a server-side database using the API. The database schema is provided below. Table VideoColumn Name Data type DescriptionVid integer primary key. auto increment.Title text a short description of the videourl text URL of the video data file in mp4 formatuploadUser integer user who uploaded the video. FK to UserCategory text e.g. ‘comedy’, ‘music’Likes integer number of likes by usersTable UserColumn Name Data type DescriptionUid integer primary key. auto increment.Fullname text full name of the userEmail text email address of the userTable VoteUpColumn Name Data type DescriptionUid integer Who likes the video. FK to User.Vid integer Which video is liked. FK to Video.Design the Web API. For each of four endpoints, write a sample HTTP request message and a sample response message (for successful operation) to illustrate your design. The following are detail requirement./getUser – Retrieve user information. The input parameter is uid. The response must include uid, full name and email of the user. In addition, it must include the number of videos uploaded by the user./searchVideo – Search for videos using keyword in video title and category. The input parameters are keyword and category. The sample response must contain information about more than 1 video. The response includes vid, title, URL and likes./like – A user ‘likes’ a video. The input parameters are uid and vid. Response body is empty./removeVideo – Remove a video. The input parameter is vid. Response body is empty.Marking scheme:/getUser request 4% (2%) HTTP message format. Suitable method and URL.(2%) input parameter (1) response 4% (2%) HTTP message format(2%) JSON response body, contain number of videos/searchVideo request 4% (2%) HTTP message format. Suitable method and URL.(2%) input parameters (1 or 2) response 6% (2%) HTTP message format(4%) JSON response body, contain more than 1 video/like request 4% (2%) HTTP message format. Suitable method and URL.(2%) input parameter (2) response 2% (2%) HTTP message format/removeVideo request 4% (2%) HTTP message format. Suitable method and URL.(2%) input parameter (1) response 2% (2%) HTTP message format转自:http://www.6daixie.com/contents/13/4441.html

你可能感兴趣的:(讲解:COMP312、Programming、Java、JavaC/C++|Web)