Java后端搭建流程

目录

一、后端开发准备工作

1.下载

2.安装jdk ,配置JAVA-HOME path

3.启动Tomcat

4.访问ip和端口

二、创建web项目

1.新建一个项目

2.发布web应用到服务器

(1)对LoginServlet继承HttpServlet

(2)重写父类方法

(3)在web.xml文件中配置servlet

三、servlet对象生命周期

四、http协议

请求行

请求头

请求体

get

post


前端程序如何才能访问到后端程序?

        后端程序为了能让前端能够远程的访问到,需要将后端的程序部署在服务器中,这样前端就可以远程访问,并且向前端做出反应

服务器:

        严格意义上的服务器指的是一款软件,里面可以放置文件,让别人可以远程访问,并且有请求必有响应。

        宏观意义上的服务器,是软件+硬件

        服务器是一个容器,是一个连接用户与程序之间的中间件

一、后端开发准备工作

安装Tomcat服务器

1.下载

        根据自己下载的jdk进行安装可以兼容的Tomcat版本

官网地址:Apache Tomcat® - 欢迎!

2.安装jdk ,配置JAVA-HOME path

java_home环境变量的地址是你下载的jdk目录的上一级

3.启动Tomcat

解压到你自己规定的目录下,进入bin目录,点击startup.bat启动Tomcat

注:修改服务器的端口号(前端的端口号也是8080,为了避免服务器与前端的端口发生冲突,对服务器的端口进行修改)

4.访问ip和端口

输入 http://localhost:端口号

或http:127.0.0.1:端口号

或局域网ip:端口号

二、创建web项目

1.新建一个项目

勾选创建成功后即可进行应用到服务器

2.发布web应用到服务器

(1)对LoginServlet继承HttpServlet

(2)重写父类方法

package com.ffyc.demo.servlet;import com.ffyc.demo.dao.LoginDao;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;public class LoginServlet extends HttpServlet {public LoginServlet() {System.out.println("无参的构造方法");}@Overridepublic void init() throws ServletException {}@Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {}@Overridepublic void destroy() {}
}

(3)在web.xml文件中配置servlet

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0">
<!--xml文件:也是属于一种标记语言,但是与html不同,xml主要用来存储配置数据的web.xml文件:是用来存储我们当前项目配置信息的,例如配置servlet,过滤器,监听器...此文件是服务器启动时,由服务器读取,名字和位置都不能改
--><!--  注册servlet  --><servlet><servlet-name>demo</servlet-name><!--为servlet对象定义名称--><!--配置servlet类名,服务器启动时会创建此类的对象,只能创建一次--><servlet-class>com.ffyc.demo.servlet.LoginServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><!--为servlet配置访问地址--><servlet-mapping><servlet-name>demo</servlet-name><url-pattern>/login</url-pattern><!--前端访问地址 必须以"/"开头--></servlet-mapping></web-app>

三、servlet对象生命周期

开始:在第一次访问/服务器启动时创建 调用无参构造 一次

初始化:在构造方法被执行完后,执行一些初始化操作 可以不写,会调用父类的 一次

服务:多次调用 每次请求都会调用service()

销毁:在服务器关闭时执行 执行一些必要的操作 可以不写,会调用父类的 一次

四、http协议

http 超文本传输协议 属于应用层协议 传输的内容必须是超文本内容(网页内容)

在网页上点击超链接,提交表单,都可以向后端发送一个http请求

一次http请求中包含了请求行,请求头,请求体

请求行

包含请求方式(get/post),请求的资源(地址)...浏览器自动发送的

请求头

包含客户端的一些韩静信息(浏览器版本,客户端ip...)

请求体

包含的是post请求向后端发送的数据

http请求分为get请求和post请求:

get

超链接发送的默认是get 表单 method=“get”

主要用于从后端获取数据,也可以向后端传递少量数据

发送的数据在请求地址中包含,不在请求体中,发送的数量会有限制,也不安全

post

表单 method=“post”主要是从前端向后端发送数据的

数据不在地址栏,在请求体中,可以发送大量数据,且相对get方式安全

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

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

相关文章

如何让视频流媒体平台免受网络攻击

在各国&#xff0c;流媒体服务已越来越受到大众的欢迎。有统计表明&#xff0c;目前视频流已占网络整体流量的80%以上。不过如您所见&#xff0c;近年来&#xff0c;数字威胁的不断增加&#xff0c;也让网络攻击逐年递增。单个视频用户受到的危险&#xff0c;往往会危及到整个服…

Vue 项目build打包发布到giteepages ,首页正常显示,其他路由页面报错404的解决方法

直接上解决方法&#xff1a; 打包之后dist上传之后&#xff0c;还要新创一个.spa文件&#xff0c;注意&#xff01;是 .spa 有个. 点&#xff0c;如下图 一般这样就可以开始部署了&#xff0c;然后开启giteepages服务。如果出现了首页正常显示&#xff0c;其他页面显示…

全新华为MateBook X Pro发布,将Ultra9放入980g超轻薄机身

2024年4月11日&#xff0c;在华为鸿蒙生态春季沟通会上全新的华为MateBook X Pro正式发布。该机以美学设计、创新科技以及智慧体验&#xff0c;追求重新定义Pro、重新定义旗舰&#xff0c;将颠覆消费者对传统轻薄本的认知。 华为MateBook X Pro追求极致轻薄与强大性能的完美结合…

Java安全管理器-SecurityManager

定义&#xff1a; SecurityManager是Java中的一个类&#xff0c;用于实现安全管理功能。它允许应用程序在运行时对安全策略进行动态管理&#xff0c;并控制哪些操作可以执行&#xff0c;哪些应该被拒绝。主要功能包括&#xff1a; 安全策略管理&#xff1a;SecurityManager允许…

D-LinkNAS 远程命令执行漏洞(CVE-2024-3273)RCE漏

声明&#xff1a; 本文仅用于技术交流&#xff0c;请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;文章作者不为此承担任何责任。 简介 D-LinkNAS是由D-Link公司制造的网络附加存储设备。…

SOLIDOWRKS怎么将中间格式的模具装配体转化为装配体格式

模具是工业生产中用于制作成型物品的工具&#xff0c;它由各种零件构成&#xff0c;可以通过改变所成型材料的物理状态来实现物品外形的加工。如果工程师已经有其他格式的模具装配体&#xff0c;但是又想将其他格式的模具装配体导入solidworks里面&#xff0c;并且将一个个实体…

数字人项目 ER-NeRF 的使用和部署详细教程

文章目录 1. ER-NeRF简介2. ER-NeRF部署3. 训练自己的数字人4. 生成数字人视频5. 其他数字人模型比较常见错误 1. ER-NeRF简介 ER-NeRF&#xff08;官方链接&#xff09;是一个Talking Portrait Synthesis&#xff08;对嘴型&#xff09;项目。即&#xff1a;给一段某人说话的…

Linux网络基础2(下)

传输层 再谈端口号端口号的划分netstatpidof UDP协议 UDP的特点UDP缓冲区UDP使用注意事项UDP报头的理解基于UDP的应用层协议 TCP协议 4位首部长度16位窗口大小确认应答机制32位序号和32位确认序号6个标记位超时重传机制连接管理机制流量控制快重传机制再谈序号延迟应答面相字节…

知识图谱与人工智能:携手共进

知识图谱与人工智能&#xff1a;携手共进 一、引言&#xff1a;知识图谱与人工智能的融合 在这个数据驱动的时代&#xff0c;知识图谱与人工智能&#xff08;AI&#xff09;之间的融合不仅是技术发展的必然趋势&#xff0c;也是推动各行各业创新的关键。知识图谱&#xff0c;作…

游戏行业科普 (二)游戏是怎么做出来,怎么卖出去的?

游戏行业科普系列文章&#xff0c;大家可以关注起来&#xff0c;等我慢慢芬分享~~ 《蛋仔派对》 一、研运流程--游戏是怎么做出来的 一款游戏的开发和运营大体上可以分为预研立项、设计开发、测试调优、发行上线和成熟运营几个阶段。 1&#xff09;预研立项&#xff1a; 初始研…

贪心算法|56.合并区间

力扣题目链接 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& intervals) {vector<vector<int>> result;if (intervals.size() 0) return result; // 区间集合为空直接返回// 排序的参数使用了lambda表达…

Nginx的基本使用

目录 介绍Nginx&#xff1a; 其优点有很多&#xff1a; 如何下载Nginx&#xff1a; 下载Nginx 启动Nginx ​编辑 如何用Nginx创建网站 Nginx自带的网站 分析网页 转变ip地址为自己的网页 换内容 换文件 介绍Nginx&#xff1a; Nginx是一个高性能的HTTP和反向代理w…

如何将普通maven项目转为maven-web项目

文件-项目结构&#xff08;File-->Project Structure &#xff09; 模块-->learn&#xff08;moudle-->learn&#xff09; 选中需要添加web的moudle&#xff0c;点击加号&#xff0c;我得是learn&#xff0c;单击选中后进行下如图操作&#xff1a; 编辑路径 结果如下…

Open CASCADE学习|BrepOffsetAPI_ThruSections无法放样成Solid

目录 1、边界线&#xff08;TopoDS_Wire&#xff09;不在一个平面上时&#xff0c;无法生成Solid 2、边界线&#xff08;TopoDS_Wire&#xff09;在一个平面上时&#xff0c;可以生成Solid 3、边界线&#xff08;TopoDS_Wire&#xff09;不在一个平面上时&#xff0c;添加To…

【vue】v-model 双向数据绑定

:value&#xff1a;单向数据绑定v-model&#xff1a;双向数据绑定 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…

学习云计算HCIE选择誉天有什么优势?

誉天云计算课程优势实战性强 课程注重实践操作&#xff0c;通过实际案例和实验操作&#xff0c;让学员深入了解云计算的应用场景和实际操作技能。课程内容全面 涵盖所有云计算涉及的IT基础知识、服务器、存储、网络等方面的基础知识&#xff0c;开源操作系统Linux&#xff0c;开…

Python(1):认识Python并且了解一些简单函数

文章目录 一、Python的优势及其使用场景二、Python环境的安装三、Python中的变量及其命名四、Python中的注释五、一些简单常见的函数和认识ASCII表六、Python导入模块的方式 一、Python的优势及其使用场景 优点&#xff1a; 开发效率高&#xff1a;Python具有非常强大的第三方…

设计模式代码实战-工厂模式

1、问题描述 小明家有两个工厂&#xff0c;一个用于生产圆形积木&#xff0c;一个用于生产方形积木&#xff0c;请你帮他设计一个积木工厂系统&#xff0c;记录积木生产的信息。 输入案例 3 Circle 1 Square 2 Circle 1 2、工厂模式 将产品的创建过程封装在⼀个⼯⼚类中&am…

我国量子信息科技创新发展面临的挑战及建议——基于中美对比视角的分析

2024年2月&#xff0c;中国科学技术发展战略院慕慧娟博士、丁明磊研究员及光子盒顾成建一起在《科技管理研究》上发表文章——《我国量子信息科技创新发展面临的挑战及建议&#xff1a;基于中美对比视角的分析》。 在此&#xff0c;我们整理并发布这篇文章&#xff0c;欢迎感兴…

librosa.beat.beat_track()报错解决记录

在使用librosa.beat.beat_track(yy, srsr)时报错&#xff1a;AttributeError: module scipy.signal has no attribute hann&#xff0c;很奇怪的问题&#xff0c;大家好像都没有遇到这个错误&#xff1a; 很奇怪&#xff0c;这个hann明明是scipy.signal.windows里面的。。虚拟环…