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

java-web-day5

1.spring-boot-web入门

       目标:

              开始最基本的web应用的构建

              使用浏览器访问后端, 后端给浏览器返回HelloController

       流程:

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

                     注意:

                            在新版idea中模块创建时java下拉框只能选17, 21, 23

                            这里选17, maven版本是3.6.3, 很适配

              2.创建请求处理类, 添加请求处理方法, 并给类和方法添加注解

              3.运行程序, springboot默认占用端口号8080

                     注意:

                            有时候端口号会被别的程序占用, 这就会导致在浏览器访问不到项目

                            解决方法

                                   1.查看端口号有没有被占用:

                                          win+r打开命令行, 在命令行输入 netstat -ano|findstr 8080

                                          如果命令执行成功但什么都没有显示,说明端口号没被使用,

                                          正常使用即可,如果有显示TCP 0.0.0.0:8080...这一行,

                                          请继续向下看

                                   2.根据PID号在任务管理器结束进程

                                          出现上面的信息, 说明8080被占用了, 就需要去结束占用8080端口的程序给我们的程序使用,

                                          根据LISTENING 后面的PID号, 打开任务管理器, 找到PID号对应的程序,

                                          结束程序就好了

              4.在浏览器中输入localhost:8080/hello, 回车即可看到新页面中出现的返回值

2.Nginx和Tomcat的比较

       不同点

              Nginx 作为前端服务器:处理静态内容和客户端请求,进行负载均衡。

                     说人话就是, nginx里面放的是前端代码

              Tomcat 作为后端应用服务器:运行 Java Web 应用程序, 处理前端的请求, 进行负载均衡

                     说人话就是, tomcat里面放的是后端代码, 负责处理网络请求和响应,

                     没有这种后端服务器, 就别想访问后端

       相同点:

              1.启动方式

                     nginx: nginx.exe

                     tomcat: bin/startup.bat

              2.部署方式

                     前端代码放在nginx中的html文件夹里面就行

                     后端代码放在tomcat中的webapps文件夹下就行

      个人感悟分享

                在程序开发中需要学到的技术和使用的软件太多了, 而且还在不管的更新迭代,

                要想不迷, 就对区分各个技术和应用的用处的干嘛的,  形成一个思维框架

3.web开发需要的依赖:

       1.spring-boot-starter-web: 包含了web应用开发需要的起步依赖

       2.spring-boot-starter-test: 包含了单元测试需要的起步依赖(默认添加)

     为什么需要的依赖这么少呢?

               因为spring-boot的依赖传递特性, 也就是你引入一个依赖,spring-boot会将相关

                需要的依赖全部引入进来, 包含启动idea内嵌的tomcat服务器的依赖等

4.微服务:

对微服务很好奇, 所以提前看了一下微服务

       简介:

              是一种软件架构风格, 属于分布式架构, 微服务是指将一个大型的应用程序拆分成一组小型、独立的服务,每个服务都运行在自己的进程中,并通过网络进行通信

       组成:

              1.服务拆分

              2.远程调用

              3.服务治理

              4.请求路由

              5.身份认证

              6.配置管理

              7.服务保护

              8.分布式事务

              9.异步通信

              10.消息可靠性

              11.延迟消息

              12.分布式搜索

              13.倒排索引

              14.数据聚合

课程安排:

       day1.搭建/改造微服务项目

                     mybatisplus

                     docker

       day2.熟练使用微服务

                     服务拆分

                     服务治理

                     远程调用

       day3.微服务身份认证

                     请求路由

                     身份认证

                     配置管理

       day4.分布式事务

                     服务保护

                     分布式事务

       day5.消息中间件可靠性

                     异步通信

                     消息可靠性

                     延迟消息

       day6.分布式搜索引擎

                     分布式搜索

                     倒排索引

                     数据聚合

       day7.源码+底层原理

                     微服务高级

                     redis高级

5.java的命名规范:

       包名: 全部小写

       常量: 全部大写

       类名: 大驼峰命名

       对象名: 小驼峰命名

       变量名:小驼峰命名

       方法名: 小驼峰命名

6.一些容易忽略的地方

        1.当对后端代码进行修改之后, 需要重新运行, 否则不管用

        2.在创建一个成员变量的时候,一般要加上它的get, set, toString方法

        3.当在一个类中把另一个类的对象设置为成员变量的时候, 需要为这个成员变量生成get, set方法, 同时也要重写原来的toString方法

今天截止到数组集合参数, 明天继续冲

相关文章:

java-web-day5

1.spring-boot-web入门 目标: 开始最基本的web应用的构建 使用浏览器访问后端, 后端给浏览器返回HelloController 流程: 1.创建springboot工程, 填写模块信息, 并勾选web开发的相关依赖 注意: 在新版idea中模块创建时java下拉框只能选17, 21, 23 这里选17, maven版本是3.6.3, 很…...

Python | Leetcode Python题解之第508题出现次数最多的子树元素和

题目: 题解: class Solution:def findFrequentTreeSum(self, root: TreeNode) -> List[int]:cnt Counter()def dfs(node: TreeNode) -> int:if node is None:return 0sum node.val dfs(node.left) dfs(node.right)cnt[sum] 1return sumdfs(r…...

Java 分布式缓存

在当今的大规模分布式系统中,缓存技术扮演着至关重要的角色。Java 作为一种广泛应用的编程语言,拥有丰富的工具和框架来实现分布式缓存。本文将深入探讨 Java 分布式缓存的概念、优势、常见技术以及实际应用案例,帮助读者更好地理解和应用这一…...

【MySQL】MySQL 使用全教程

MySQL 使用全教程 介绍 MySQL 是一种广泛使用的开源关系型数据库管理系统(Relational Database Management System),它基于 Structured Query Language(SQL)进行数据管理,允许用户存储、检索、更新和删除数据库中的数据。通过提供…...

油猴脚本-GPT问题导航侧边栏增强版

为 GPT官网和相关网站提供了一个便捷的侧边栏目录,能够自动搜集当前会话页面的问题,展示在侧边栏上,可快速导航到问题的位置。 安装使用地址:https://scriptcat.org/zh-CN/script-show-page/1972 安装前请确保浏览器有油猴,没有…...

Java Lock ConditionObject 总结

前言 相关系列 《Java & Lock & 目录》(持续更新)《Java & Lock & ConditionObject & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Java & Lock & ConditionObject & 总结》(学习…...

模块化主动隔振系统市场规模:2023年全球市场规模大约为220.54百万美元

模块化主动隔振系统是一种用于精密设备和实验装置的隔振解决方案,通过主动控制技术消除振动干扰,提供稳定的环境。目前,随着微纳制造和精密测量技术的发展,对隔振系统的要求越来越高。模块化设计使得系统能够灵活适应不同负载和工…...

SpringAOP:对于同一个切入点,不同切面不同通知的执行顺序

目录 1. 问题描述2. 结论结论1:"对于同一个切入点,同一个切面不同类型的通知的执行顺序"结论2:"对于同一个切入点,不同切面不同类型通知的执行顺序" 3. 测试环境:SpringBoot 2.3.4.RELEASE测试集合…...

unique_ptr初始化

std::unique_ptr 是 C11 引入的智能指针,用于管理动态分配的对象的生命周期。unique_ptr 确保每个动态分配的对象有且仅有一个所有者,当 unique_ptr 超出作用域时,它会自动释放其管理的对象。以下是 std::unique_ptr 的一些常见初始化方法。 …...

HelloCTF [RCE-labs] Level 8 - 文件描述和重定向

开启靶场,打开链接: GET传参cmd system($cmd.">/dev/null 2>&1"); 这行代码将执行命令 $cmd,并且将其标准输出和标准错误输出都重定向到 /dev/null,这意味着无论命令的输出还是可能产生的错误信息都不会显示…...

DEVOPS: 集群伸缩原理

概述 阿里云 K8S 集群的一个重要特性,是集群的节点可以动态的增加或减少有了这个特性,集群才能在计算资源不足的情况下扩容新的节点,同时也可以在资源利用 率降低的时候,释放节点以节省费用理解实现原理,在遇到问题的…...

什么是SMO算法

SMO算法(Sequential Minimal Optimization) 是一种用于求解 支持向量机(SVM) 二次规划对偶问题的优化算法。它由 John Platt 在 1998 年提出,目的是快速解决 SVM 的优化问题,特别是当数据集较大时&#xff…...

MySQL根据.idb数据恢复脚本,做成了EXE可执行文件

文章目录 1.代码2.Main方法打包3.Jar包打成exe可执行文件4.使用(1.)准备一个表结构一样得数据库(2.)打开软件(3.)输入路径 5.恢复成功 本文档只是为了留档方便以后工作运维,或者给同事分享文档内…...

Spring Boot面试题

1.什么是SpringBoot?它的主要特点是什么? Spring Boot 是一个基于 Spring 框架的开发和构建应用程序的工具,它旨在简化 Spring 应用的初始搭建和开发过程。Spring Boot 提供了一种约定优于配置的方式,通过自动配置和默认值&#…...

原生页面引入Webpack打包JS

Webpack简介 概述: Webpack是一个现代JavaScript应用程序的静态模块打包器。它将应用程序中的每个文件视为一个模块,并通过配置规则来解析这些模块之间的依赖关系,最终将其打包成一个或多个浏览器可以执行的文件。动态加载(Code …...

健康之路押注医药零售:毛利率下滑亏损扩大,医疗咨询人次大幅减少

《港湾商业观察》黄懿 2024年9月13日,健康之路股份有限公司(下称“健康之路”)再次递表港交所,建银国际为独家保荐人。健康之路国内运营主体为健康之路(中国)信息技术有限公司和福建健康之路信息技术有限公…...

【人工智能-初级】第7章 聚类算法K-Means:理论讲解与代码示例

文章目录 一、K-Means聚类简介二、K-Means 聚类的工作原理2.1 初始化簇中心2.2 分配簇标签2.3 更新簇中心2.4 迭代重复2.5 K-Means 算法的目标三、K-Means 聚类的优缺点3.1 优点3.2 缺点四、K 值的选择五、Python 实现 K-Means 聚类5.1 导入必要的库5.2 生成数据集并进行可视化…...

HOT 100 技巧题(136/169/75/31/287)

136. 只出现一次的数字 技巧类型题目,通过异或运算实现 169. 多数元素 三种常见解法:1. 哈希2. 排序3. 投票法 75. 颜色分类 单指针 两次遍历:第一次遍历把所有0都交换到前面,记录最后一个0的位置index,第二次遍…...

什么是时间戳?怎么获取?有什么用?

在 JavaScript 中,时间戳通常表示为自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。我们可以使用 Date 对象来获取当前时间的时间戳,或者将特定的日期转换为时间戳。在JavaScript中,时间戳通常以毫秒为单位表示。 如何获取时间戳 在Java…...

LeetCode:459重复的子字符串

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例 1: 输入: s "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。示例 2: 输入: s "aba" 输出: false示例 3: 输入: s "abcabcabcabc" 输…...

【含开题报告+文档+PPT+源码】基于SSM的旅游与自然保护平台开发与实现

开题报告 围场县拥有丰富的自然景观和野生动植物资源,同时面临着旅游业发展和自然保护之间的平衡问题,通过强调自然保护,这个平台可以教育游客如何尊重和保护当地的生态环境。同时,平台还可以提供关于生态保护的信息,…...

【ANTs】医疗影像工具ANTs多种安装方式教程

介绍ANTs的几种简单的安装教程 基于Releases的安装 Github上选择适配自己操作系统的安装包,链接: link 一般使用最新版本。这里官方操作说明,支持Ubuntu、MacOS、CentOS,但是windows有安装包,不知道怎么用。。。 下载后有两个文件夹,bin和lib,bin里面长这样(图示wind…...

想要音频里的人声,怎么把音频里的人声和音乐分开?

在音频处理领域,将音频中的人声和音乐分开是一个常见需求,尤其对于音乐制作、影视后期以及个人娱乐应用来说,这种分离技术显得尤为重要。随着科技的发展,现在已经有多种方法可以实现这一目的。 一、使用专业音频处理软件 市面上有…...

python代码中通过pymobiledevice3访问iOS沙盒目录获取app日志

【背景】 在进行业务操作过程中,即在app上的一些操作,在日志中会有对应的节点,例如,下面是查看设备实时视频过程对应的一些关键节点: 1、TxDeviceAwakeLogicHelper:wakeStart deviceId CxD2BA11000xxxx …...

Spring AOP 使用方法总结

AOP切面编程的最佳应用场景 记录日志性能监控事务管理处理异常数据验证,验证传入参数的正确性(一般不用这个方法做,而是用拦截器) spring提供了以下注解供开发者使用,编写AOP程序 Aspect 申明切面Pointcut 切点&#…...

LeetCode 每日一题 2024/10/21-2024/10/27

记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 10/21 910. 最小差值 II10/22 3184. 构成整天的下标对数目 I10/23 3185. 构成整天的下标对数目 II10/24 3175. 找到连续赢 K 场比赛的第一位玩家10/25 3180. 执行操作可获得…...

不到1500元的I卡可以玩转3A大作吗?撼与科技Intel Arc A750显卡游戏性能实

一、前言 还记得2022年10月的时候,英特尔发布了Arc A750和A770显卡,和此前所发布的DG1、A380不同,这两张显卡可以说是真正意义上的游戏显卡。不知不觉间,两年已经过去了,在这两年期间,英特尔不仅在积极地打…...

STK与MATLAB互联——仿真导航卫星与地面用户间距离和仰角参数

文章目录 构建GPS星座创建单个PRN的GPS卫星创建GPS星座,并为其添加发射机 北斗星座构建搭建低轨铱星星座构建一颗轨道高度为800km/1000km/1200km的低轨卫星构建一颗轨道高度为800km/1000km/1200km的低轨卫星建立地面站,可见性分析确定地面站坐标分析单颗…...

js面试问题笔记(一)

一.热门js面试 1.简述同步和异步的区别? 同步: 浏览器访问服务器请求,用户看到页面刷新 ,重新发请求,等请求完,页面刷新,新内容出现,用户看到新内容,进行下一步操作 异步: 浏览器访问服务器请求,用户正常操作,浏览器后端进行请求,等请求完,页面不刷新,新内容也会出现,用户看到…...

pip 和 pipx 的主要区别?

特性pippipx用途用于安装Python库或命令行应用程序,可以安装带entry points的库专门用于安装和管理Python命令行工具,每个工具都在隔离的虚拟环境中运行虚拟环境不自动创建虚拟环境,需要手动使用 venv 或 virtualenv 创建自动为每个安装的工具…...

网站建设误期违约金赔偿限额/南阳本地网络推广优化公司

springboot run 的总体流程如下: (1)加载各种配置文件以及环境参数 主要根据main方法和自动配置文件META-INF/spring.factories 中的相关配置类进行自动化化加载初始化等操作。 注册监事件听器。 初始化容器上下文Context。 解析Compone…...

网站运营专员是干嘛的/怎么让客户主动找你

下面的这些经典的引言来自英文,也许有些我翻译的是不很好,所以,我提供了中英对照,如果有问题,请大家指正。 过早的优化是万恶之源。Premature optimization is the root of all evil!- Donald Knuth 在水里行走和以一个…...

商城建设网站开发/软文推送

parse用于从一个字符串中解析出json对象,如 var str {"name":"huangxiaojian","age":"23"} 结果: JSON.parse(str) Objectage: "23"name: "huangxiaojian"__proto__: Object注意:单引号写…...

做慕斯蛋糕那个网站有视频/北京互联网公司

动态变量和静态变量的区别: 1、存储位置动态变量:存储在内存出栈数据区静态变量:存储在全局数据区(静态数据区) 2、生命期动态变量:根据你定义的位置确定,比如你在一个函数中定义的,…...

网站可以做话筒台标吗/网络广告联盟

在上一篇《用于修改配置的存储过程 | 全方位认识 sys 系统库》中,我们介绍了sys 系统库中用于修改配置的存储过程,利用这些存储过程可以代替修改performance_schema配置表的DML语句等操作,本期的内容讲介绍用于查看performance_schema配置信息…...

asp动态网站设计/百度推广代理赚钱

电气原理图英语缩写 符号汇总 FANC 风扇控制信号 RELAYC 继电器控制信号 RTMP 温度信号 BRR 制动 NDC 地 P 正极 positive pole N 负极 negative pole B 制动 brake F 反馈 feedback L 火线 N 零线 即地线 CLK 时钟信号 Vpp峰峰值 Vcc 电源电压 Rms 有效值 Duty 占空比 Vdd 芯片…...