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

JavaWeb后端学习

Web:全球局域网,万维网,能通过浏览器访问的网站

Maven

Apache旗下的一个开源项目,是一款用于管理和构建Java项目的工具

作用:

  1. 依赖管理:方便快捷的管理项目以来的资源(jar包),避免版本冲突问题
  2. 同一项目结构:提供标准、统一的项目结构
  3. 项目构建:标准跨平台的自动化项目构建方式

创建Maven项目

坐标

依赖管理

依赖可以去mvnrepository.com搜索找到依赖的坐标

依赖传递

依赖具有传递性:

排除依赖:

排除依赖指主动断开依赖的资源,被排除的资源无需指定版本

依赖范围

依赖的jar包,默认情况下,任意情况可用,可以通过<scope>...</scope>设置作用范围

生命周期

Maven的生命周期是为了对所有的maven项目构建过程进行抽象和统一

Maven中有3套相互独立的生命周期:

clean:清理工作

default:核心工作,编译、测试、打包、安装、部署等

site:生成报告

同一套生命周期中,运行后面的阶段时,前面的阶段都会运行(但是其他套中的阶段不会运行)

idea中双击阶段对应生命周期即可运行

Spring

Spring Boot是Spring的子项目,可以帮助快速构建应用程序、简化开发、提高效率

创建SpringBootWeb项目

1、创建springboot工程,填写模块信息,勾选web开发相关依赖

2、创建请求处理类HelloContorller,添加请求处理方法hello,并添加注解

3、运行启动类(端口为8080)

4、浏览器中测试

HTTP

超文本传输协议,规定浏览器和服务器之间数据传输的规则

特点:

1、基于TCP协议:面向连接,安全

2、给予请求-响应模型的:一次请求对应一次响应

3、HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的

  • 缺点:多次请求间不能共享数据
  • 优点:速度快
请求协议

请求数据格式

响应协议

响应格式

协议解析

建议使用最nb的Web服务器: Apache Tomcat

Tomcat

简介

基本使用

首先需要配置jdk环境变量

端口号冲突:

配置Tomcat端口号:(conf/server.xml)

http默认端口号为80,如果port改为80,则访问不需要输入

部署程序:项目放在webapps目录下,即部署完成

请求响应

BS架构:维护方便,体验一般

CS架构:开发、维护麻烦,体验不错

请求

postman

是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

作用:常用于进行接口测试

简单参数

实体参数

简单实体对象:请求参数名与形参对象属性名相同,定义POJO接受即可

复杂实体对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接受嵌套POJO属性参数

数组集合参数

日期参数

Json参数

路径参数

响应

统一响应结果:

返回得到 json结果

分层解耦

三层架构

示例代码

分层解耦

控制反转:Dao和Service类的成员变量加@Component注解

依赖注入:Service和Controller类的成员变量加@Autowired注解

http://www.lryc.cn/news/399577.html

相关文章:

  • VUE_TypeError: Cannot convert a BigInt value to a number at Math.pow 解决方法
  • Linux下mysql数据库的导入与导出以及查看端口
  • Open3d入门 一文读懂三维点云
  • pyinstaller系列教程(一)-基础介绍
  • echarts图表:类目轴
  • SSM贫困生申请管理系统-计算机源码84308
  • [C++]——同步异步日志系统(5)
  • Qt项目:基于Qt实现的网络聊天室---TCP服务器和token验证
  • 深入理解C++构造函数
  • J025_斗地主游戏案例开发(简版)
  • 路径规划 | 飞蛾扑火算法求解二维栅格路径规划(Matlab)
  • 优化Cocos Creator 包体体积
  • TCPDump协议分析工具
  • 土壤分析仪:解密土壤之奥秘的科技先锋
  • 计算1的数量
  • Linux udp编程
  • 【开源项目】Rust开发复制文件夹目录结构工具
  • PostgreSQL的pg_dirtyread工具
  • 苹果梦碎:Vision Pro的辉煌与失落,苹果已决定暂停 Vision Pro 后续产品的研发工作
  • 推荐一款uniapp拖动验证码插件
  • 十年期国债收益率
  • 使用Go编写的持续下行测速脚本,快速消耗流量且不伤硬盘
  • 保护国外使用代理IP的安全方法
  • 18集 学习ESP32的ESP-DL深度学习教程-《MCU嵌入式AI开发笔记》
  • jmeter-beanshell学习9-放弃beanshell
  • Web 性能入门指南-1.5 创建 Web 性能优化文化的最佳实践
  • 【Android】Service介绍和生命周期
  • [论文笔记]RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL
  • python 端口的转发
  • opencv 中如何通过欧式距离估算实际距离(厘米)