当前位置: 首页 > news >正文

如何用Java后端处理JS.XHR请求

  • Touching searching engine destroies dream to utilize php in tomcat vector.
  • The brave isn’t knocked down,turn its path to java back-end.

Java Servlet Bible

  • schematic of interaction between JS front-end and Java back-end
    在这里插入图片描述

Question

  1. 如何利用Java back-end 处理front-end的JS请求?

在Java后端处理JS的HTTPRequest请求,可以通过以下步骤实现:

  1. 创建一个Java后端服务器,可以使用Java的Web框架,如Spring Boot或Java Servlet等。
  2. 在服务器端编写一个处理HTTP请求的接口或控制器。这个接口或控制器将接收来自前端JS的HTTP请求。
  3. 在接口或控制器中,可以使用Java提供的内置类库或第三方库来处理HTTP请求。例如,可以使用Java的HttpURLConnection类或Apache HttpClient库来发送HTTP请求,并获取响应数据。
  4. 解析前端JS发送的HTTP请求参数和数据。可以使用Java的HttpServletRequest对象来获取请求参数和数据。
  5. 根据请求的内容进行相应的处理逻辑。例如,可以根据请求参数执行相应的业务逻辑,查询数据库,生成响应数据等。
  6. 将处理结果封装成HTTP响应,并返回给前端JS。可以使用Java的HttpServletResponse对象来设置响应状态码、头部信息和响应体数据。
  1. 什么是Java Servlet框架,需要部署/配环境吗?
  • 应该和python一样是个库函数

安装好JDK和Tomcat后,您不需要安装其他任何东西来部署Java Servlet。以下是您需要进行的步骤:

  1. 开发Java Servlet:使用任何Java集成开发环境(IDE)编写Java Servlet代码。
  2. 编译代码:使用JDK中的javac命令编译Java Servlet代码,生成.class文件。
  3. 创建Web应用程序:在Tomcat的webapps目录下创建一个新的目录,作为您的Web应用程序。
  4. 配置Web应用程序:在Web应用程序目录下创建WEB-INF目录,并在其中创建web.xml文件。在web.xml文件中配置Servlet和其他必要的组件。
  5. 将编译后的.class文件复制到Web应用程序目录下的WEB-INF/classes目录中。
  6. 启动Tomcat:运行Tomcat服务器,在浏览器中访问http://localhost:8080/来验证Tomcat是否正常工作。
  7. 部署Web应用程序:将Web应用程序目录复制到Tomcat的webapps目录下。
  8. 访问Servlet:在浏览器中访问http://localhost:8080/您的应用程序名称/Servlet的URL映射路径,即可访问部署的Java Servlet。
  1. 可以用python作为后端吗?
    理论上什么语言作后端都行

Java Servlet后端代码的书写

Bible++

简介

在这里插入图片描述
作用:

  1. 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。
  2. 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
  3. 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
  4. 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
  5. 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

Java Servlet包:
Java Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。

Servlet 可以使用 javax.servlet 和 javax.servlet.http 包创建,它是 Java 企业版的标准组成部分,Java 企业版是支持大型开发项目的 Java 类库的扩展版本。

这些类实现 Java Servlet 和 JSP 规范。在写本教程的时候,二者相应的版本分别是 Java Servlet 2.5 和 JSP 2.1。

Java Servlet 就像任何其他的 Java 类一样已经被创建和编译。在您安装 Servlet 包并把它们添加到您的计算机上的 Classpath 类路径中之后,您就可以通过 JDK 的 Java 编译器或任何其他编译器来编译 Servlet。

部署Servlet类

修改xml前,8080有效在这里插入图片描述
Servlet类存在,
在这里插入图片描述

  • 仿照runoob写HelloWorld Servlet类映射到 "/HelloWorld"路径,但访问失败
    在这里插入图片描述
    在这里插入图片描述

index.jsp 中放置java代码

在这里插入图片描述
执行Java.println
在这里插入图片描述

out.println("<p>" + message + "</p>")
  • out是一个PrintWriter对象,用于将文本写入到输出流中。

.js 与 .jsp 的区别

.js和.jsp文件是两种不同的文件类型,它们在用途和功能上有所区别。

.js文件是JavaScript文件的扩展名,它包含了JavaScript代码。JavaScript是一种脚本语言,用于在网页上实现交互和动态效果。通过在HTML文件中引入.js文件,可以将JavaScript代码嵌入到网页中,实现对网页元素的操作、表单验证、动画效果等功能。

.jsp文件是Java Server Pages的缩写,它是一种用于创建动态网页的技术。与.js文件不同,.jsp文件是在服务器端执行的,它可以包含HTML代码和Java代码在客户端请求一个.jsp文件时,服务器会将其中的Java代码执行,并将结果生成HTML响应返回给客户端。.jsp文件通常用于构建动态网页、数据库操作、用户认证等功能

总结一下:

  • .js文件是包含JavaScript代码的文件,用于实现网页的交互和动态效果。
  • .jsp文件是包含HTML和Java代码的文件,用于创建动态网页和服务器端处理。
  • 还有一件事,开启chrome的允许摄像头后,之前那些不用webcam捕获的代码都能执行,
    在这里插入图片描述

.jar

翻译:Java Archive(存档/归档)

  • .jar文件是Java Archive的简称,是一种Java程序打包文件格式。它包含一组Java类文件、资源文件和元数据文件,用于将一个或多个Java类、库文件和相关资源打包在一起,便于在Java虚拟机上进行分发和执行。通过使用.jar文件,可以将整个Java应用程序或类库组件打包成一个单独的文件,便于部署和共享。
  • 在Java开发中,.jar文件经常用于发布和共享Java应用程序和类库。

命令行引用:

java -cp path/to/myJar.jar com.example.MyClass

其中,path/to/myJar.jar是.jar文件的实际路径和文件名,com.example.MyClass是要执行的主类。

IDE引用:

在Eclipse IDE中,你可以按照以下步骤引用.jar文件:

  1. 右键点击项目,选择"Properties"。
  2. 在左侧导航栏中选择"Java Build Path"。
  3. 在"Libraries"选项卡下,点击"Add JARs"或"Add External JARs"按钮。
  4. 导航到.jar文件所在的位置,选择.jar文件,点击"OK"按钮。
  5. 确认添加的.jar文件出现在库列表中,点击"Apply"按钮。

在IntelliJ IDEA中,你可以按照以下步骤引用.jar文件:

  1. 右键点击项目,选择"Open Module Settings"。
  2. 在左侧导航栏中选择"Libraries"。
  3. 点击"+“按钮,选择"Java”。
  4. 导航到.jar文件所在的位置,选择.jar文件,点击"OK"按钮。
  5. 确认添加的.jar文件出现在库列表中,点击"Apply"按钮。

Eclipse for java wen

是的,Eclipse是一个功能强大的集成开发环境(IDE),可以广泛用于Java应用程序的开发,包括Java Web项目的编写。Eclipse提供了许多用于Java Web开发的插件和工具,可以帮助开发人员进行Web应用程序的设计、开发、测试和调试。

使用Eclipse进行Java Web项目的开发,你可以:

  1. 创建动态Web项目:在Eclipse中,你可以使用"New"菜单创建一个新的动态Web项目,并设置相关的配置,如项目名称、目标运行时环境等。

  2. 编写Servlet和JSP:Eclipse提供了对Java Servlet和JavaServer Pages(JSP)的支持,你可以使用Eclipse的编辑器编写并调试这些文件。

  3. 配置服务器:Eclipse集成了多个流行的Web服务器的插件,例如Apache Tomcat和Jetty。你可以在Eclipse中配置这些服务器,并将你的Web项目部署到服务器上进行本地测试和调试。

  4. 使用Web工具:Eclipse提供了一些用于Web开发的工具,例如Web Service Explorer、Web Service Client等,可以帮助你进行Web服务的测试和开发。

总之,Eclipse是一个非常适用于Java Web项目的开发工具,它提供了许多便捷的功能和工具,能够有效地支持和加速Java Web开发工作。

Next schedule

  1. 表单上传 ,并用 servlet类返回信息(目前尚未成功执行Java类)不了
  2. DL learning+training要完不成了

相关文章:

如何用Java后端处理JS.XHR请求

Touching searching engine destroies dream to utilize php in tomcat vector.The brave isn’t knocked down&#xff0c;turn its path to java back-end. Java Servlet Bible schematic of interaction between JS front-end and Java back-end Question 如何利用Java…...

分布式锁-redission

5、分布式锁-redission 5.1 分布式锁-redission功能介绍 基于setnx实现的分布式锁存在下面的问题&#xff1a; 重入问题&#xff1a;重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中&#xff0c;可重入锁的意义在于防止死锁&#xff0c;比如HashTable这样的代码…...

C/C++ 自定义头文件,及头文件结构详解

头文件 在之前介绍的大部分C语言语法基础的章节中列举的实例代码部分&#xff0c;都会在源文件的开始的第一行通过#include预处理指令包含进"stdio.h"&#xff0c;后面这个".h"后缀名的就是头文件了。而什么是头文件呢&#xff1f; 通俗方式理解头文件 …...

快速列表quicklist

目录 为什么使用快速列表quicklist 对比双向链表 对比压缩列表ziplist quicklist结构 节点结构quicklistNode quicklist 管理ziplist信息的结构quicklistEntry 迭代器结构quicklistIter quicklist的API 1.创建快速列表 2.创建快速列表节点 3.头插quicklistPushHead …...

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力&#xff0c;让数据可视化成为你的科研利器&#xff01; 1.零基础快速入门&#xff1a;软件操作实战案例图文、代码结合讲解&#xff0c;从入门到精通快速高效。 2.多种科研绘图方法&#xff1a;科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…...

Day3-struct类型、列转行、行转列、函数

Hive 数据类型 struct类型 struct&#xff1a;结构体&#xff0c;对应了Java中的对象&#xff0c;实际上是将数据以json形式来进行存储和处理 案例 原始数据 a tom,19,male amy,18,female b bob,18,male john,18,male c lucy,19,female lily,19,female d henry,18,male davi…...

C++设计模式:构建器模式(九)

1、定义与动机 定义&#xff1a;将一个复杂对象的构建与其表示相分离&#xff0c;使得同样的构建过程&#xff08;稳定&#xff09;可以创建不同的表示&#xff08;变化&#xff09; 动机&#xff1a; 在软件系统中&#xff0c;有时候面临着“一个复杂对象”的创建工作&#x…...

OJ 【难度1】【Python】完美字符串 扫雷 A-B数对 赛前准备 【C】精密计时

完美字符串 题目描述 你可能见过下面这一句英文&#xff1a; "The quick brown fox jumps over the lazy dog." 短短的一句话就包含了所有 2626 个英文字母&#xff01;因此这句话广泛地用于字体效果的展示。更短的还有&#xff1a; "The five boxing wizards…...

【Tars-go】腾讯微服务框架学习使用01--初始化服务

1 初始INIT-Demo运行 按照官网描述 go get 安装框架依赖 # < go 1.16 go get -u github.com/TarsCloud/TarsGo/tars/tools/tarsgo go get -u github.com/TarsCloud/TarsGo/tars/tools/tars2go # > go 1.16 go install github.com/TarsCloud/TarsGo/tars/tools/tarsgolat…...

通过pre标签进行json格式化展示,并实现搜索高亮和通过鼠标进行逐个定位的功能

功能说明 实现一个对json进行格式化的功能添加搜索框&#xff0c;回车进行关键词搜索&#xff0c;并对关键词高亮显示搜索到的多个关键词&#xff0c;回车逐一匹配监听json框&#xff0c;如果发生了编辑&#xff0c;需要在退出时提示&#xff0c;在得到用户确认的情况下再退出…...

5分钟了解清楚【osgb】格式的倾斜摄影数据metadata.xml有几种规范

数据格式同样都是osgb&#xff0c;不同软件生产的&#xff0c;建模是参数不一样&#xff0c;还是有很大区别的。尤其在应用阶段。 本文从建模软件、数据组织结构、metadata.xml&#xff08;投影信息&#xff09;、应用几个方面进行了经验性总结。不论您是初步开始建模&#xf…...

CCIE-10-IPv6-TS

目录 实验条件网络拓朴 环境配置开始Troubleshooting问题1. R25和R22邻居关系没有建立问题2. 去往R25网络的下一跳地址不存在、不可用问题3. 去往目标网络的下一跳地址不存在、不可用 实验条件 网络拓朴 环境配置 在我的资源里可以下载&#xff08;就在这篇文章的开头也可以下…...

《QT实用小工具·十七》密钥生成工具

1、概述 源码放在文章末尾 该项目主要用于生成密钥&#xff0c;下面是demo演示&#xff1a; 项目部分代码如下&#xff1a; #pragma execution_character_set("utf-8")#include "frmmain.h" #include "ui_frmmain.h" #include "qmessag…...

CSP 比赛经验分享

中国软件专业技术资格&#xff08;水平&#xff09;考试&#xff08; CSP-S &#xff09;是一项旨在评价软件和信息技术 专业人员专业技术水平的考试。对于参加过 CSP 比赛的人来说&#xff0c;这是一个展示 自己编程能力、逻辑思维和解决问题能力的好机会。下面是一些基于…...

探究“大模型+机器人”的现状和未来

基础模型(Foundation Models)是近年来人工智能领域的重要突破&#xff0c;在自然语言处理和计算机视觉等领域取得了显著成果。将基础模型引入机器人学&#xff0c;有望从感知、决策和控制等方面提升机器人系统的性能&#xff0c;推动机器人学的发展。由斯坦福大学、普林斯顿大学…...

Commitizen:规范化你的 Git 提交信息

简介 在团队协作开发过程中&#xff0c;规范化的 Git 提交信息可以提高代码维护的效率&#xff0c;便于追踪和定位问题。Commitizen 是一个帮助我们规范化 Git 提交信息的工具&#xff0c;它提供了一种交互式的方式来生成符合约定格式的提交信息。 原理 Commitizen 的核心原…...

官网下载IDE插件并导入IDE

官网下载IDEA插件并导入IDEA 1. 下载插件2. 导入插件 1. 下载插件 地址&#xff1a;https://plugins.jetbrains.com/plugin/21068-codearts-snap/versions 说明&#xff1a;本次演示以IDEA软件为例 操作&#xff1a; 等待下载完成 2. 导入插件 点击File->setting->Pl…...

三行命令解决Ubuntu Linux联网问题

本博客中Ubuntu版本为23.10.1最新版本&#xff0c;后续发现了很多问题我无法解决&#xff0c;已经下载了另外一个版本22.04&#xff0c;此版本自带网络 一开始我找到官方文档描述可以通过命令行连接到 WiFi 网络&#xff1a;https://cn.linux-console.net/?p10334#google_vig…...

AI大模型在自然语言处理中的应用:性能表现和未来趋势

引言 A. AI大模型在自然语言处理中的应用背景简介 近年来&#xff0c;随着深度学习和人工智能技术的快速发展&#xff0c;越来越多的研究人员和企业开始关注应用于自然语言处理的AI大模型。这些模型采用了深层的神经网络结构&#xff0c;具有强大的学习和处理能力&#xff0c…...

三防平板定制服务:亿道信息与个性化生产的紧密结合

在当今数字化时代&#xff0c;个性化定制已经成为了市场的一大趋势&#xff0c;而三防平板定制服务作为其中的一部分&#xff0c;展现了数字化技术与个性化需求之间的紧密结合。这种服务是通过亿道信息所提供的技术支持&#xff0c;为用户提供了满足特定需求的定制化三防平板&a…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文&#xff1a; 一文入门汽车毫米波雷达基本原理 &#xff1a;https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构&#xff1a; 传统SMO中LPF会带来相位延迟和幅值衰减&#xff0c;并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF)&#xff0c;可以去除高次谐波&#xff0c;并且不用相位补偿就可以获得一个误差较小的转子位…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...

JS红宝书笔记 - 3.3 变量

要定义变量&#xff0c;可以使用var操作符&#xff0c;后跟变量名 ES实现变量初始化&#xff0c;因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符&#xff0c;可以创建一个全局变量 如果需要定义…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...