如何创建Node.js Web服务器

摘要:
主流的Web服务器是Apache、Nginx和IIS。我们不需要他们。我们使用Jave创建服务器;2varfs=要求('fs');3varurl=require('url');45

Web服务器主流的有Apache, Nginx 和 IIS. 这些我们都不用, 我们用Jave创建一个服务器.

1. 首先安装Java库和NodeJS库, 这些都是开源的库,可以在网上直接下载, 安装, 设置好环境变量就可以了.

2. 写一个Web服务的脚本文件: server.js

 1 var http = require('http');
 2 var fs = require('fs');
 3 var url = require('url');
 4  
 5  
 6 // 创建服务器
 7 http.createServer( function (request, response) {  
 8    // 解析请求,包括文件名
 9    var pathname = url.parse(request.url).pathname;
10    
11    // 输出请求的文件名
12    console.log("Request for " + pathname + " received.");
13    
14    // 从文件系统中读取请求的文件内容
15    fs.readFile(pathname.substr(1), function (err, data) {
16       if (err) {
17          console.log(err);
18          // HTTP 状态码: 404 : NOT FOUND
19          // Content Type: text/html
20          response.writeHead(404, {'Content-Type': 'text/html'});
21       }else{             
22          // HTTP 状态码: 200 : OK
23          // Content Type: text/html
24          response.writeHead(200, {'Content-Type': 'text/html'});    
25          
26          // 响应文件内容
27          response.write(data.toString());        
28       }
29       //  发送响应数据
30       response.end();
31    });   
32 }).listen(8080);
33  
34 // 控制台会输出以下信息
35 console.log('Server running at http://127.0.0.1:8080/');

3. 写一个index.html文件, 放到你的服务器目录下, 就是Server.js目录下

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
 5 <meta charset="utf-8">
 6 <title>My first JS Project</title>
 7 </head>
 8 <body>
 9     <h1>Hello JAVA</h1>
10     <p>I love node.js </p>
11     <button id = "button" type = "button"> 点击我 </button>
12     
13     <script>
14         $(document).ready(function(){
15             $("button").click(function(){
16                 $("#button")[0].innerHTML = "爱你";
17             })
18         })
19         
20     </script>
21 </body>
22 </html>

4. 运行结果.

如何创建Node.js Web服务器第1张

免责声明:文章转载自《如何创建Node.js Web服务器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Vue子组件prop类型和默认值selenium从入门到应用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

uniapp获取用户信息 getuserinfo

<button type="primary" open-type="getUserInfo" @getuserinfo="wxGetUserInfo">登录</button> wxGetUserInfo(){ uni.getUserInfo({ success:...

Spring Security4.1.3实现拦截登录后向登录页面跳转方式(redirect或forward)返回被拦截界面

一、看下内部原理 简化后的认证过程分为7步: 用户访问网站,打开了一个链接(origin url)。 请求发送给服务器,服务器判断用户请求了受保护的资源。 由于用户没有登录,服务器重定向到登录页面 填写表单,点击登录 浏览器将用户名密码以表单形式发送给服务器 服务器验证用户名密码。成功,进入到下一步。否则要求用户重新认证(第三步) 服务器对用户拥有的权...

Android实现按钮点击效果(第一次点击变色,第二次恢复)

1、首先创建一个按钮 <Button android:id="@+id/click" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="点击变色" android:background="@drawable/btn_st" and...

运维与自动化系列④自动化部署基础与git

运维与自动化系列④自动化部署基础与git 自动化部署基础与git 一:上一篇的代码是保存在本地,但是在生产环境当中是由版本控制进行代码管理,以便于发布代码和回滚,一般是使用gitlib比较多,另外还有用svn的公司,趋势是git为主,因此本文以git为使用对象 1.1:在git服务器新建一个web组和项目web-demo: 准备web页面并提交至git服务...

vue+axois 封装请求+拦截器(请求锁+统一处理错误码)

 需求  封装常用请求  拦截器-请求锁  统一处理错误码 一、封装常用的请求   解决痛点:不要每一个模块的api都还要写get,post,patch请求方法。直接将这些常用的方法封装好。   解决方案:写一个类,封装好常用的请求   部分源码如下 export default class PublicAPI { constructor(ur...

Response.AddHeader(,)

Response.AddHeader "P3P”,"CP=CAO PSA OUR” Response.AddHeader "P3P”,"CP=CAO PSA OUR” java code : response.setHeader("P3P", "CP=CAO PSA OUR"); 一段解决IFRAME中SESSION无法保留的代码. 这个是属于HTML...