搭建前后端的链接(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服务器
  1. 下载
  2. 安装jdk 配置JAVA_HOME path
  3. 解压tomcat
  4. 进入到bin目录双击打开startup.bat以此启动tomcat
  5. 访问 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 作用:
  1. 接收用户发送的请求
  2. 调用其他的java程序来处理请求
  3. 根据处理结果,将结果相应给客户端

四. 创建并发布javaWeb项目

4.1 创建:
4.1.1 新建javaEE项目:外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下一步勾选 Web Profile

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

到此项目已被创建
4.1.2 配置:
  1. 先写一个能和前端响应的程序,在src/main/java新建一个包然后新建一个类,类继承HttpServlet重写一个service方法

        @Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("service");}
    
  2. 在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在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

语音识别(录音与语音播报)

语音识别&#xff08;录音与语音播报&#xff09; 简介 语音识别人工智能技术的应用领域非常广泛&#xff0c;常见的应用系统有&#xff1a;语音输入系统&#xff0c;相对于键盘输入方法&#xff0c;它更符合人的日常习惯&#xff0c;也更自然、更高效&#xff1b;语音控制系…

JVM—垃圾收集器

JVM—垃圾收集器 什么是垃圾 没有被引用的对象就是垃圾。 怎么找到垃圾 引用计数法 当对象引用消失&#xff0c;对象就称为垃圾。 对象消失一个引用&#xff0c;计数减去一&#xff0c;当引用都消失了&#xff0c;计数就会变为0.此时这个对象就会变成垃圾。 在堆内存中主…

C++设计模式:抽象工厂模式(七)

1、定义与动机 抽象工厂定义&#xff1a;提供一个接口&#xff0c;让该接口负责创建一系列“相关或者相互依赖的对象”&#xff0c;无需指定它们具体的类动机&#xff1a; 在软件系统中&#xff0c;经常面临着“一系列相互依赖的对象”的创建工作&#xff1b;同时&#xff0c;…

人工智能——深度学习

4. 深度学习 4.1. 概念 深度学习是一种机器学习的分支&#xff0c;旨在通过构建和训练多层神经网络模型来实现数据的高级特征表达和复杂模式识别。与传统机器学习算法相比&#xff0c;深度学习具有以下特点&#xff1a; 多层表示学习&#xff1a;深度学习使用深层神经网络&a…

麒麟KOS删除鼠标右键新建菜单里不需要的选项

原文链接&#xff1a;麒麟KOS删除鼠标右键新建菜单里不需要的选项 Hello&#xff0c;大家好啊&#xff01;在日常使用麒麟KOS操作系统时&#xff0c;我们可能会发现鼠标右键新建菜单里包含了一些不常用或者不需要的选项。这不仅影响我们的使用效率&#xff0c;也让菜单显得杂乱…

新能源电力行业设备点巡检系统的应用

新能源电力行业正日益成为全球能源结构的重要支柱&#xff0c;其设备点巡检系统作为确保电力设施安全、高效运行的关键环节&#xff0c;正受到业界的广泛关注和应用。 设备点巡检系统是一种集数据采集、实时监控、智能分析于一体的现代化管理工具。在新能源电力行业中&#xff…

Java常见算法_常见的查找算法和排序算法——简介及代码演示

在本文中我将介绍Java中的常见算法&#xff0c;查找算法包括基本查找、二分查找、插值查找和分块查找。排序算法包括冒泡排序、选择排序、插入排序和快速排序 查找算法&#xff1a; 1.基本查找&#xff1a; 代码&#xff1a; public class BasicSearchDemo {public static …

SpringMVC:搭建第一个web项目并配置视图解析器

&#x1f449;需求&#xff1a;用spring mvc框架搭建web项目&#xff0c;通过配置视图解析器达到jsp页面不得直接访问&#xff0c;实现基本的输出“hello world”功能。&#x1f469;‍&#x1f4bb;&#x1f469;‍&#x1f4bb;&#x1f469;‍&#x1f4bb; 1 创建web项目 1…

如何解决Python包管理问题:ERROR: Could not find a version that satisfies the requirement

如何解决Python包管理问题&#xff1a;“ERROR: Could not find a version that satisfies the requirement” 文章目录 如何解决Python包管理问题&#xff1a;“ERROR: Could not find a version that satisfies the requirement”错误描述问题分析解决方案检查包名确保网络连…

【JVM】面试题汇总

JVM1. 什么是JVM&#xff1f;2. 了解过字节码文件的组成吗&#xff1f;3. 什么是运行时数据区4. 哪些区域会出现内存溢出5. JVM在JDK6-8之间在内存区域上有什么不同 6. 类的生命周期 7. 什么是类加载器&#xff1f;类加载器有哪几种 8. 什么是双亲委派机制&#xff1f;有什么好…

“国字号”荣誉、全国试点,侨乡群众身边的“放心”公证处

日前&#xff0c;我市五邑公证处获评“全国公共法律服务工作先进集体”称号。 走进公证处&#xff0c;首先映入眼帘的是一间宽敞明亮的大厅&#xff0c;办证点内还设置多个独立办证室&#xff0c;工作人员热情地为前来办理业务的市民提供专业、人性化的公证服务。江门市五邑公证…

Windows上面搭建Flutter Android运行环境

Flutter Android环境搭建 电脑上面安装配置JDK电脑上下载安装Android Studio电脑上面下载配置Flutter Sdk &#xff08;避坑点一&#xff09;下载SDK配置对应的环境变量 到path 电脑上配置Flutter国内镜像运行 flutter doctor命令检测环境是否配置成功创建运行Flutter项目&…

ARM单片机的GPIO口在控制不同LED、按键时的设置

个人备忘&#xff0c;不喜勿喷。 GPIO口在驱动共阴极、共阳极LED灯时需要不同的初始化设置 对于这一类的led灯&#xff1a; 最好选择推挽、上拉、高速输出&#xff0c;同时IO口初始化时需要拉高。 上面这种需要下拉输入&#xff1b; 上图这种需要上拉输入&#xff0c;这样才…

vue点击上传图片并实现图片预览功能,并实现多张图片放到一个数组中进行后端请求(使用原生input)

一、将 File 对象转成 BASE64 字符串 &#xff08;FileReader&#xff09; <template><div><!-- 用来显示封面的图片 --><!-- <img src"/assets/images/cover.jpg" alt"" class"cover-img" ref"imgRef" />…

html基础(2)(链接、图像、表格、列表、id、块)

1、链接 <a href"https://www.example.com" target"_blank" title"Example Link">Click here</a> 在上示例中&#xff0c;定义了一个链接&#xff0c;在网页中显示为Click here&#xff0c;鼠标悬停指示为Example Link&#xff0c…

Java(多线程)

一、基本概念 进程&#xff1a;一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元&#xff0c;在传统的操作系统中&#xff0c;进程既是基本的分配单元&#xff0c;也是基本的执行单元。线程&#xff1a;操作系统中能够进行运算的最…

java Web课程管理系统用eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 课程管理系统是一套完善的web设计系统&#xff0c;对理解JSP java 编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发&#xff0c;数据库为Mysql5.0&#xff0c;使用ja…

贪心算法|406.根据身高重建队列

力扣题目链接 class Solution { public:static bool cmp(const vector<int>& a, const vector<int>& b) {if (a[0] b[0]) return a[1] < b[1];return a[0] > b[0];}vector<vector<int>> reconstructQueue(vector<vector<int>…

骑砍2霸主MOD开发(2)-基础开发环境搭建

一.骑砍2霸主程序架构 二.骑砍2霸主C#接口层代码查看 1.C#反编译工具dnspy下载: 2.骑砍2霸主游戏引擎接口查看: 例如IMBAgent interface接口: #调用TaleWorlds.Native.dll中的函数 [EngineMethod("get_movement_flags", false)] uint GetMovementFlags(UIntPtr agen…

Visual Studio Code SSH 连接远程服务器

Visual Studio Code通过 SSH 连接远程服务器并实现免密登录&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. **安装插件**&#xff1a;首先&#xff0c;在 VS Code 中安装 "Remote - SSH" 插件。打开 VS Code&#xff0c;点击左侧的扩展图标&#xff0c;搜索…