web开发需要的技术栈:
-
前端web开发:
-
html
-
css
-
javascript
-
Vue
-
Element
-
Nginx
-
-
后端web开发:
-
SpringBoot Web 基础篇
-
MySOL
-
SpringBoot Mybatis
-
SpringBoot Web开发篇
-
SpringBoot web进阶篇
什么是spring?
-
官网:Spring | Home
-
Spring发展到今天已经形成了一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。
-
SpringBoot可以帮我们尽可能快的去构建应用(简化了配置,快速开发)官方推荐、企业主流
SpringBootWeb入门
-
需求:使用SpringBoot开发一个web应用,浏览器发起请求/hello后,给浏览器返回字符串“Hello World~”
-
步骤:
第二步:定义HelloController类,添加方法 hello,并添加注解
在com.itheima这个包下创建一个类
连包带类一起创建请求处理类
建立一个简单的方法,设置返回值类型,和返回值
加上请求注解---请求处理类,指定处理的方法和路径
第三步:运行测试
启动刚刚创建项目自动创建的启动类即可
程序运行会自动占用一个端口号8080,打开浏览器输入网址:localhost:8080/hello,回车即可,如果控制台和浏览器都返回了hello world即是成功了
-
-
第一步:创建springboot工程并勾选web开发相关依赖。
next下一步
Finish联网构建项目
构建项目的进度条等待下载即可
为了方便学习观看,可以帮面几个文件和文件夹删除
看起来清爽很多
在src/main/java/com.itheima/的目录下有一个SpringbootWebQuickstartApplication启动类(用来启动springboot工程)
-
HTTP协议
响应码大全:https://cloud.tencent.com/developer/chapter/13553
-
localhost:8080/hello输入到浏览器地址栏回车时候,会自动在前面加上http://,http://就是HTTP协议,全称:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。
-
特点:
-
基于TCP协议:面向连接,安全
-
基于请求-响应模型的:一次请求对应一次响应
-
HTTP是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的
-
优缺点:速度快但是多次请求之间不能共享数据
-
-
-
-
HTTP-请求协议
-
请求方式:
-
GET(没有请求体,数据在请求头上传输,请求大小有限制)、
-
POST(有请求体(和请求头空一行),存放请求参数,请求大小没有限制)
-
-
请求行:请求数据的第一行:(请求方式+资源路径+协议)
-
请求头:格式key:value
-
Host 请求的主机名 User-Aget 浏览器版本 Accept 表示浏览器能接收的资源类型 Accept-Langage 表示浏览器偏好的语言,服务器可以据此返回不同语言的网页 Accept-Encoding 表示浏览器可以支持的压缩类型 Content-Type 请求体的数据类型 Content-Length 请求体的大小(单位:字节)
-
-
-
HTTP-响应协议
-
响应行+响应头+响应体
-
响应状态码
-
常见响应码
-
常见响应头
-
-
HTTP-协议解析
-
自定义服务器(通过java网络编程的技术+多线程,通过输入流来获取数据,通过输出流来响应数据)运行服务端程序,然后通过浏览器访问即可(很繁琐,代码量很多)
-
web服务器软件
演示一下 Tomcat服务器怎么部署项目:
-
第一步:安装tomcat软件(是一个压缩文件,找一个地方解压放置即可),官方网站:Apache Tomcat® - 欢迎!
-
第二步:部署demo项目到web服务器
-
将demo文件夹复制一份,复制到tomcat的webapps目录下
-
第三步:启动服务器,浏览器可以访问,同时别人的电脑输入服务器的ip地址也可以访问到这个静态网页
-
-
Tomcat简介
-
概念: Tomcat是Apache 软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/jSP少量JavaEE规范
-
javaEE:Java Enterprise Edition,Java企业版。指ava企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EIB、RMI、JSP、Servlet、XML、JMS、java IDL、JTS、JTA、JavaMail、JAF
-
Tomcat 也被称为 Web容器、Servlet容器。Servlet程序需要依赖于Tomcat才能运行
-
官网:https://tomcat.apache.org/
Tomcat基本使用
-
下载:官网下载,地址 https://tomcat.apache.org/download-90.cgi
-
安装:绿色版,直接解压即可
-
卸载:直接删除目录即可
-
目录解释:
-
将部署的文件放置在webapps里面即可
-
-
启动:双击:bin\startup.bat
-
关闭:
-
直接x掉运行窗口:强制关闭
-
>bin\shutdown.bat:正常关闭
-
Ctrl+C:正常关闭
-
-
常见问题:
-
一闪而过:查看一下自己JAVA_HOME有没有配置成功
-
检查端口号是不是被占用
-
配置端口号的修改:在conf/serve.xml下
-
-
http协议的默认端口号是80,如果修改的端口号为80,则访问的时候就不需要加上端口号
创建springboot项目时候会自动下载官方模板,内嵌了Tomcat,所以以后Tomcat单独的软件很少使用到,一般都是使用springboot
请求响应
请求:
-
Postman(功能强大的接口测试工具)(安装忽略)
-
当前最主流的开发方式是前后端分离开发,后端开发一个功能就可以用Postman来测试是否正常,Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,作用:常用于进行接口测试
-
-
简单参数
-
原始方式:在原始的web程序中,获取请求参数,需要通过HttpServletRequst对象手动获取
-
springboot方式来获取请求:简单参数{参数名与形参变量相同,定义形参即可接收参数,}
如果参数名和形参不一样名字,想接收需要使用@RequestParam完成映射:
-
总结:
-
-
实体参数
-
简单实体对象:请求参数名和形参对象属性名相同,定义POJO(负责放置实体类的文件夹)接收即可,意思就是请求的参数很多的时候可以打包成一个实体类进行接收,要求:参数的名字必须在类里面的属性一致
-
负责实体参数对象:请求参数名与形参对象属性名相同,按照对象层次结构关系即可接收嵌套的POJO属性参数
-
-
数组集合参数
-
数组参数:请求参数名与形参名称相同且请求参数为多个,定义数组类型形参接收参数即可
-
集合参数接收:使用@RequestParam绑定参数关系
-
-
日期参数:
-
日期参数:使用@DataTimeFormat注解完成日期参数格式转换
-
-
Json参数(请求方式需要放在请求体上,所以不能使用get)
-
怎么请求:
-
JSON参数:JSON数据键名与形参对象属性名相同,定义pojo类型形参接收即可,需要使用@RequestBody标识
-
-
路径参数:通过请求URL直接传递参数,使用{...}来标识该路径参数,需要使用@PathVariable获取路径参数
响应数据
@ResponseBody
-
类型:方法注解、类注解
-
位置:Controller方法上/类上
-
作用:将方法返回值作为直接响应,如果返回值类型是 实体对象/集合将会转换为JSPN格式响应
-
说明:@RestController= @Controller+@ResponseBody
-
不同的返回值类型:不同的格式(不便管理)
-
统一响应结果:
响应案例
步骤:
-
在pom.xml文件中引入dom4j的依赖,用于解析XML文件
-
引入资料中提供的解析XML的工具类XMLParserUtils、对应的实体类Emp、XML文件 emp.xml
-
引入资料中提供的静态页面文件,放在resources下的static目录下
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)
分层解耦----三层架构
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)
-
三层结构编写:
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)
-
-
-
逻辑实现:
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)
IOC & DI 的入门
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)
-
IOC详解:
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)
-
DI详解:
-
查看更多请关注下方wx公众号,后台留言:SpringbootWeb入门,即可免费查阅权,谢谢支持,辛苦啦,祝大家周末幸福,作者正在备赛蓝桥杯国赛,有感兴趣的,可以随时交流:wx:15692400246)