搭建前后端的链接(java)
搭建前后端的链接(java)
一.前提
1.1 javaEE
搭建前后端的链接首先需要用到javaEE,也就是java企业版,也就是java后端(后端+javaSE)
利用javaEE和前端交互,javaSE和数据库交互,javaSE和javaEE之间再进行交互就实现了前后端的交互。
1.2 那么问题来了,前端程序如何才能访问到后端程序呢?
这时候就需要提到一个词Servlet(server+applet):服务器端程序。我们需要通过web服务器解决,后端程序为了能让前端能够远程的访问到,需要将后端的程序部署在服务器中,这样前端就可以远程访问,并且向可以向前端做出响应。
1.3 服务器
严格意义上的服务器指的是一款软件,里面可以放置文件,供人远程访问,并且有请求就必有响应。
宏观意义上的服务器,是软件+硬件。
所以当我们的电脑装上服务器程序,我们的电脑就相当于一个宏观意义上的服务器了。
服务器是一个容器,是一个连接用户与程序之间的中间件
我们这次要用到的是Apache提供的开源软件:tomcat,是一个web服务器,可以运行我们的java后端程序
二.后端开发准备工作
2.1安装tomcat服务器
- 下载
- 安装jdk 配置JAVA_HOME path
- 解压tomcat
- 进入到bin目录双击打开startup.bat以此启动tomcat
- 访问 ip+端口 127.0.0.1:8080
当通过ip+端口访问到tomcat网页说明成功
此时进入到conf文件夹找到server.xml文件,用可编辑的文本文件打开xml然后找到Connector标签,把port也就是端口=8080改成别的,比如8081,8082都可以,这样做的目的是如果我们前端程序的端口是8080那么就可以避免冲突。
三.Servlet:
3.1 概述:
Servelt是Server Applet的简称,意思为用java编写的服务器端的程序,它运行在web服务器中,web服务器负责Servlet和客户的通信以及调用Servlet方法。
3.2 作用:
- 接收用户发送的请求
- 调用其他的java程序来处理请求
- 根据处理结果,将结果相应给客户端
四. 创建并发布javaWeb项目
4.1 创建:
4.1.1 新建javaEE项目:
下一步勾选 Web Profile

到此项目已被创建
4.1.2 配置:
-
先写一个能和前端响应的程序,在src/main/java新建一个包然后新建一个类,类继承HttpServlet重写一个service方法
@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("service");} -
在webapp找到web.xml进行注册servlet
在web.xml中把如下代码写入
<servlet><!-- 为servlet对象定义名称 --><servlet-name>webserver</servlet-name><!-- 配置servlet类名,服务器启动时会创建此类的对象,只创建一次 --><servlet-class>com.lzy.demo.servlet.loginServlet</servlet-class></servlet><!-- 为servlet配置访问地址 --><servlet-mapping><servlet-name>webserver</servlet-name><!-- 前端访问地址 必须以/开头 --><url-pattern>/login</url-pattern></servlet-mapping>
4.2 发布web应用到服务器:
此时项目相当于在本地,我们需要部署到tomcat服务器
4.2.1 Add Configuration…:
点击Add Configuration然后新建一个Tomcat Server 的Local

然后点击Configure…

TomcatHome选择Tomcat 下载的根目录

去掉After launch,同时URL改成自己设置的端口号 HTTP port也是自己设置的端口号

接下来进入Deployment
点击右边的小+
选择Artifact,然后点击Apply(应用)推出这样便成功把项目部署到了服务器Tomcat
这样子我们就不用再从startup.bat启动服务器了
最后一步:
启动程序然后在网页上进入127.0.0.1:8081/webserver/login 这是web.xml配置的前端访问地址,如果回到idea看到之前重写的方法运行了则成功完成前后端交互
@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("service");}
总结:当安装完tomcat服务器后,需要创建一个web后端项目,并创建了一个Servlet程序,并配置了Servlet程序,然后需要把web后端项目部署到Tomcat中,在idea中集成tomcat,并部署项目。servlet被部署在服务器,服务器负责管理并调用servlet






相关文章:
搭建前后端的链接(java)
搭建前后端的链接(java) 一.前提 1.1 javaEE 搭建前后端的链接首先需要用到javaEE,也就是java企业版,也就是java后端(后端javaSE) 利用javaEE和前端交互,javaSE和数据库交互,javaSE和javaEE之间再进行交互就实现了前后端的交互…...
Java多路查找树(含面试大厂题和源码)
多路查找树(Multiway Search Tree),也称为B树或B树,是一种自平衡的树形数据结构,用于存储大量数据,通常用于数据库和文件系统中。它允许在查找、插入和删除操作中保持数据的有序性,同时优化了磁…...
day6 | 哈希表 part-2 | 454 四数相加II 、383. 赎金信、15. 三数之和、18. 四数之和
今日任务 454 四数相加II (题目: . - 力扣(LeetCode))383 赎金信 (题目: . - 力扣(LeetCode)) 454 四数相加II 题目:. - 力扣(LeetCode) 给你四个整数数组 nums1、num…...
Redis常见数据类型(2)
目录 String字符串 常见命令 SET GET MGET MSET SETNX 计数命令 INCR INCRBY DECR DECRBY INCRFLOAT 其它命令 APPEND GETRANGE SETRANGE STRLEN String字符串 字符串是Redis最基础的数据类型, 关于字符串需要特别注意: (1)首先Redis中所有的键的类型都是字符…...
SparkBug解决:Type mismatch; found : org.apache.spark.sql.Column required: Double
def assginFlag(aizmuth:Double):Option[Int] {val interval 0.5val index (aizmuth / interval ).toIntif (index > 0 && index < 720 ) Some(index 1) else None} assginFlag方法中的条件判断条件 (index > 0 && index < 720) 返回的是一个布…...
MQ之————如何保证消息的可靠性
MQ之保证消息的可靠性 1.消费端消息可靠性保证: 1.1 消息确认(Acknowledgements): 消费者在接收到消息后,默认情况下RabbitMQ会自动确认消息(autoAcktrue)。为保证消息可靠性,可以…...
TrollInstallerX官方一键安装巨魔商店
TrollInstallerX是巨魔官方开发的一款一键巨魔商店安装器,完美支持iOS 14.0 – 16.6.1的设备,操作非常简单,TrollInstallerX依然有个小小的限制,部分机型,还是要采用间接安装方法。 一,直接安装方法 通过…...
生成随机图片验证码
随着互联网的不断发展,安全性问题日益突出。为了保障用户账号的安全性,很多网站都引入了验证码机制。验证码是一种区分用户是计算机还是人的公共全自动程序,可以有效防止恶意攻击和自动化脚本的滥用。本文将介绍如何使用Python生成随机图片验…...
【0280】《数据库系统概论》阅读总结(附xmind思维导图)
0. 阅读进展 选择性地读取了《数据库系统概论》一书中的第13、14章节,并对这两章节中较为重点的内容作了总结和归纳;然后以xmind导图形式给出。 1. xmind思维导图 Xmind附件:...
数据结构(二)----线性表(顺序表,链表)
目录 1.线性表的概念 2.线性表的基本操作 3.存储线性表的方式 (1)顺序表 •顺序表的概念 •顺序表的实现 静态分配: 动态分配: 顺序表的插入: 顺序表的删除: 顺序表的按位查找: 顺序…...
为什么你选择成为一名程序员?
文章目录 ✍选择成为程序员:兴趣与职业发展的交汇💎1 兴趣的驱动💎2 职业发展的需求💎3 结语 ✍选择成为程序员:兴趣与职业发展的交汇 在当今数字化时代,程序员已经成为一个备受瞩目的职业。无论是因为对技…...
【Android】系统启动流程分析 —— SystemServer 处理过程
本文基于 Android 14.0.0_r2 的系统启动流程分析。 SystemServer 进程主要用于创建系统服务,我们熟知的 AMS、WMS 和 PMS 都是由它来创建的,因此掌握 SystemServer 进程是如何启动的,它在启动时做了哪些工作是十分必要的。 一、源码解析 Zyg…...
Web前端—属性描述符
属性描述符 假设有一个对象obj var obj {a:1 }观察这个对象,我们如何来描述属性a: 值为1可以重写可以遍历 我们可以通过Object.getOwnPropertyDescriptor得到它的属性描述符 var desc Object.getOwnPropertyDescriptor(obj, a); console.log(desc);我…...
SpringBoot及其特性
0.前言 Spring 框架提供了很多现成的功能。那么什么是 Spring Boot?使用 Spring 框架,我们可以避免编写基础框架并快速开发应用程序。为了让 Spring 框架提供基础框架,我们需要向 Spring 框架描述有关我们的应用程序及其组件的信息。 不只是…...
「JavaEE」初识进程
初识进程 🍉进程🍌操作系统的进程管理 🍉PCB 重要属性🍌进程的身份标识🍌内存指针🍌文件描述符表🍌进程的状态🍌优先级🍌记账信息🍌上下文 🍉内存…...
计算机视觉——图像特征提取D2D先描述后检测特征提取算法原理
概述 局部特征提取是计算机视觉中的一个重要任务,它旨在从图像中提取出能够代表图像局部结构和外观信息的特征。这些特征通常用于图像匹配、物体识别、三维重建、跟踪和许多其他应用。传统方法,如尺度不变特征变换(SIFT)…...
The “from“ argument must be of type string. Received undefined——vue报错记录
今天在用机器人打包测试环境时,一直报错: The "from" argument must be of type string. Received undefined 啥意思呐? 百度也没有找到对应的问题所在。 下面写一下我的解决方法: vue.config.js 在vue.config.js中…...
汽车4S行业的信息化特点与BI建设挑战
汽车行业也是一个非常大的行业,上下游非常广,像主机厂,上游的零配件,下游的汽车流通,汽车流通之后的汽车后市场,整个链条比较长。今天主要讲的是汽车流通,汽车4S集团。一个汽车4S集团下面授权代…...
JSX 和 HTML 之间的区别
JSX和 HTML 都是用于创建和构建网页的标记语言,但它们有一些关键的区别。 1. JSX 是 JavaScript 的语法扩展,而 HTML 是一种标记语言。 2. JSX 允许您在语法中包含表达式和函数,而 HTML 只允许静态文本。 3. JSX 通常用于 React 应用程序&…...
AI日报:GPT-4-Turbo正式版自带读图能力;Gemini1.5Pro开放API;SD3将于4月中旬发布;抖音宫崎骏AI特效爆火
欢迎来到【AI日报】栏目!这里是你每天探索人工智能世界的指南,每天我们为你呈现AI领域的热点内容,聚焦开发者,助你洞悉技术趋势、了解创新AI产品应用。 新鲜AI产品点击了解:AIbase - 智能匹配最适合您的AI产品和网站 ὏…...
5分钟学会无损视频修复:untrunc让损坏MP4/MOV文件瞬间复活
5分钟学会无损视频修复:untrunc让损坏MP4/MOV文件瞬间复活 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否经历过重要视频突然无法播放的绝望时刻…...
2026年实战指南:Jrebel本地与远程热加载的配置、排错与进阶场景
1. 热加载技术的前世今生 第一次接触热加载是在2016年,当时还在用Eclipse开发Spring项目。每次改完代码都要经历漫长的重启等待,直到同事推荐了JRebel这个神器。十年过去,热加载已经成为现代Java开发的标配,特别是在2026年的今天&…...
SLCAN协议实战:从脚本编写到自动化测试全解析
1. SLCAN协议基础:嵌入式开发者的文本化CAN接口 第一次接触SLCAN协议时,我正为一个汽车电子项目头疼——需要快速验证CAN总线设备却找不到合适的调试工具。直到发现抽屉里吃灰的LAWICEL CANUSB适配器,这个基于SLCAN协议的小玩意彻底改变了我…...
MobaXterm远程桌面实战:在Ubuntu上配置与连接RDP服务
1. 为什么选择MobaXterm连接Ubuntu远程桌面 作为一名常年和Linux服务器打交道的开发者,我深知纯命令行操作有时会遇到效率瓶颈。特别是当需要处理图形界面应用或者进行复杂配置时,SSH终端就显得力不从心了。这时候,RDP远程桌面协议就成了救命…...
Winhance中文版:Windows系统优化终极指南,3分钟让电脑焕然一新
Winhance中文版:Windows系统优化终极指南,3分钟让电脑焕然一新 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mir…...
Julia语言深度解析:高性能科学计算与机器学习实战指南
1. Julia语言:是技术革命还是营销泡沫? 最近几年,技术圈里关于Julia的讨论热度一直没降下来过。每次有朋友问我“该不该学Julia”或者“Julia是不是要取代Python了”,我都得先让他们冷静一下,然后从我的实际体验出发&…...
微软MOS认证-Word专家级|超全报考指南
不管是大学生还是职场人,Word 都是绕不开的工具。但多数人只会基础打字排版,面对长文档、规范报告时常常手忙脚乱。MOSWord 专家级认证,正是帮你把 “普通 Word” 变成 “高-效办公武器” 的实用路径。#微软mos认证 #大学生考证 #mos认证考试…...
ElevenLabs免费额度使用全攻略(2024年Q2实测版):从注册到语音生成的7个生死节点
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs免费额度的核心机制与边界认知 ElevenLabs 的免费层并非基于“每月固定时长”,而是采用动态配额(Dynamic Quota)模型,其核心由三重维度共同约束…...
游戏后台记录器开发:从低开销捕获到硬件编码的工程实践
1. 项目概述:一个为游戏玩家设计的“后台记录器”如果你是一名资深游戏玩家,或者正在从事游戏相关的开发、测试、数据分析工作,那么你很可能遇到过这样的场景:在《艾尔登法环》里被某个Boss虐了上百次,却记不清每次失败…...
告别裸机延时!ESP32-C3/ESP32-S3用RMT外设精准驱动WS2812B灯带(Arduino/IDF双平台教程)
ESP32-C3/ESP32-S3 RMT外设驱动WS2812B灯带实战指南 当你的灯光项目从十几颗WS2812B升级到上百颗时,GPIO模拟驱动方式很快就会遇到瓶颈——闪烁、卡顿、颜色失真,这些问题的根源在于时序精度不足。ESP32系列芯片内置的RMT(Remote Control&…...
