javaweb学习week1

javaweb学习

一.Maven

1.初识

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

  1. 依赖管理:避免jar包的版本冲突问题,只需要在Maven的pom.xml中写代码即可

  2. 提供标准,统一的项目结构
    请添加图片描述

  3. 标准跨平台的自动化项目构建方式

2.概述和安装

官网:http://maven.apache.org/
Maven架构:
请添加图片描述

仓库:用于存储资源,管理各种jar包
本地仓库:自己计算机上的一个目录
中央仓库:由Maven团队维护的全球唯一的。仓库地址:https://repo1.maven.org/maven2/
远程仓库(私服):一般由公司团队搭建的私有仓库

安装

步骤:

  1. 解压apache-maven-3.6.1-bin.zip

  2. 配置本地仓库:修改conf.settings.xml中的<localRepository>为一个指定目录
    请添加图片描述

  3. 配置阿里云私服:修改conf/settings.xml中<mirros>标签,为其添加如下子标签:
    请添加图片描述

  4. 配置环境变量:MAVEN_HOME为maven的解压目录,并将其bin目录加入PATH环境变量

测试命令:mvn -v

3.idea集成maven

(1)配置maven环境

选择idea中file->settings->Build,Execution,Deployment->Build Tools->Maven

(2)配置全局环境
图片消失了 图片消失了 图片消失了 图片消失了
(3)创建maven项目
图片消失了

maven坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置
主要组成:

  1. groupid:定义当前maven项目隶属组织名称(通常是域名反写,如com.ithema)
  2. artifaid:定义当前maven项目名称(通常是模块名称,如order-service、goods-service)
  3. version:定义当前项目版本号
(4)导入maven工程
图片消失了 图片消失了

4.maven管理

(1)依赖配置

依赖指当前项目运行所需要的jar包,一个项目中可以引入多个依赖
配置方法:
请添加图片描述

注意:

  1. 如果引入的依赖在本地仓库不存在,将会在远程仓库/中央仓库中下载(耗时较多)
  2. 如果不知道依赖的坐标信息,可以到如下网址找https://mvnrepository.com/
(2)依赖传递

依赖具有传递性
直接依赖:在当前项目中通过依赖配置建立的依赖关系
间接依赖:被依赖的资源如果依赖其它资源,当前项目间接依赖其它资源
排除依赖:指主动断开依赖的资源,被排除的资源无需指定版本
请添加图片描述

(3)依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>…</scope>设置其作用范围
作用范围:

  1. 主程序范围有效(main文件夹范围内)
  2. 测试程序范围有效(test文件夹范围内)
  3. 是否参与打包
图片消失了
(4)生命周期

maven的生命周期就是为了对所有的Maven项目构建过程进行抽象和统一
Maven中有三套独立的生命周期:

  1. clean:清理工作
  2. default:核心工作,如:编译、测试、打包、安装、部署
  3. site:生成报告、发布站点

详细的生命周期:
请添加图片描述

五个重要的生命周期阶段:
请添加图片描述

注意:在同一个生命周期中,运行后面的生命周期,前面的也会运行
执行生命周期的两种方式:

  1. 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行
  2. 在命令行中,通过命令执行

二.web入门

1.springboot入门

①创建springboot工程:
请添加图片描述

图片消失了

②创建请求处理类,添加请求处理方法,并添加注解:
请添加图片描述

③运行启动类,打开浏览器测试:
请添加图片描述

图片消失了

2.HTTP协议-概述

概念:超文本传输协议,规定了浏览器和服务器之间数据传输的规则
HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应是独立的

3.HTTP协议-请求协议

请求数据分为请求行、请求头、请求体
请求行:请求数据第一行(请求方式、资源路径、协议)
请添加图片描述

请求头:第二行开始,格式:key: value
各个key的意义:
请添加图片描述

请求体:POST请求特有,存放请求参数,与请求头有空行
GET:请求参数在请求行中,没有请求体,GET请求大小是有限的
POST:请求参数在请求体中,没有大小限制

4.HTTP-响应协议

响应数据分为响应行、响应头、响应体
响应行:响应数据第一行(协议、状态码、描述)
状态码:
请添加图片描述

常见响应状态码:
请添加图片描述

响应头:第二行开始,格式:key: value
常见key:
请添加图片描述

响应体:最后一部分,存放响应数据,与响应头有空行

5.HTTP-协议解析

根据serversocket可以解析协议
已经有公司将代码写好并封装到软件当中供我们使用,我们无需对HTTP协议进行操作

6.Tomcat-介绍

web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷
Tomcat是主流web服务器
概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级web服务器,支持servlet/JSP少量javaEE规范
java分类:javaSE(java标准版),javaME(java小型版),javaEE(java企业版)
javaEE:javaEnterprise Edition,java企业版,指java企业级开发的技术规范总和。包含13项技术规范:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、java IDL、JTS、JTA、javaMail、JAF
Tomcat也被称为web容器、servlet容器。servlet程序需要依赖于Tomcat才能运行
官网:https://tomcat.apache.org/

7.Tomcat-使用

下载官网:https://tomcat.apache.org/download-90.cgi
Tomcat文件结构:
=请添加图片描述

启动:双击bin\startup.bat
控制台中文乱码:修改conf/logging.properties
请添加图片描述

关闭:

  1. 直接关闭窗口:强制关闭
  2. bin\shutdown.bat:正常关闭
  3. ctrl+C:正常关闭

常见问题:

  1. 启动窗口一闪而过:检查JAVA_HOME环境变量是否配置正确
  2. 端口号冲突:找到对应程序,将其关闭掉
    请添加图片描述

配置Tomcat端口号(conf/server.xml)
请添加图片描述

注意:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号
Tomcat部署项目:将项目放置到webapps目录下,即部署完成

Tomcat-入门使用解析

起步依赖:

  1. spring-boot-starter-web:包含了web应用开发所需要的常见依赖
  2. spring-boot-starter-test:包含了单元测试所需要的常见依赖
  3. 官方提供的starter:https://docs.spring.io/spring-boot/docs/2.7.4/reference/htmlsingle/#using.bui-system.starters

spring有内嵌Tomcat服务器,不需要额外安装

三.请求响应

1.概述

请求响应:

  1. 请求(HttpServeletRequest):获取请求数据
  2. 响应(HttpServeletResponse):设置响应数据

BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器
CS架构:Client/Server,客户端/服务器架构

2.Postman

postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件
作用:常用于接口测试
操作:在登录后点击workspaces创建一个space
space各区域的功能:
请添加图片描述

3.简单参数

原始方式:在原始的web程序中,获取请求参数,需要通过HttpServeletRequest对象手动获取
springboot方式:
简单参数:参数名与形参参数名相同,定义形参即可接收参数
请添加图片描述

如果方法形参名称与请求参数名称不匹配,可以使用@RequestParam完成映射
请添加图片描述

注意:@RequestParam中的required属性默认为true,代表该请求参数必须传递,如果不传递将报错。如果参数是可选的。可以将required属性设置为false

4.实体参数

简单实体参数对象:请求参数名与形参对象属性名相同,定义POJO接收即可
请添加图片描述

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

5.数组集合参数

数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数
请添加图片描述

集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系
请添加图片描述

  • 12
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值