JavaWeb知识点小结:

什么是Maven坐标:

Maven坐标是Maven中的一个重要概念,用于唯一标识一个Maven项目的依赖关系。

什么是坐标:
  • Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置
  • 使用坐标来定义当前项目或引入项目中需要的依赖
它由以下几部分组成:
  • groupId标识项目所属的组织或者公司,一般是倒序的域名,例如org.apache.maven;
  • artifactId标识项目的唯一标识符,例如maven-core;
  • version表示项目的版本号

Maven生命周期:

Maven生命周期,也叫lifecycle,是Maven对构建过程的抽象。它通过定义一系列阶段来组织和管理构建任务,这些阶段依次执行,以完成从清理、初始化、编译、测试、打包、集成测试、验证、部署到生成站点等几乎所有构建步骤。

具体来说,Maven的生命周期可以划分为以下三个主要阶段:

  1. Clean生命周期:这一阶段的目标是清理项目,移除所有上一次构建生成的文件。它进一步分为pre-clean(执行一些需要在clean之前完成的工作)、clean(执行清理操作)和post-clean(执行一些需要在clean之后立刻完成的工作)三个子阶段。

  2. Default生命周期(也称为Build生命周期):这是Maven的主要生命周期,被用于构建应用。这个阶段包括了诸如验证项目的正确性(validate),编译项目的源代码(compile),运行项目的单元测试(test),将编译后的代码打包成可分发的格式(package),对项目进行额外的检查以确保质量(verify),以及将项目的构建结果安装到本地Maven仓库中,以供其他项目使用(install)等一系列步骤。

  3. Site生命周期:这个阶段的目标是生成项目站点,包含了如报告生成,文档生成等步骤。

        值得注意的是,Maven的生命周期是抽象的,因此它不做任何的实际工作,所有的任务都由插件(plugin)完成。

HTTP-请求数据格式:

请求方式-GET:

        请求参数在请求行中,没有请求体,如: /brand/findAll?name=OPPO&staus=1。GET请求大小是有限制的。

请求方式-POST:

        请求参数在请求体中,POST请求大小是没有限制的。

两种请求方式的异同:

        在HTTP请求中,GET和POST是两种最常被使用的请求方式。GET是从指定的资源请求数据,而POST则是向指定的资源提交要被处理的数据。

        原理上,GET和HEAD方法被称为安全方法,因为它们不会修改服务器上的信息。这意味着使用GET和HEAD的HTTP请求不会在服务器上产生任何实质性的结果。然而,这并不意味着这些安全方法不会执行任何操作,只是它们不会修改信息。相较之下,根据HTTP规范,POST可能会修改服务器上的资源

        此外,GET和POST方法在使用上有一些明显的区别。例如,GET提交参数一般会显示在URL上,而POST通过表单提交,其内容则不会显示在URL上,因此POST更具隐蔽性。同时,GET请求可被缓存、保留在浏览器历史记录中、收藏为书签,但不应该在处理敏感数据时使用。相对地,POST方法不能被缓存、收藏为书签或保留在浏览器历史记录中。

        从实际应用的角度来看,由于GET请求把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,因此在URL中可以看到。与此相反,POST方法是通过HTTP post机制,将表单内各个字段与其内容一起传送到ACTION属性所指的URL地址,对于用户来说这个过程是看不到的。

        最后,需要注意的是,虽然理论上GET和POST方法都没有数据量限制,但实际上受浏览器、操作系统以及服务器的限制,GET传送的数据量较小,一般不能大于2KB;而POST传送的数据量较大,通常被默认为不受限制

请求相应介绍-HTTP响应格式:

HTTP 状态码分类

HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):

1XX 响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成则忽略它
2XX

成功-表示请求已经被成功接受,处理已完成

3XX 重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理
4XX 客户端错误--处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
5XX 服务器端错误--处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等
HTTP状态码列表:

JavaWeb知识点小结:_第1张图片

JavaWeb知识点小结:_第2张图片

JavaWeb知识点小结:_第3张图片

JavaWeb知识点小结:_第4张图片

 着重记住:

200:客户端请求成功

404:请求资源不存在,一般是URL输入有误,或者网站资源被删除了

500:服务端发生不可预期的错误

为什么使用lis请求参数t时一定要加上@RequestParm?

         在Spring MVC中,@RequestParam注解用于将请求参数绑定到方法参数上。当你使用List hobby作为方法参数时,Spring会自动将请求中的多个相同名称的参数值收集到一个列表中,并将这个列表作为hobby参数的值。

        如果不使用@RequestParam注解,Spring无法正确地将请求参数绑定到方法参数上。例如,如果你的请求URL是/listParam?hobby=reading&hobby=swimming,如果没有使用@RequestParam注解,那么hobby参数的值将会是一个包含两个字符串"reading"和"swimming"的列表,而不是一个只包含一个字符串"reading,swimming"的列表。

        因此,为了确保请求参数能够正确地绑定到方法参数上,你需要在方法参数前加上@RequestParam注解。

Spring框架中IOC中常用注解:

bean是什么?

        Bean 是一个由 Spring IoC(控制反转)容器管理的对象。Spring Boot 使用注解来定义和配置 Bean,这些注解包括 @Component@Service@Repository@Controller 等。

        当 Spring Boot 启动时,它会扫描项目中的类,查找带有特定注解的类,并将这些类实例化为 Bean。然后,Spring IoC 容器会管理这些 Bean,负责它们的生命周期和依赖注入。

 依赖注入的注解:

@Autowired:默认按照类型自动装配

如果同类型的bean存在多个:
  • @Primary 在同类型的类名之前,添加该注解,会提高该类的优先级
  • @Avutowired + @Qualifer("bean的名称")
  • @Resource(name="bean的名称")

一般bean的名称是使用类名的首字母小写的形式指定:类如我们有一个名为 UserService 的类,它可能包含一些业务逻辑方法。此时的bean名为:userService

@Resource 与 @Autowired的区别:
  1. 来源不同:@AutowiredSpring 框架提供的注解,而 @Resource 是 JDK(Java 开发套件)提供的注解,它来自于 JSR-250(Java 250 规范提案)。
  2. 默认注入方式不同:@Autowired 默认的注入方式是按类型(ByType),而 @Resource 默认的注入方式是按名称(ByName)。
  3. 支持的参数不同:@Autowired 注解只支持 byType 和 byName 两种方式的自动装配,而 @Resource 注解除了支持 byName 和 byType 外,还支持通过字段名或设置方法名来指定名称进行装配。

  4. @Autowired 还可用于类成员变量、方法及构造函数的标注完成自动装配的工作,而 @Resource 在语义上被定义为通过其唯一的名称来标识特定的目标组件,其中声明的类型与匹配过程无关。

在Spring框架中,Mapper、Service和Controller指的是:
  1. Mapper:Mapper是一个接口,用于定义数据库操作的方法。它通常与MyBatis框架一起使用,将SQL语句映射到Java方法上。Mapper接口中的每个方法对应一个SQL语句,通过传入的参数来执行相应的数据库操作。

  2. Service:Service是一个接口或类,用于处理业务逻辑。它通常包含一些业务方法,如添加、删除、更新和查询等。Service接口或类可以调用Mapper接口中定义的方法来完成具体的数据库操作。

  3. Controller:Controller是一个控制器类,用于处理HTTP请求。它通常包含一些处理请求的方法,如GET、POST、PUT和DELETE等。Controller类可以调用Service接口中定义的方法来完成具体的业务逻辑处理。同时,Controller类还可以返回视图(View)给客户端,展示数据给用户。

你可能感兴趣的:(maven,java)