Web知识点总结

目录

一,Web简介

二,Web分为三个主要部分

三,实体类

四,登录注册接口调试

1.使用的测试工具

2,一般接口测试

3,不同的请求参数

4,可将一个项目的所有需要调试接口保存在多个模块中

 5.文件上传接口测试

 五,异常处理

1,定义错误页面

2,自定义错误处理

3.自定义错误页面

4,接口专用错误处理类

六,Web知识点总结


一,Web简介

Web是指万维网(World Wide Web),它是一种基于互联网的信息系统,通过超文本传输协议(HTTP)来传输数据。Web的出现极大地改变了人们获取信息、交流和合作的方式,成为了互联网最重要的应用之一。

Web的特点包括:

  1. 超文本标记语言(HTML):Web页面的基本语言,用于创建文档的结构和内容。
  2. 统一资源定位器(URL):统一的资源定位符,用于指定互联网上资源的地址。
  3. 超文本传输协议(HTTP):用于传输Web页面和其他资源的协议。
  4. 网站和网页:互联网上的内容以网站和网页的形式存在,用户可以通过浏览器访问这些内容。

Web的发展经历了多个阶段,从静态网页到动态网页,再到移动Web和Web应用程序等。随着HTML5、CSS3和JavaScript等技术的不断发展,Web的功能和表现形式也得到了极大的丰富和扩展。

二,Web分为三个主要部分

  1. 客户端(Client):客户端指的是用户使用的设备,如PC、手机、平板电脑等。在Web中,客户端通常运行Web浏览器,通过浏览器向服务器请求Web页面或其他资源,同时将服务器返回的内容呈现给用户。

  2. 服务器端(Server):服务器端指的是Web应用程序运行的计算机,负责接收客户端请求并提供响应。服务器端通常通过Web服务器软件来处理请求,将请求转发到相应的Web应用程序,然后将Web应用程序返回的内容发送回客户端。

  3. 网络(Network):网络是客户端和服务器之间数据传输的媒介,可以是局域网、广域网或互联网。在Web中,网络扮演着将客户端请求和服务器响应传递的角色,确保数据能够在客户端和服务器之间传输。

这三个部分相互协作,构成了Web的基本架构。客户端和服务器端通过网络进行通信,客户端向服务器端请求Web页面或其他资源,服务器端接收请求并响应,最终将结果返回给客户端。

三,实体类

1,类图

2,相关注解

@MappedSuperclass
//JPA注解,用于实体类的父类,被标注的父类不是完整的实体类,不会映射到数据库,而是把其属性映射到子类的数据库列。因此被标注的类不能再标注@Entity或@Table
@Id
//JPA注解,声明该字段映射为数据库中的主键列
@GeneratedValue&@GenericGenerator
//JPA注解,通过stragegy属性声明主键的生成策略,MySQL中默认是自增AUTO(auto increment)其他还有TABLE、SEQUENCE、IDENTITY等,在本项目中使用自定义类型,则可使用generator = "uuid2"指定生成类型。
//第二个注解是自定义主键生成策略生成器,必须与第一个搭配使用,@GeneratedValue注解中的"generator"属性要与@GenericGenerator注解中name属性一致,strategy属性表示hibernate的主键生成策略
@Column
//指定数据库列的相关设置,比如各种约束如unique nullable等,还可指定创建列时的相关定义,比如本项目中指定类型binary
@Entity
//指定被注解的类为实体类,ORM则会把其映射到数据库的表,如果不手动设置表名则默认会把类名作为表名
@Temporal
//注解日期时间类型字段持久化到数据库时的存储精度,其枚举类型为TemporalType,枚举值有DATE日期、TIME时间、TIMESTAMP日期时间
@Getter&@Setter
//lombok注解,用于自动生成getter和setter 
@Transient
//注解字段,被注解的字段在ORM映射到数据库时会忽略,用于Java代码中一些辅助性的字段如常量等
@ManyToOne&@OneToMany&@ManyToMany
//注解实体关系,多对一、一对多、多对多,使用mappedBy属性指定主次关系,具体的规则请参考项目代码
@Table
//使用改注解自定义映射的表明,因为默认使用类名作为表名即可,所以该注解一般用于表名与关键字冲突的情况,比如本项目中的option关键字、或者电商系统中的order关键字

@JsonBackReference&@JsonManagedReference&@JsonIgnore
//在序列化的时候,@JsonManagedReference 注解的属性则会被序列化,@JsonBackReference 的注解将会被忽略
//@JsonBackReference 注解,通常说明这个字段是关联的一个双向引用字段,这个字段在这个双向引用的角色是 “孩子”。这个字段的值只能是对象(Bean),不能是集合、图、数组等
//@JsonManagedReference 注解,通常说明这个字段是一个双向引用的字段,这个字段在这个双向引用中的角色为 “父”,与这个字段对应的引用需要注解为 @JsonBackReference

四,登录注册接口调试

1.使用的测试工具
  • 一般的接口测试,在Edge或Chrome上使用PostWoman插件(Postman插件已下架)

  • 测试接口需要提交复杂json时,可使用在线json编辑器

  • 涉及到文件上传,必须安装Postman应用

  • 使用Chrome或Edge的开发者工具,可在网络面板中解析接口资源

  • 如需分析接口发送的数据,可安装fiddler,在请求过程中抓包

2,一般接口测试

    • ①选择请求方法,如GET、POST、PUT、DELETE等

    • ②输入接口请求地址

    • ③请求发送按钮

    • ④输入请求参数

    • ⑤响应得到的json数据

3,不同的请求参数

    • 上图1是@RequestBody注解的参数,类型是application/json,输入的参数为json格式

    • 上图2是@RequestParam注解的参数,类型是x-www-form-urlencoded,最常见的表单参数传递方式

    • 上图3是Get请求时的@RequestParam参数

4,可将一个项目的所有需要调试接口保存在多个模块中

 5.文件上传接口测试

 五,异常处理

1,定义错误页面

①添加首页(resources/templates/index.html)及相应Controller
    --添加控制器注解
    --添加index方法
    --添加路由注解
②添加404和500页面
③运行测试,分别访问首页、制造错误访问其他两个页面

2,自定义错误处理

①添加自定义异常类(业务异常类BusinessException和资源不存在异常类NotFoundException)
②添加统一的异常处理类PracticeExceptionHandler
    --使用ControllerAdvice注解把所有Controller作为切面统一提供错误处理功能
    --添加专门处理业务异常的方法,使用ExceptionHandler注解
    --添加通用的异常处理方法,使用ExceptionHandler注解
    --还可使用ModelAttribute注解添加全局数据

3.自定义错误页面

①添加Thymleaf依赖
②完成error页面
 

4,接口专用错误处理类

①添加handlers文件夹,并添加专用于RESTful接口异常的处理类ApiExceptionHandler
②使用注解指定处理的类型为RestController
③在内部定义一个类型ExceptionWrapper专用于包装异常信息
④添加异常处理方法,同样使用ExceptionHandler注解,返回异常包装类对象
⑥在完成接口开发后,制造异常以测试该异常处理类

六,Web知识点总结

  1. HTML:超文本标记语言(HTML)是Web页面的基本语言,用于创建文档的结构和内容。

  2. CSS:层叠样式表(CSS)用于定义Web页面的外观和样式。

  3. JavaScript:JavaScript是一种编程语言,用于创建交互式Web应用程序和动态效果。

  4. 客户端和服务器端:Web应用程序由客户端和服务器端两部分组成。客户端指的是用户使用的设备,如PC、手机、平板电脑等,通过浏览器向服务器请求Web页面或其他资源。服务器端指的是Web应用程序运行的计算机,负责接收客户端请求并提供响应。

  5. HTTP协议:超文本传输协议(HTTP)是Web上数据传输的标准协议。客户端和服务器之间的通信都是通过HTTP进行的。

  6. URL:统一资源定位符(URL)是Web上资源的地址。URL指定了Web页面、图像、视频、音频等资源的位置和名称。

  7. 网页设计:网页设计是指将HTML、CSS、JavaScript等技术应用于创建美观、易用和有效的Web页面的过程。

  8. 响应式设计:响应式设计是指创建能够适应各种设备和屏幕大小的Web页面,以提供最佳的用户体验。

  9. Web应用程序:Web应用程序是指运行在Web浏览器中的应用程序,包括在线购物、社交网络、在线游戏等。

  10. SEO:搜索引擎优化(SEO)是一种优化Web页面以获得更高排名和流量的技术。

  • 32
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值