B/S网络架构中有APP吗

时间: 2023-07-20 18:26:33 浏览: 49
在B/S网络架构中,一般不使用APP,而是通过浏览器访问Web应用程序。APP通常是指运行在移动设备上的本地应用程序,而B/S架构中的Web应用程序是运行在服务器上的应用程序,通过Web浏览器进行访问和交互。不过,有些Web应用程序可能提供移动端的适配,即提供移动端的Web界面,以便在移动设备上使用,但这并不等同于APP。
相关问题

web是B/S架构,app是C/S架构,那微信小程序是什么架构

微信小程序是一种类似于B/S架构和C/S架构的混合架构,也被称为“轻量级应用架构”。它在用户端采用类似于B/S架构的方式,通过浏览器访问微信服务器上的应用,而在开发者端采用类似于C/S架构的方式,开发者需要使用专门的IDE进行开发和发布。微信小程序的代码运行在微信客户端的JS引擎中,能够实现与微信客户端的交互,并且具有一定的离线能力。因此,微信小程序的架构可以认为是一种混合的、轻量级的、客户端和服务端共同实现的架构。

B/S架构的实现代码用例

以下是一个简单的B/S架构实现的代码用例,使用Java语言和Spring框架: 1. 前端代码(HTML、CSS、JavaScript): ```html <!DOCTYPE html> <html> <head> <title>B/S Architecture Example</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"> </head> <body> <div class="container mt-5"> <h1>B/S Architecture Example</h1> <div class="form-group"> <label for="input-text">Enter some text:</label> <input type="text" class="form-control" id="input-text" placeholder="Type something..."> </div> <button type="button" class="btn btn-primary" onclick="sendText()">Send</button> <hr> <div id="output"></div> </div> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@3.2.0/dist/tf.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/universal-sentence-encoder@4.2.0/dist/universal-sentence-encoder.min.js"></script> <script src="app.js"></script> </body> </html> ``` 2. 后端代码(Java + Spring): ```java package com.example.bsaexample; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import org.tensorflow.Tensor; import org.tensorflow.Tensors; import org.tensorflow.framework.ConfigProto; import org.tensorflow.framework.GPUOptions; import org.tensorflow.framework.Session; import org.tensorflow.framework.Session.Runner; import org.tensorflow.framework.TensorShape; import java.util.Arrays; @SpringBootApplication @RestController public class BsaExampleApplication { public static void main(String[] args) { SpringApplication.run(BsaExampleApplication.class, args); } @PostMapping(value = "/predict", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) public String predict(@RequestBody String input) { GPUOptions gpuOptions = GPUOptions.newBuilder().setVisibleDeviceList("0").build(); ConfigProto configProto = ConfigProto.newBuilder().setGpuOptions(gpuOptions).build(); try (Session session = Session.create(configProto.toByteArray())) { Tensor<String> inputTensor = Tensors.create(new String[] { input }); Runner runner = session.runner().feed("input", inputTensor).fetch("output"); Tensor<Float> outputTensor = runner.run().get(0).expect(Float.class); float[] output = outputTensor.copyTo(new float[1][512])[0]; return Arrays.toString(output); } catch (Exception e) { e.printStackTrace(); return "Error: " + e.getMessage(); } } } ``` 3. 前后端交互代码(JavaScript): ```javascript async function sendText() { const input = $("#input-text").val(); if (input.trim() !== "") { $("#output").text("Loading..."); const output = await predict(input); $("#output").text(output); } } async function predict(input) { const model = await tf.loadGraphModel("model/model.json"); const encoder = await use.load(); const encodedInput = await encoder.embed([ input ]); const inputTensor = tf.tensor(encodedInput); const outputTensor = model.execute({ "input": inputTensor }); const output = await outputTensor.array(); return output; } ``` 这个例子实现了一个简单的文本编码预测功能,用户在前端输入一段文本,通过JavaScript调用后端的REST API进行计算,后端使用TensorFlow进行计算并返回结果。这个例子还包括了一些常见的开发框架和库,如Spring、Bootstrap、jQuery、TensorFlow.js和Universal Sentence Encoder。

相关推荐

最新推荐

recommend-type

基于Spring Boot的校园食堂订餐系统的设计与实现.doc

本文系统后台使用Spring Boot新型轻量开发框架,采用基本的B/S的互联网架构,前台技术使用可跨Android、IOS、H5、小程序的uni-app进行开发,使用IDEA的IntelliJ IDEA 2019.3.1 x64和WebStorm 2020.1 x64开发工具实现...
recommend-type

防雷及短路计算软件.zip

防雷及短路计算软件
recommend-type

电线穿管选用小软件.zip

电线穿管选用小软件
recommend-type

【小白python数据分析入门4Pandas可视化-板块8案例 2018幸福大数据】

小白python数据分析入门4Pandas可视化——板块8案例 2018幸福大数据,辅助8.1读取数据
recommend-type

电气照明照度计算软件.zip

电气照明照度计算软件
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用matlab绘制高斯色噪声情况下的频率估计CRLB,其中w(n)是零均值高斯色噪声,w(n)=0.8*w(n-1)+e(n),e(n)服从零均值方差为se的高斯分布

以下是用matlab绘制高斯色噪声情况下频率估计CRLB的代码: ```matlab % 参数设置 N = 100; % 信号长度 se = 0.5; % 噪声方差 w = zeros(N,1); % 高斯色噪声 w(1) = randn(1)*sqrt(se); for n = 2:N w(n) = 0.8*w(n-1) + randn(1)*sqrt(se); end % 计算频率估计CRLB fs = 1; % 采样频率 df = 0.01; % 频率分辨率 f = 0:df:fs/2; % 频率范围 M = length(f); CRLB = zeros(M,1); for
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。