【JavaEE】初识Spring

news2024/12/23 8:08:32

目录

一、创建Spring项目

 二、介绍理论


一、创建Spring项目

通过maven创建Spring项目,我们需要借助一些工具完成工程的创建。

1.pom.xml 2.一部分示例代码

Spring提供了一个Spring Initializr使用网页版本。

 然后将得到文件的内容用idea打开。然后执行会显示未连接数据库。

然后我们在这个文件夹下连接上数据库。

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ccb_1221?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=200177

然后在浏览器中搜索127.0.0.1:8080即可以进入我们创建的程序,这时还没有输出所以会显示错误。

 然后我们输出库中book表的信息。

@Data
public class Book {
    private Integer bid;
    private String name;
    private int current;
    private int total;
}
@Mapper
public interface BookMapper {
    @Select("select bid, name, current, total from books order by bid")
    List<Book> selectAll();
}
@Controller
public class TestController {
    @Autowired
    private BookMapper bookMapper;
    @GetMapping("/")
    @ResponseBody
    public List<Book> testIndex() {
        return bookMapper.selectAll();
    }
}

 再在浏览器中搜索127.0.0.1:8080,就会显示表内的信息。

 二、介绍理论

早期的Web应用:

  以上的这个程序的职责:以资源的形式对外提供服务,以服务器这个角色出现,提供的是Web服务,所以我们一般称其为Web服务器,又由于网络中数据交换采用的格式(协议)是HTTP协议,所以又把Web服务器成为HTTP服务器。Java中最常使用的是Tomcat软件。

常见的浏览器:IE,Edge,Chrome,Firefox,Safari,QQ浏览器,360浏览器。

 上图本质上就是人访问资源,但是不能直接访问,需要通过浏览器访问。

 网络语境下,一般不称作电脑,称为主机,因为网络不止有电脑,可能有其他硬件,Pad、摄像头、手机等。

从用户工作的电脑上,由浏览器发出的请求,怎么就知道目标主机是哪一个,而不会走错呢?通过ip地址(理论上,网络中每一个主机都是一个主机的唯一的ip地址)所以,只要ip地址是确定的,则目标主机就确定了。但由于人类不方便记忆ip地址,所以通过域名来表示ip地址,通过一种叫做DNS服务器来把域名换成ip地址。

 Web服务器(Tomcat)要对外提供服务,必须提前开辟好端口,一般情况下,HTTP开发阶段使用的都是8080端口,但在最终正式提供服务的时候要使用80端口(这是一个规定)。


 地址栏输入 url: 127.0.0.1:8080/hello

1、找到目标主机:127.0.0.1

2、在对应的主机上找到对应的端口(port),进而找到对应的进程
(如果对应的主机不存在或者主机上对应的端口不存在结果如何?浏览器在尝试建立连接,无法建立连接浏览器会重试,但多次重试仍然不不成功,最终显示会是无法访问)

3、根据资源路径 (resource path),访问对应的资源
如果路径对应的资源存在,则web 服务器将资源的内容通过响应的方式返回
如果路径对应的资源不存在,则web 服务器会响应 404 Not Found。


关于端口 (port):一个端口同一时间,只能被一个进程(而不是程序)监听,反过来,一个进程可以同时监听多个端口。


URL 的标准格式Unique Resource Location(唯一资源定位符)

协议名称://主机,/资源路径?查询字符串#文档片段

1. http 协议
http://127.0.0.1:8080 省略资源路径,说明请求的是首页路径(一般是/或者 index.html) 
http://127.0.0.1:8080/hello
http://127.0.0.1/hello 省略端口号,说明端口是 http 协议的标准端口,即 80 端口 

2.https 协议: 关于 http 的一个安全加密协议,标准端口号是 443
https://127.0.0.1:8080/
https://127.0.0.1:8080/hello
https://127.0.0.1/hello 省略端口,即 443 端口 

3.常见的基本是 http 或者 https(现在实际中,https 占主流)
https://www.baidu.com/   https://www.qq.com/   https://jd.com/

当我们在地址栏输入内容时,由于现在的浏览器比较智能
1.我们的过程中,浏览器在帮我们自动提示或者自动补全,导致最终输入的地址不是我
们想输的地址。

2.输入之后的内容如果不符合 URL 标准,浏览器在我们导航搜索引擎上去了

3.所以正确的输入 url,才可以得到我们想要的结果


1.先找到主机

2.再找到端口 (进程)

3.再找到资源

我们平时看到的网页,其实不止一个资源,而是由多个资源共同配合完成的(入口的 html 类型的资源 (1.html 类型是内容的类型2.还有很多的图片资源 jpg、png、gif、webp ...3.有很多的 JavaScript 资源在工作4.为了网页好看,有很多的 css 资源在工作)

早期的网页,大多是一个资源展示一个效果,现在的网页,很多是 N 个资源展示一个效果。

一次请求/响应 (HTTP 协议) 只处理一个资源的所以要展示一个效果,需要 N 个请求/响应,进而得到 N 资源的内容,最终配合以展示。

资源的分类 (生成方式的分类)
(1)静态资源: 提前生成的内容
(2)动态资源: 运行期间生成的内容


资源根据内容的格式不同,也可以看作不同的类型(无穷多个类型),常见的有:

1.html 格式 - Hyper Text Markup Language - 超文本标记语言 - web 应用中用于框架和内容
也就是图纸、毛坏房。

2.css格式 - Cascading Style Sheets - 层叠样式表 - web 应用中的显示布局和样式
也就是装修,让房子好看

3.JavaScript 格式 运行在浏览器的一门语言 - JS 脚本 - web 应用中做逻辑处理

4.多媒体格式
(1)图片   jpg jpeg、png、gif、webp、 bmp
(2)音频   aac、mp3 ....
(3)视频   mp4 mpeg4、flv、mkv ...

5.纯文本格式  txt

6.结构化数据  json、xml
 

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

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

相关文章

集群环境下解决定时任务重复执行的问题【案例分享】

【辰兮要努力】&#xff1a;hello你好我是辰兮&#xff0c;很高兴你能来阅读&#xff0c;昵称是希望自己能不断精进&#xff0c;向着优秀程序员前行&#xff01; 博客来源于项目以及编程中遇到的问题总结&#xff0c;偶尔会有读书分享&#xff0c;我会陆续更新Java前端、后台、…

机器学习中的数学原理——似然函数

这个专栏主要是用来分享一下我在 机器学习中的 学习笔记及一些 感悟&#xff0c;也希望对你的学习有帮助哦&#xff01;感兴趣的小伙伴欢迎 私信或者 评论区留言&#xff01;这一篇就更新一下《 白话机器学习中的数学——似然函数》&#xff01;什么是似然函数似然函数 定义. 在…

电商让客户等待的话术

在电商平台购物时&#xff0c;在购物前后客户难免会产生一些问题&#xff0c;客服需要先进行核对&#xff0c;或者需要转接给专员进行接待&#xff0c;在这期间&#xff0c;客户需要等候&#xff0c;这时候需要给客户发送一些等候话术。前言在电商平台购物时&#xff0c;在购物…

uni-app动态修改manifest.json中的参数

以根据不同环境配置不同的h5运行路径为例&#xff0c;动态修改h5.router.base 假设当前有三种环境 process.env.NODE_ENV developmentprocess.env.NODE_ENV testprocess.env.NODE_ENV production 在src根目录下创建modifyManifest.js文件&#xff08;一定是src&#xff09;…

渗透测试工程师的职业发展

前段时间看了一个大哥写的程序员的职业发展&#xff0c;感触很深&#xff0c;这几天晚上就参考大哥的思路结合自身的经历写一下渗透工程师的职业发展之路&#xff0c;顺便也让迷茫中的小伙伴们有个参考。 很多干渗透、安全服务、安全运维的人在干了3-5年后面对迷茫期&#xff…

2022年度猫狗粮销售数据:十大热门品牌排行榜,哪些品牌入围?

当前&#xff0c;“吸猫撸狗”正成为当代年轻人新的生活方式&#xff0c;越来越多的人乐意为了自己的“毛孩子”买单&#xff0c;这使得宠物经济快速发展。伴随着宠物食品概念越来越被消费者所接受&#xff0c;目前&#xff0c;我国宠物食品行业呈现爆发式增长&#xff0c;宠物…

电脑只有一个c盘怎么办?看我怎么一招解决!

很多朋友在网上新买了笔记本电脑&#xff0c;打开电脑后发现它只有一个磁盘&#xff0c;电脑只有一个c盘怎么办&#xff1f;下面以Windows 10系统为例进行步骤说明&#xff0c;让我们一起来解决电脑只有一个磁盘的难题吧&#xff01; 操作环境&#xff1a; 演示机型&#xff1a…

再谈什么是【组织能力】

&#xff08;1&#xff09;我过去讲过两个公式&#xff1a;从这两个公式都能看出来&#xff0c;企业管理和业务管理的巨大区别。我过去也专门讲过企业管理&#xff1a;愿景使命-文化价值观、战略目标-战略路径企业治理-企业组织、商业模式创新-品牌影响力-持续客户关系经营健康…

YoloV5+DAMOYOLO:将DAMOYOLO中的GFPN结构与Yolov5结合

前段时间写了一篇damoYolo的训练教程&#xff0c;同时也对自己的数据集进行了训练&#xff0c;虽然效果确实不是很好&#xff0c;但是damoyolo的一些思想和网络结构啥的还是可以借鉴使用的&#xff0c;此次将damoyolo的RepGFPN结构掏出来放到v5的NECK中&#xff0c;测试一下对本…

进程间通信——管道通信

目录 1 管道概念 2 无名管道&#xff08;pipe&#xff09;只能给有亲缘关系进程通信 步骤 注意事项 3 有名管道&#xff08;fifo&#xff09; 可以给任意单机进程通信 步骤 注意事项 1 管道概念 管道是UNIX 系统IPC 的最古老形式&#xff0c; 并且所有UNIX 系统都提供此种…

JavaWeb项目 -- 博客系统

JavaWeb项目 -- 博客系统前言&#xff1a;页面展示一、创建 Maven 项目二、设计数据库三、封装数据库的操作3.1 创建 DBUtil 类3.2 创建 Blog 类3.3 创建 User 类3.4 创建类 BlogDao3.5 创建类 UserDao四、导入准备好的前端代码五、实现博客列表界面5.1 约定好前后端交互接口5.…

excel函数应用:如何用数位函数分段提取身份证信息 上篇

用Excel处理身份证号&#xff0c;在我们日常工作中是相当普遍的&#xff0c;尤其是对于做人事行政工作、财务工作的同学来说&#xff0c;更显得十分重要。那么一个身份证号&#xff0c;能给予我们多少信息量呢&#xff1f;无论我们需要用Excel处理何种数据&#xff0c;首先都应…

python 使用矢量化替换循环

介绍 &#x1f3b5;&#x1f57a;&#x1f5e3;&#x1f3c0; 循环自然而然地出现在我们身边&#xff0c;我们了解几乎所有编程语言中的循环。因此&#xff0c;默认情况下&#xff0c;只要有重复操作&#xff0c;我们就会开始执行循环。但是当我们处理大量迭代&#xff08;数百…

5G NR标准 第14章 调度

第14章 调度 NR 本质上是一个调度系统&#xff0c;这意味着调度器决定何时以及向哪些设备分配时间、频率和空间资源&#xff0c;以及使用什么传输参数&#xff0c;包括数据速率。 调度可以是动态的或半静态的。 动态调度是基本的操作模式&#xff0c;其中调度程序针对每个时间…

【JVM 从入门到精通系列】 JVM 字节码指令篇 之 Class文件结构

一、概述 字节码文件的跨平台性 Java语言&#xff1a;跨平台的语言 当Java源代码成功编译成字节码后&#xff0c;如果想在不同平台上运行&#xff0c;则无需再次编译。这个优势已经不再那么吸引人了&#xff0c;Python、PHP、Perl、Ruby、Lisp等有强大的编译器。跨平台似乎已…

uniprot蛋白序列数据库,蛋白质结构数据库PDB;pymol pse格式

https://www.bilibili.com/video/BV1p34y1D77Z https://www.bilibili.com/video/BV1Xa4y1W7Dx 蛋白质结构数据库PDB 注意点&#xff1a;很多数据含有共晶配体的结构 很多时候&#xff0c;蛋白晶体结构中不只是蛋白&#xff0c;还可能有核酸、多肽、辅酶、小分子化合物&#…

振动力学——2.单自由度系统无阻尼自由振动能量法

对于不计阻尼即认为没有能量损失的单自由度系统&#xff0c;可利用能量守恒原理建立自由振动微分方程&#xff0c;或直接求出固有频率无阻尼系统为保守系统&#xff0c;其机械能守恒&#xff0c;即动能T和势V之和保持不变 &#xff0c;即&#xff1a; 或 (1-9) 图1-7弹簧质量…

Clickhouse 三节点三分片六实例双副本部署,用户密码权限配置,cpu内存资源优化

文章目录1. rpm安装ck2. 集群规划3. config.xml文件配置&#xff08;1&#xff09;分片副本信息配置&#xff08;2&#xff09;zookeeper信息配置&#xff08;3&#xff09;macros 信息配置&#xff08;4&#xff09;注释掉映射信息&#xff08;5&#xff09;修改实例中的日志路…

深入理解MySQL——master thread分析

1. master thread的线程分析 master thread的线程优先级别最高。其内部由几个循环&#xff08;loop&#xff09;组成&#xff1a;主循环&#xff08;loop&#xff09;、后台循环&#xff08;background loop&#xff09;、刷新循环&#xff08;flush loop&#xff09;、暂停循…

基于springcloud的学习笔记1

概述springcloud的微服务分布式架构对于springboot的服务集成开发最大的优点就是解决了&#xff0c;springboot中模块之间的高耦合度&#xff0c;springcloud进行高粒度的拆分服务之后就可以降低在高并发下会出现的所有模块服务不可用。同理springcloud就是拆分出不同的模块成为…