Web开发介绍1 什么是web开发Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。
所以Web开发说白了,就是开发网站的,例如下图所示的网站:淘宝,京东等等
那么我们知道了web开发是开发网站的,那么我们需要学习哪些知识呢?以及这些知识在我们整个网站开发中占据什么位置呢?对于这些问题,我们就必须知道网站整体的工作流程。
2 网站的工作流程接下来我们先来看看网站的工作流程,这样才能在我们的脑海中构建初步的知识架构体系。
1.首先我们需要通过浏览器访问发布到前端服务器中的前端程序,这时候前端程序会将前端代码返回给浏览器。如下图所示:
2.浏览器得到前端代码,此时浏览器会将前端代码进行解析,然后展示到浏览器的窗口中,这时候我们就看到了网站的页面,如下图所示:
3.但是此时这个页面是没有数据的,因为数据在我们的数据库中,所以我们浏览器需要根据前端代码中指定的后台服务器的地址 向 我们的后台服务器(内部有java程序)发起请求,后台服务器再去从数据库中获取数据,然后返回给浏览器。
4.浏览器拿到后台返回的数据后,然后将数据展示在前端资源 ...
1. 前端开发介绍前端开发,主要的职责就是将数据以好看的样式呈现出来。说白了,就是开发网页程序,如下图所示:
主要明确一下三个问题:
1). 网页有哪些部分组成 ?
文字、图片、音频、视频、超链接、表格等等。
2). 我们看到的网页,背后的本质是什么 ?
程序员写的前端代码 (备注:在前后端分离的开发模式中,)
3). 前端的代码是如何转换成用户眼中的网页的 ?
通过浏览器转化(解析和渲染)成用户看到的网页
浏览器中对代码进行解析和渲染的部分,称为 浏览器内核
不同的浏览器,内核不同,对于相同的前端代码解析的效果也会存在差异。
就需要定义一个统一的标准,然后让各大浏览器厂商都参照这个标准来实现即可。 而这套标准呢,就是web标准。
Web标准也称为网页标准,由一系列的标准组成,大部分由W3C( World Wide Web Consortium,万维网联盟)负责制定。由三个组成部分:
HTML:负责网页的结构(页面元素和内容)。
CSS:负责网页的表现(页面元素的外观、位置等页面样式,如:颜色、大小等)。
JavaScript:负责网页的行为(交互效果)。
2. HTM ...
这两段代码是 Spring Boot 电商项目中实现「登录权限校验」的核心拦截器代码。简单来说,它们的作用是:拦截所有请求,检查用户是否登录,没登录就不让访问受保护的接口。
第一段代码:AppInterceptor.java(核心拦截逻辑)这是拦截器的「大脑」,负责具体的登录校验逻辑。
1. 类上的注解和接口12@Component // 把这个类交给 Spring 管理,变成 Spring 的一个「Bean」(可以理解为 Spring 能直接用的工具)public class AppInterceptor implements HandlerInterceptor { // 实现 HandlerInterceptor 接口,这是 Spring MVC 拦截器的标准接口
@Component:告诉 Spring:“这个类是我的组件,你帮我管理它,我后面要用到它。”
HandlerInterceptor:Spring MVC 提供的拦截器接口,有 3 个方法(我们主要用第一个)。
2. 白名单常量12private final static String URL_ACCOU ...
【类加载器反射】第一章 类加载器1.1 类的加载时机类(类的.class文件)的加载时机
1. 创建类的实例。
2. 类的静态变量,或者为静态变量赋值。
3. 类的静态方法。
4. 使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。
5. 初始化某个类的子类。
6. 直接使用java.exe命令来运行某个主类。
1.2 类的加载器12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879/* 类加载器: 1.作用: 负责把.class文件加载到内存的方法区中. 将class文件(硬盘)加载到内存生成Class对象。 2.组成: (1)BootstrapClassLoader 根 ...
day10【File&IO】第一章 File类1.1 File类的概述
先问大家一个问题,目前你写代码时存储数据,可以用哪些方案?
可以是变量、可以是数组、可以是对象、可以是集合,但是这些数据都是存储在内存中的,只要程序执行结束,或者断点了,数据就消失了。
不能永久存储。
有些数据要长久保存,该怎么办呢?
可以将数据以文件的形式存在硬盘里,即使程序结束了,断点了只要硬盘没坏,数据就永久存在。
而现在要学习的File类,它的就用来表示当前系统下的文件(也可以是文件夹),通过File类提供的方法可以获取文件大小、判断文件是否存在、创建文件、创建文件夹等。
但是需要我们注意:File对象只能对文件进行操作,不能操作文件中的内容。
123456java.io.File类: 用来描述计算机中文件/文件夹/路径的 文件和目录路径名的抽象表示形式。 文件: 用file表示,用来存储数据的 文件夹/目录: 用directory表示,用来存储文件的,管理文件的 路径/地址: 用path表示,用来唯一确定文件/文件夹的具体存储位置 windows系统中,文件/文件夹的路径中有\,但是在j ...
DTO包解释先整体说一下这个类的作用这是一个 DTO(Data Transfer Object,数据传输对象),专门用来接收前端传来的“保存商品”的完整数据。
类比一下:
就像你在电商后台“发布新商品”时,填的那张大表单(包含商品基本信息、颜色/尺码属性、库存价格等)
这个类就是把那张表单的所有数据,打包成一个Java对象,方便后端接收和处理。
1. 包声明(第一行)1package com.easymall.entity.dto;
作用:告诉Java这个类放在哪个“文件夹”里(逻辑上的文件夹)。
含义拆解:
com.easymall:公司/项目名(这里叫“易商城”)
entity:实体相关的大目录
dto:专门放“数据传输对象”的子目录(和数据库表对应的PO分开)
小白理解:就像你的文件整理在 D:\易商城项目\实体类\传输数据包\ 下面。
2. 导入包(import 部分)123import com.easymall.entity.po.ProductInfo;import com.easymall.entity.po.ProductPropert ...
1.实现多线程1.1了解是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能。
1.2并发和并行
并行:在同一时刻,有多个指令在多个CPU上同时执行。
并发:在同一时刻,有多个指令在单个CPU上交替执行。
1.3进程和线程
进程:是正在运行的程序
独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的并发性:任何进程都可以同其他进程一起并发执行
线程:是进程中的单个顺序控制流,是一条执行路径
单线程:一个进程如果只有一条执行路径,则称为单线程程序
多线程:一个进程如果有多条执行路径,则称为多线程程序
Java提供了几种创建线程的方式
1.4实现多线程方式一:继承Thread类
方法介绍
方法名
说明
void run()
在线程开启后,此方法将被调用执行
void start()
使此线程开始执行,Java虚拟机会调用run方法()
实现步骤
定义一个类MyThread继承Thre ...
一、 整体认识:这是个什么文件?这是一个 Spring Boot 后端项目中的“控制器(Controller)”。
作用:它就像一个“前台接待员”,专门负责接收浏览器/前端发来的请求(比如“给我看看商品分类列表”、“我要新增一个分类”),然后调用后台的“业务员(Service)”去干活,最后把结果返回给前端。
管理内容:这个类主要管两件事:商品分类(比如“手机”、“电脑”这种分类)和 商品属性(比如“颜色”、“尺寸”这种规格)。
三、 类的定义:给“接待员”挂牌123456/** * Controller */@RestController("sysCategoryController")@RequestMapping("/sysCategory")public class SysCategoryController extends ABaseController {
@RestController:
它告诉 Spring Boot:“这是一个控制器类,而且我返回的数据直接是 JSON 格式(给前端 App 或网页用的 ...
day09 lambda和Stream第一章 Lambda表达式1.1 函数式编程思想(注意:不能是抽象类,只能是接口) 而且接口中只能有一个抽象方法
像这样的接口,我们称之为函数式接口,只有基于函数式接口的匿名内部类才能被Lambda表达式简化。
12345678/* lambda表达式书写规则: 使用匿名内部类的方式中,只保留覆盖重写后方法的()和{},在()和{}之间,添加->,其它全部省略 可以推导,就是可以省略 行为参数化 lambda表达式是对 匿名内部类的简化书写格式 */
1.2 Lambda表达式作用:用于简化匿名内部类代码的书写。
123(被重写方法的形参列表) -> { 被重写方法的方法体代码;}
123456789101112131415/* Lambda表达式的标准格式 1.lambda表达式的组成 (1)一个箭头: -> (2)一些参数: ...
1. 方法注释2. 请求映射注解1@RequestMapping(value = "/checkCode")
含义:这是 Spring Web 框架中的注解。
作用:它告诉 Spring 框架,当用户访问 URL 地址(比如 http://你的域名/checkCode)时,就执行下面这个 checkCode 方法。
3. 方法定义4. 生成验证码对象1ArithmeticCaptcha captcha = new ArithmeticCaptcha(100, 42); //验证码的长度和宽度
含义:这行代码创建了一个算术验证码对象。
ArithmeticCaptcha:这是一个第三方库(通常是 EasyCaptcha)里的类,专门用来生成“加减乘除”类型的验证码(例如:3+5=?)。
new ArithmeticCaptcha(100, 42):构造函数,设置生成的验证码图片的宽度为100像素,高度为42像素。
5. 获取验证码的答案1String code = captcha.text();
含义:获取这道算术题的正确答案。
captcha.text() ...
🔥 热搜
加载中...







