当前位置: 首页 > article >正文

学习笔记:黑马程序员JavaWeb开发教程(2024.10.27)

P3 Day01-02

    需要记住:

P4 Web前端开发

P34 Ajax介绍

    对于异步交互的举例:浏览器中输入不同的关键词,会有不同的提示,但是浏览器没有进行刷新

    同步,会进行等待,在浏览器中访问链接,点击网页什么的,都是同步。异步不用等待服务器响应,可以执行其他操作

    原生的Ajax进行操作时,主要分三步,第一步创建XMLHttpRequest对象,来和服务器端进行数据交换;第二步调用其中的open方法来设置请求方式和请求路径,并且调用send方法来发送异步请求;第三步获取服务器端响应的数据,需要监测XMLHttpRequest的状态变化,一旦状态发生变化,就触发写好了的函数,函数当中的条件成立,说明请求成功,就可以拿到服务器端响应的数据,并且奖响应回来的数据,填充到div1这个div区域中。

    程序可以参考W3C中的参考手册,为什么是4和200.在参考手册中的Ajax的对象属性中写了

    在代码中常见document.getElementById,这样的方法使用,其中document是一个接口

3.2 Axios2

    Axios是对Ajax的封装,简化书写,快速开发

    如何使用Axios:使用script引入Axios的js文件<script src=”js/axios-0.18.0.js”></script>,使用Axios发送请求,并获取响应结果,使用get方式需要传递参数,可以在url后面通过?key:values的方式来传递参数;post请求,的请求参数是在请求体中传递的,在Axios中,使用date来传递所传递的请求参数。

       获取服务器端响应回来的数据,要加上.then,在里面加上函数,课程使用的是箭头函数的的形式,在Ajax请求成功后,自动调用该函数。

       Result.date中拿到result中的date属性,而date属性中就封装了来自服务器端响应回来的数据

       实操的时候,发现给的URL用不了,会导致接口错误

    为了简化书写,Axios提供了请求方式别名

    案例的URL也用不了,新的URL:https://yapi.pro/mock/401965/user/getById

    在老师14:28的演示中,有表头和数据,但是自己拿案例代码跑出来只有表头,原因是因为自己的案例代码中没有名字为tom的那个数据代码

    在vue中发送异步请求,只要使用他生命周期中的钩子函数就行

       因此声明一个钩子函数mouted,在里面发送异步请求,加载数据即可(钩子函数补充如下)

    使用上面学到的axios方法得到数据,之后将数据赋值到emps

       This.emps = result.date.date//站立是将当前vue对象的emps被数据赋值

    整个的流程,先创建vue对象,vue对象创建完成并且挂载完毕之后,会自动触发这个钩子函数,在钩子函数中发送异步请求,并且加载数据,然后将加载的数据赋值到数据模型emps

    接下来使用v-for来遍历展示emps中的数据,使用插值表达式的形式输出数据;图像不能使用插值表达式,要使用属性绑定v-bind;性别展示因为1展示为男,使用用条件表达式v-if

    自己写代码的时候,出现了一些小错误,比如拼写什么的

       Img :src因为是img v-bind:src的简写,在这里写的时候,src前面多写了一个空格,然后出现报错

3.3 前端工程化

3.4 前端工程化-环境准备

    NodeJS安装失败了,直接跳过前端从P50开始看了

4.1 maven课程介绍

4.2 maven-概述-介绍&安装

4.3 maven-idea集成-配置及创建

4.4 idea集成-导入maven项目

4.5 maven-依赖管理-依赖配置

    评论区有一个评论说,现在的版本和老师的版本不一样,会报错,全部下载最新的就行,但是下载最新的maven也就是maven3.9之后,还是出现了报错

    经过一番排查下来,发现自己用的是idea2019,应该是和maven3.9不适配,改成maven3.6之后就没问题了

    现在的配置是idea2019+Java8+maven3.6

4.6 maven-依赖管理-依赖传递

    A依赖B,B依赖C,B中的依赖也会传递到A,也就是C会到A

    当A不需要C的时候,可以通过<exclusion>这个标签排除依赖

4.6 maven-依赖管理-依赖范围

4.7 maven-依赖管理-依赖范围

    Maven默认的打包时不会把依赖打包进来,注意范围是被分为了主程序、测试程序、打包(运行)

4.8 maven-依赖管理-生命周期

    生命周期不是一根线,是分为好几套生命周期,生命周期下面又有一些阶段

    在一套生命周期中,必须先运行前面的再运行后面的,后面的依赖于前面

    在文件目录下输入cmd,可以在该文件目录下执行命令行指令

    Maven本质是一个插件执行框架,他的工作但是由插件完成的

4.9 web入门-课程介绍

4.10 web入门-springBootWeb-快速入门

    pring Initializr Error

Initialization failed for "https://start.aliyun.com/

Please check URL, network and proxy settings.

Error message:

Error parsing JSON response

    在创建项目的时候,因为已经到2024年,更新到不能使用Java8,因此选择换用阿里云镜像源,但是使用阿里云镜像源还是出问题,以为idea设置的问题,更改设置后,仍然失败;怀疑是校园网的问题,换成手机热点之后还是有问题,最后在评论区得到答案:idea2020之前的都不能用阿里云的镜像源

    在重装的过程中,发现,装了Java17之后,java -version之后,出现了的Java8版本,但是在这个时候,已经删除了Java8在path和JAVA_HOME中的环境变量经过排查之后发现,jdk1.8安装时会自动配置一个环境变量在path里并置顶了,所以只需要把自己配置的jdk17的环境变量上移到jdk1.8自动配置的环境变量之前即可

    重装之后,版本是idea2023+maven3.9+springboot3.3.4,暂时没有再出现由于版本不相同导致的报错

    加上@RestController之后,就从普通类变成了请求处理类

    还要指定方法处理的是那个请求,@RestquestMapping(/”hello”),这句话的意思是浏览器请求/hello这个地址,最终会调用这个方法

    启动程序需要运行启动类中的main方法

   运行时报错:ERROR 17792 --- [springboot-web-quickstart] [           main] o.s.b.d.LoggingFailureAnalysisReporter  

       原因是8080端口被占用,结束进程就可以了

4.11 Web入门-HTTP协议-概述

4.12 Web入门-HTTP协议-请求协议

4.13 Web入门-HTTP协议-响应协议

4.14 Web入门-HTTP协议-协议解析

    HTTP协议的解析,就是根据HTTP的请求格式来解析请求数据,以及响应数据,应该分为两部分,一部分是在客户端响应,一部分是在服务端响应。对于客户端浏览器,各大厂商已经提供了内置的解析http协议的程序。

    作为服务端开发工程师,应该做的是开发Java程序来接收客户端浏览器发起的请求并获取请求数据,再参照http协议的请求数据格式,对请求数据解析解析,给浏览器响应对应的数据

    在服务器端,如何解析HTTP数据,并响应数据:浏览器发送HTTP请求,通过ServerSocket来接收客户端的请求

4.15 Web入门-Tomcat-介绍

    Tomcat用的是10


http://www.kler.cn/a/379067.html

相关文章:

  • el-table 滚动条重置 手动控制滚动条
  • channel error 报错【已解决】
  • [C++ 核心编程]笔记 4.3.1 成员变量和成员函数分开存储
  • 【HarmonyOS】引导用户跳转APP设置详情页开启权限
  • 气膜冰雪项目:推动冰雪运动发展的新纪元—轻空间
  • Vuex的基本使用
  • 心情追忆-AI分析报错
  • sklearn|机器学习:决策树(一)
  • 详解RabbitMQ三种队列类型
  • 两秒掌握git
  • laravel: Breeze 和 Blade, 登录 注册等
  • 使用 Elasticsearch 进行语义搜索
  • vue3-ref 和 reactive
  • Android Livedata源码解析
  • JVM问题排查分析
  • 探索开源语音识别的未来:高效利用先进的自动语音识别技术20241030
  • 刘艳兵-DBA016-在您的数据库中,SALES表存在于SH用户中,并且启用了统一审计。作为DBA,您成功执行了以下指令:
  • 《Python网络安全项目实战》项目2 Python基础练习_总复习(1)
  • Vscode使用launch.json进行传参调试代码
  • 进程间通信Linux
  • 如何更新已经发布的 NPM 组件库
  • 青春的海洋:海滨学院班级回忆录项目
  • Rust 力扣 - 54. 螺旋矩阵
  • Python小游戏19——滑雪小游戏
  • 引领数字时代:万码优才如何变革IT人才招聘新体验(这里有更精准的推荐)
  • 电赛入门之软件stm32keil+cubemx