【Node】【2】创建node应用

创建node应用

node应用,不仅可以实现web应用,也能实现http服务器。

如果是php写后端,还需要有http服务器,比如apache 或者 nginx。

但是现在主流都是java写后端,也可以像 Node.js 一样用于实现 Web 应用和 HTTP 服务器。Java 在 Web 开发领域有着广泛的应用,常用于构建企业级 Web 应用程序和服务。以下是一些 Java 技术可以用来实现 Web 应用和 HTTP 服务器:

  1. Servlet:Servlet 是 Java Web 开发的基础技术之一,用于处理客户端请求并生成动态内容。Servlet 可以通过 Java 编写,然后部署到 Servlet 容器(如 Tomcat、Jetty 等)中运行,从而实现 HTTP 服务器和 Web 应用。
  2. JSP(JavaServer Pages):JSP 是一种 Java 技术,允许在 HTML 中嵌入 Java 代码,用于生成动态内容。JSP 可以与 Servlet 结合使用,实现复杂的 Web 应用逻辑。
  3. Spring 框架:Spring 是一个广泛应用于 Java Web 开发的框架,提供了丰富的功能和组件,包括 Spring MVC、Spring Boot 等,用于快速开发和部署 Web 应用。Spring Boot 特别适用于构建独立的、自包含的 Web 应用程序。
  4. RESTful 服务:Java 可以使用 JAX-RS 或 Spring MVC 等框架来实现 RESTful 风格的 Web 服务,提供 API 接口给客户端进行访问。
  5. Netty:Netty 是一个高性能的异步网络通信框架,可以用于构建高性能的 HTTP 服务器和网络应用,适用于需要处理大量并发连接的场景。

node应用包含3个部分:

  • require指令:引入模块。内置|第三方
  • 创建服务器,类似apache、Nginx等HTTP服务器。用于接收http请求和提供web页面。
  • 接收请求与响应请求

例子:实现一个可以工作的http服务器。

server.js

var http = require('http');http.createServer(function (request, response) {// 发送 HTTP 头部 // HTTP 状态值: 200 : OK// 内容类型: text/plainresponse.writeHead(200, {'Content-Type': 'text/plain'});// 发送响应数据 "Hello World"response.end('Hello World\n');
}).listen(8888);// 终端打印如下信息
console.log('Server running at http://127.0.0.1:8888/');

代码解释:

  • http是引入的内置模块

  • createServer创建一个服务器对象,这个服务器监听的是8888 端口。服务器没有指定监听的地址,Node.js 默认会将服务器绑定到本地回环地址 127.0.0.1,这是一个特殊的 IP 地址,通常表示本机。这种行为的好处是安全性(只有自己能够访问(开发与测试环境常见的使用方式))+简单性(减少配置的复杂性)

  • 使用命令行执行server js 文件。打开浏览器访问,

  • 如果本地出现 如下报错:则说明,电脑还启动了一个相同端口的应用。

    在这里插入图片描述

  • 如下报错,说明写反了,先port 再 IP,最后执行回调函数,打印server is runing。

    在这里插入图片描述

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/52289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

easypoi模板导出word多页导出加强版

说明 上一篇文章提到多页导出,但是后边发现一个问题,如果用同一个模板导出多页内容,我们去获取多页内容的时候,会发现全部都一样,举个例子: XWPFDocument document WordExportUtil.exportWord07(outputU…

有限差分学习笔记

有限差分介绍 ​ 在数学中,有限差分法(finite-difference methods,简称FDM),是一种微分方程数值方法,是通过有限差分来近似导数,从而寻求微分方程的近似解。 由泰勒展开式的推导 显式方…

C# 项目管理CLI常用命令

Command Line Interface (CLI) .NET Command Line Interface (CLI) 是一个跨平台的工具链&#xff0c;用于开发、构建、运行和发布基于 .NET Core 和 .NET 5 应用程序。以下是一些常用的 .NET CLI 命令及其简要说明&#xff1a; 创建新项目 dotnet new <template> [-n|…

选择搜索引擎进行搜索

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>选择搜索引擎进行搜索</title><script>function searchSelectedEngine() {var keyword document.getElementById(keyword).value;var engine document.getEl…

【PyTorch】关于Tensorboard的简单使用

前提文章目录 【PyTorch】深度学习PyTorch环境配置及安装【详细清晰】 【PyTorch】深度学习PyTorch加载数据 文章目录 前提文章目录SummaryWriter使用add_image()的使用&#xff08;常用来观察训练结果&#xff09;利用Tensorboard观察图片 SummaryWriter使用 from torch.util…

手把手教你用vite+React18+TS+redux+prettier+eslint+Ant打造企业级前端项目

通过这篇文章你可以学到 如何使用使用 webpack 搭建项目如何在 webpack中集成 typescript如何在 webpack 中集成 React Router 和 Redux如何使用 React 的组件库 Ant Design如何在项目中集成 eslint 和 prettier 保证代码质量如何为团队开发专属的项目模板 环境依赖版本 nod…

Hive SQL语言

目录 Hive SQL之数据库与建库 create database :创建数据库 use database :选择特定的数据库 drop database :删除数据库 Hive SQL之表与建表 create table : 创建表 分隔符指定语法 Hive SQL-DML-Load加载数据 Load语法功能 语法规则之filepath 语法规则之LOCAL …

spring揭秘09-aop03-aop织入器织入横切逻辑与自动织入

文章目录 【README】【1】spring aop的织入【1.1】使用ProxyFactory 作为织入器【1.2】基于接口的代理&#xff08;JDK动态代理&#xff0c;目标类实现接口&#xff09;【补充】 【1.2】基于类的代理&#xff08;CGLIB动态代理&#xff0c;目标类没有实现接口&#xff09;【1.2…

数据缓存软件Redis推出Redis 8 这更改许可证后首个重大版本更新

2024 年 3 月流行的数据库缓存应用 Redis 宣布修改开源许可证&#xff0c;此次修改许可证的目的本质上就是避免大型云计算公司白嫖&#xff0c;例如亚马逊的 AWS 等。AWS 等云计算服务商基于 Redis 推出托管服务并向客户收费&#xff0c;作为开发商 Redis 并没有获得收益&#…

vue的事件修饰符、数组变化侦测、计算属性、class绑定、style绑定

一、事件修饰符 功能&#xff1a;用于简化代码。 .stop 阻止事件冒泡.prevent 阻止默认事件.once.enter 两种使用方式&#xff1a; e.stopPropagation(); //第一种 click.stop"clickP" //第二种 二、数组变化侦测 分为两类&#xff1a; 1、能够引起UI的自动…

如何从头开始编写一个简单的 RPC 协议(手写 Dubbo 的自定义协议)

1. 设计协议格式 首先&#xff0c;需要定义协议的数据包格式&#xff0c;这通常包括头部&#xff08;Header&#xff09;和主体&#xff08;Body&#xff09;两部分。 Header&#xff1a;存储协议的元数据&#xff0c;例如消息类型、序列化方式、请求 ID 等。 Magic Number (2…

阿里云CentOs ClickHouse安装

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; ClickHouse安装目录 前言…

etcd 的Put请求处理

在介绍etcdctl的内容中&#xff0c;我们知道了etcdctl实际上是向etcd服务端执行了grpc请求获取对应的结果&#xff0c;这一篇主要介绍当向etcd服务端执行Get/Put指令的时候究竟做了哪些工作。 Client发出请求 Put指令和之前介绍到的Get指令类似&#xff0c;通过grpc client发…

easypoi模板导出word并且合并行

导出流程 引入依赖制作模板合并导出 引入依赖 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.2</version> </dependency>制作模板 合并行是备注那一列&#xff0c;这一列…

MongoDB如何时间范围查询

MongoDB作为一个高性能、开源、无模式的文档型数据库&#xff0c;广泛应用于各种需要灵活数据模型的应用场景中。在处理与时间相关的数据时&#xff0c;MongoDB提供了强大的查询能力&#xff0c;允许我们轻松地进行时间范围查询。本文将详细介绍如何在MongoDB中执行时间范围查询…

SpringBoot工厂模式

前言 下面的示例展示了 SpringBoot 中如何使用工厂模式&#xff0c;该示例通过 ApplicationContext 直接获取 Spring 容器中所有 Animal 的 Bean&#xff0c;然后将它们存储在 animalMap 中&#xff0c;使用时直接从 Map 中获取实例。 另一种工厂模式可参考我另一篇文章 &…

YOLOv8目标检测推理流程及Python代码

在这章中将介绍目标检测推理原理,以及基于onnx模型使用Python语言进行推理。在推理原理章节中,将了解onnx模型的输入和输出,对输入的图片需要进行预处理的操作,对输出的结果需要进行后处理的操作等;在Python代码篇,将给出推理代码。 这里注意一下的是,由于在导出onnx模型…

DRF——pagination分页模块

文章目录 分页继承APIView类用法1.PageNumberPagination2.LimitOffsetPagination3.CursorPagination 继承GenericAPIView派生类用法1.PageNumberPagination2.LimitOffsetPagination3.CursorPagination 分页 在查看数据列表的API中&#xff0c;如果 数据量 比较大&#xff0c;肯…

嵌入式UI开发-lvgl+wsl2+vscode系列:9、控件(Widgets)(二)

一、前言 接下来我们总结第二部分的控件。 二、示例 1、image&#xff08;图像&#xff09; 1.1、示例1 #include "../../lv_examples.h" #if LV_USE_IMAGE && LV_BUILD_EXAMPLESvoid lv_example_image_1(void) {LV_IMAGE_DECLARE(img_cogwheel_argb);lv…

完成课题ssrf实现.SSH未创建写shell,同时完成其他漏洞复现

一、SSRF (Server-Side Request Forgery) 是一种网络安全漏洞&#xff0c;发生在服务器端应用程序中&#xff0c;允许攻击者通过服务器向任意网络资源发送请求&#xff0c;而无需用户直接参与。这种漏洞通常源于程序设计错误&#xff0c;例如当应用程序使用用户的输入作为URL请…