搭建前后端的链接(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方法

        @Override
        protected 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看到之前重写的方法运行了则成功完成前后端交互

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("service");
    }
总结:当安装完tomcat服务器后,需要创建一个web后端项目,并创建了一个Servlet程序,并配置了Servlet程序,然后需要把web后端项目部署到Tomcat中,在idea中集成tomcat,并部署项目。servlet被部署在服务器,服务器负责管理并调用servlet在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(源码+部署+讲解)基于Spring Boot + Vue的车位租赁系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31f;…

Mysql-数据库集群的搭建以及数据库的维护

一、数据库的维护 1.数据库的备份与恢复 1&#xff09;备份指定数据库 #mysqldump -u root -p zx > ./zx.dump 2&#xff09;备份所有库 #mysqldump -u root -p --all-databases > ./all.dump 3)恢复所有库 #mysql -u root -p < ./all.dump 4)恢复指定数据库 #mysq…

最新剧透前沿信息GPT-5或将今年发布

GPT2 很糟糕 &#xff0c;GPT3 很糟糕 &#xff0c;GPT4 可以 &#xff0c;但 GPT5 会很好。 PS:GPT2 很糟糕,3 很糟糕,4 可以,5 很可以。 如果想升级GPT4玩玩&#xff0c;地址 今年发布的具有推理功能的 GPT5不断发展&#xff0c;就像 iPhone 一样 Sam Altman 于 17 日&am…

超级详细的 Maven 教程(基础+高级)

1. Maven 是什么 Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具。 一个 Maven 工程有约定的目录结构&#xff0c;约定的目录结构对于 Maven 实现自动化构建而言是必不可少的一环&#xff0c;就拿自动编译来说&#xff0c;Maven 必须…

《论文阅读》构建情感共识并利用未配对数据生成共情对话 ACL 2021

《论文阅读》构建情感共识并利用未配对数据生成共情对话 ACL 2021 前言简介模型构架损失函数实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《Constructing Emotion Consensus and Utilizing …

我的创作纪念日❤2024/4/9

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

《前端面试题》- CSS - CSS选择器的优先级

行内样式1000 d选择器100 属性选择器、class或者伪类10 元素选择器&#xff0c;或者伪元素1 通配符0 参考网址&#xff1a;https://blog.csdn.net/jbj6568839z/article/details/113888600https://www.cnblogs.com/RenshuozZ/p/10327285.htmlhttps://www.cnblogs.com/zxjwlh/p/6…

uniapp 地图分幅网格生成 小程序基于map组件

// 获取小数部分 const fractional function(x) {x Math.abs(x);return x - Math.floor(x); } const formatInt function(x, len) {let result x;len len - result.length;while (len > 0) {result 0 result;len--;}return result; }/*** 创建标准分幅网格* param …

unity数组

数组的定义 动态初始化:在定义数组时只指定数组的长度&#xff0c;由系统自动为元素赋初值的方式。 静态初始化:定义数组的同时就为数组的每个元素赋值 数组的静态初始化有两种方式 1、类型门数组名new 类型[]{元素&#xff0c;元素&#xff0c;…}; 2、类型[数组名{元素&am…

SSL数字证书

SSL数字证书产品提供商主要来自于国外&#xff0c;尤其是美国&#xff0c;原理和使用操作系统一样&#xff0c;区别在于SSL数字证书目前无法替代性&#xff0c;要想达到兼容性99%的机构目前全球才3-4家&#xff0c;目前国内的主流网站主要使用的是国际证书&#xff0c;除了考虑…

爬虫 新闻网站 以湖南法治报为例(含详细注释) V4.0 升级 自定义可任意个关键词查询、时间段、粗略判断新闻是否和优化营商环境相关,避免自己再一个个判断

目标网站&#xff1a;湖南法治报 爬取目的&#xff1a;为了获取某一地区更全面的在湖南法治报的已发布的和优化营商环境相关的宣传新闻稿&#xff0c;同时也让自己的工作更便捷 环境&#xff1a;Pycharm2021&#xff0c;Python3.10&#xff0c; 安装的包&#xff1a;requests&a…

K8S哲学 - kubectl

Kubectl is the Kubernetes cli version of a swiss army knife, and can do many things. Kubernetes coordinates a highly available cluster of computers that are connected to work as a single unit k8s production-ready. 概念 kubectl 和 Kubernetes API 区别

使用Docker Registry-v2搭建镜像仓库详细教程

我们使用docker来部署私有化镜像仓库… 1、下载 registry:v2 镜像 docker pull registry:22、在私有仓库所在的主机目录新建一个文件夹&#xff0c;用于持久化保存仓库中的镜像 mkdir -p /opt/registry3、启动registry镜像 使用docker镜像启动私有仓库容器服务&#xff0c;…

【azure笔记 1】容器实例管理python sdk封装

容器实例管理python sdk封装 测试结果 说明 这是根据我的需求写的&#xff0c;所以有些参数是写死的&#xff0c;比如cpu核数和内存&#xff0c;你可以根据你的需要自行修改。前置条件&#xff1a; 当前环境已安装python3.8以上版本和azure cli并且已经登陆到你的账户 依赖安…

网络基础三——IP协议补充和Mac帧协议

全球网络及网段划分的理解 ​ 根据国家组织地区人口综合评估进行IP地址范围的划分&#xff1b; ​ 假设前8位用来区分不同的国家&#xff0c;国际路由器负责全球数据传输&#xff0c;子网掩码为IP/8&#xff1b;次6位区分不同的省份&#xff0c;国内路由器负责全国数据的传输…

【CSS】MDN

一、CSS构建 1.1 CSS选择器 1.1.1 元素选择器 标签不区分大小写 示例&#xff1a; span {background-color: yellow; }1.1.2 通用选择器 选择文档中所有内容&#xff0c;重置样式表中使用较多 鉴于div:first-child&#xff08;代表所有的div元素&#xff0c;并且是第一个…

杨辉三角形(蓝桥杯,acwing)

题目描述&#xff1a; 下面的图形是著名的杨辉三角形&#xff1a; 如果我们按从上到下、从左到右的顺序把所有数排成一列&#xff0c;可以得到如下数列&#xff1a; 1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, ... 给定一个正整数 N&#xff0c;请你输出数列中第一次出现…

OpenAI曾转录100万小时视频数据,训练GPT-4

4月7日&#xff0c;纽约时报在官网发布了一篇名为《科技巨头如何挖空心思&#xff0c;为AI收集数据》的技术文章。 纽约时报表示&#xff0c;OpenAI曾在2021年几乎消耗尽了互联网有用的文本数据源。为了缓解训练数据短缺的难题&#xff0c;便开发了知名开源语音识别模型Whispe…

Windows完全卸载MySQL后再下载安装(附安装包)

目录 友情提醒第一章&#xff1a;如何完全卸载干净mysql教程&#xff08;三个步骤完全卸载&#xff09;1&#xff09;步骤一&#xff1a;卸载程序2&#xff09;步骤二&#xff1a;删除文件3&#xff09;步骤三&#xff1a;删除注册表信息 第二章&#xff1a;下载软件两种方式1&…

langchain LCEL,prompt模块,outputparse输出模块

目录 基本代码 prompt模块 prompt模版控制长度 outputparse格式化输出 LangChain表达式语言&#xff0c;或者LCEL&#xff0c;是一种声明式的方式&#xff0c;可以轻松地将链条组合在一起 langchian 可以使用 通义千问&#xff0c;我们用通义千问&#xff0c;用法也要申请…