2019-01-12 Node.js 和Tomcat的区别
2019-01-12 本文已影响0人
KingAmo
在互联网架构中,名词解释:
Web服务器
:一般指像nginx
,apache
这类的服务器,他们一般只能解析静态资源。
应用服务器:一般指像tomcat
,jetty
这类的服务器,可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。
一般都是只有web服务器才能被外网访问,应用服务器只能内网访问。
Node.js
node
启动一个服务器很简单: 新建一个helloWord.js
文件
// helloWord.js
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8888);
或者用基于node
的koa
框架(需用npm安装koa)
// helloWord.js
const Koa = require('koa');
const app = new Koa();
const main = ctx => {
ctx.response.body = 'Hello World';
};
app.use(main);
app.listen(3000); // 监听客户端的 http 请求,类似于Tomcat Apache 、Nginx 等 HTTP 服务器的功能
命令行输入node helloWord.js
就启动了一个服务.
浏览器(或者postman)访问locathost:3000
就能看返回的Hello World
字符串。
使用 Node.js 时,我们不仅仅在实现一个应用,同时还实现了整个 HTTP 服务器,也就是说,监听并接收HTTP 请求并提供 Web 页面(或者json数据)
的这个需求不需要其他的辅助程序的帮助,是node.js
自己完成的。
Tomcat
而使用Java
的时候,监听并接收 HTTP 请求并提供 Web 页面(或者json数据)
的这个功能是由Tomcat
(或者Nginx、Apache等)来实现的。也就是说用Java
的时候启动一个服务器需要Tomcat
的配合才行。
Tomcat
还负责处理路由:访问不同的路径返回不同的资源
Tomcat
的webapps
文件夹里可以放多个项目。。
JSP
文件 :html
格式的代码 + <% java代码 %>
(JSP脚本)
执行后得到java文件,java文件执行,向输出流写html
字符串