Node.js中实现JavaScript Servlet的步骤

发表时间: 2018-09-26 09:00

Node.js彻底改变了开发JavaScript的方式。在这篇文章中,我们将在后端查看JS的另一个开源创新

Achieve是一个在Node.js上运行的现代HTTP服务器,它使用JavaScript Servlet来启动后端处理。(npm,GitHub)JS Servlet快速,易于使用,并且不限制您开发复杂后端应用程序的能力; 非常适合快速开发微服务或完整的基于Node.js的Web应用程序。您甚至可以将它用于提供网页。

servlet是一个在服务器上运行的小程序。这个术语早已与Java有关。Java Servlets提供了用Java编写的服务器和后端应用程序之间的接口。这个名为Achieve的新服务器实现在Node.js上提供了一个JavaScript Servlet实现。如果您熟悉Java Servlet,则应该很容易看到新JS Servlet设计中的一般相似之处

Achieve的最初动机是将Web应用程序开发包括在早期编程课程(包括Web开发课程)中。易于使用,尤其是交换utf-8文本(HTML5的默认值)是绝对必要的。JavaScript是一种明显的语言选择。

各种考虑促使使用servlet概念,受Java servlet的启发。阅读快速入门指南,您将看到,凭借JS Servlets的特殊功能,Achieve非常易于使用。但是没有人应该受到工具限制的阻碍。易用性是一个特征,而不是限制特征。JS Servlet Context对象以及对Node.js和所有存在的节点模块的完全访问提供了完整专业体验的途径。最后,使用Achieve的早期体验可以更容易地在以后的课程中引入Java Servlet。

真正的开发人员不需要不必要的复杂性!

随着Achieve工作的进行,很明显,实施对于生产来说足够有效。此外,它的基本功能对开发人员和学生都有帮助。

  • 在生产中实现将应用程序组件加载到内存中,但在代码更改后自动重新加载它们。
  • 实现提供错误消息,以便在浏览器或浏览器控制台中以与浏览器代码中的错误相同的形式显示,从而在开发和测试期间允许一个焦点。
  • Achieve可以处理返回通过servlet的return语句返回给它的响应的整个过程。
  • Achieve的默认值是utf-8纯文本,但您可以更改MIME类型和编码(事实上,设置任何标头)并仍然使用servlet return语句,允许Achieve完成响应。
  • 您可以将应用程序文件夹设置为您有权访问的任何目录(包括网络目录),并为根应用程序设置子目录。
  • 您可以通过访问servlet的Context对象中的请求和响应来完全控制,就像在任何Node.js应用程序中一样。
  • 您可以列出Achieve当前支持的MIME类型,并根据需要添加其他MIME类型。
  • 实现支持浏览器缓存(ETags)和压缩(gzip,deflate)。
  • 您可以将Achieve与其他节点模块结合使用来构建后端应用程序。

一个独立的Servlet容器!

在某些情况下,单独使用JS Servlet是运行微服务的不错选择。模块servlets.js 是Achieve的servlet部分。它是在没有静态内容服务器代码的情况下实现的。虽然速度至关重要时可能会提高速度,但在做出选择时应考虑以下因素。

因为servlets.js是Achieve的servlet支持部分,所以您可以使用Achieve开发并在生产中切换到servlets.js。

实现允许微服务开发人员通过单元测试独立工作,在其他组件发展良好的情况下保持集成。通过浏览器触发后端进程很容易,并且Achieve向浏览器提供错误消息的方式可以帮助您进行调试。这通过允许一次关注一件事来简化开发过程。您可以使用浏览器作为GUI轻松地为您的微服务开发监控工具。通过服务与运行决策非常有效地实现目标。如果您真的觉得需要通过编码来缩短微秒,那么您可能需要更快的计算机。

Achieve和servlets.js是作为HighLevel Logic项目(HLL)的一部分开发的。它们都可以通过npm 和GitHub获得,MIT许可下的免费和开源。