欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > javaweb的基础

javaweb的基础

2024/12/22 0:36:40 来源:https://blog.csdn.net/zq021011/article/details/143782584  浏览:    关键词:javaweb的基础

文章的简介:

页面的展示(HTML)+页面的修改、绑定、弹窗(js的dom、bom等)+页面的请求(Ajax)

1、在HTML中用标签css样式实现了浏览器页面。

2、用JS实现页面内容(图片,复选框、文本颜色内容)的修改弹框(提示是否取消)、跳转(跳转到别的页面)、事件绑定(点击点亮按钮,灯亮。点击熄灭按钮,灯灭)。Ajax主要是发送请求,访问服务器。

3、前后端代码需要编写、打包和部署。

前端编写用HTML、css、JavaScript(工具VScode),后端用java和Python语言(工具IDEA)。

前端打包使用vscode的build命令来打包,后端在IEDA中使用maven的package来打包。

前端代码部署在nginx服务器,后端部署在tomcat这个web服务器上。

资料存放位置:

一、HTML

(一)、新浪新闻的页面设计-标签和样式

1、设计步骤

  • 新浪新闻的页面标签设计(标题和正文):h1、span、p等
  • 新浪新闻的样式设计:<style>  h1{}........</style>
  • 新浪新闻的页面布局(css盒子模型):div

2、设计框架

3、小结

1、标签的标准属性和自定义属性

img:src、width、height

a:href、target

id和class属性来代替自定义属性

2、标签和属性

标签:<title>、<h1>、<div>、<img>、<hr>、<span>、<audio>、<p>、<b>、<strong>

属性:color、font-size、text-decoration、text-indent、line-height、text-align、width、margin

3、Css选择器(内嵌样式)

标签名{}

.class名{}:引用<p class="class名">

#id名{}引用<p id="id名">

4、标签的样式要不就是行内样式,要不就写在style标签中进行引用(内嵌样式)。

 

(二)、表格、表单

1、创建一个表格

2、提交一个表单

(1)get的提交方式

(2)post的提交方式

3、表单项

二、JS

变量和对象都是用来存储数据的容器。变量可以存储各种基本数据类型的值,对象则是一种更复杂的数据结构,并通过属性和方法的形式进行存储和访问。

1、js用来控制网页行为的

(一 )js的基本语法

(1)基本语法

(2)变量

(二)js函数

(三)js对象

1、js对象-数组

2、js对象-String

3、js对象-Json

(1)json格式化校验

JSON格式化

(2)json的格式

user是js对象,{}里是json字符串或者叫对象属性。

var user = {"name": "张三","age": 18,"addr": ["北京", "上海", "杭州", "郑州"]
};// 将 user 对象转换为 JSON 字符串
var jsonStr = JSON.stringify(user);// 再将 JSON 字符串解析为对象
var obj = JSON.parse(jsonStr);alert(obj.name);

4、js对象-BOM

实现浏览器的弹出框操作和页面的跳转

(1)BOM浏览器对象,主要了解Window和location对象

(2)Window的属性和方法

5、js对象-DOM

实现了页面内容的修改

(1)获取对象元素的方法

(2)dom实现案例

(四)js事件监听

1、js事件绑定案例

2、常见绑定事件

(五)VUe

1、vue概述

(1)v-model指令

message是数据模型

2、Vue指令:v-bind、v-model、v-on

(1)v-bind和v-model

 (2)v-on

3、vue指令-完成表格数据的渲染案例

4、vue-生命周期

(六)、Ajax

1、Ajax的介绍

(1)基础知识

(2)yapi的访问方法

服务端访问程序中提供了两个访问地址 ,分别为 : 
    
    GET http://localhost:8080/emp/list

    POST http://localhost:8080/emp/deleteById

(3)原生Ajax代码

2、Axios

(1)axios发送请求

(2)axios案例

3、前端工程化

(1)yapi是接口管理平台,网址如下:

YApi Pro-高效、易用、功能强大的可视化接口管理平台

4、前端工程化-环境准备

(1)安装nodejs和vue cli

5、前端工程化-Vue项目

(1)、新建vue工程

新建一个vue文件夹

在vue文件地址栏输入“cmd”

在命令提示界面输入“vue ui”

(2)运行前端项目vue-project

(3)修改端口号

5、前端工程化-vue开发流程

在vscode中打开vue项目:

文件-新建窗口-资源管理器-打开文件夹-vue

(七)element介绍

1、element快速入门

(1)安装和引入element组件库

Element - The world's most popular Vue UI framework

(2)按钮

(2)表格

shift+alt+f将代码格式化

(2)pagination分页

erro:

npm运行不了

2、element页面布局案例

3、vue路由

4、打包部署

实现将 VSCode 相关页面通过 Nginx 服务器localhost:90进行访问。(vscode的代码复制到了nginx的HTML目录下了)

该过程需要打开两个服务器(yapi和nginx)

  • 打不开nginx .exe
  • 查看后台运行nginx吗
  • 查看logs文件夹,表示端口号占用错误
  • 查看哪个系统使用80端口号-system
  • 修改nginx占用的端口号,在conf文件夹修改
  • 可以成功访问localhost:90。(记得打开yapi服务器)

5、前端页面显示的完整流程

三、maven

1、Maven的课程介绍

(1)maven是一款管理和构建java项目的工具

(2)mavan的作用:

依赖管理:不用手动导入jar包

项目结构:

2、maven的安装

  • 直接解压 apache-maven-3.6.1-bin.zip 。(将这个文件夹存放在develop目录,不带英文)
  • 配置本地仓库
  • 配置阿里云私服
  • 配置maven环境变量

3、IDEA集成maven

  • 配置maven环境
  • 创建maven项目
  • 导入maven项目

(1)配置maven全局环境

(2)创建maven项目

创建一个maven项目时,会有很多插件,这些插件都保存在本地仓库目录

(3)导入maven的方法

  • 先复制maven-project02
  • 右击maven-project01,点击open in-Explorer
  • 粘贴maven-project02到打开的目录
  • 点击maven面板的“+”,打开maven-project02的“pom.xml”

4、maven依赖管理

5、依赖传递

6、依赖范围

(1)scope的多种取值

7、maven的生命周期

(1)maven生命周期的阶段

(2)执行生命周期的方法

package和compile双击执行后,在target目录可以看到

(3)执行test阶段的方法(双击)

8、SpringBootWeb入门

  • 创建springboot工程,填写模块信息,并勾选web开发相关依赖
  • 创建请求处理类HelloController,添加请求处理方法hello,并添加注解
  • 运行启动类,打开浏览器测试

(1)创建springboot工程

(2)编写请求处理类

(3)运行springboot

9、http的请求协议

(1)get请求

(2)post请求

10、http的响应协议

11、web服务器-tomcat

(1)使用web服务器tomcat打开表格页面的方法:(将demo文件部署到tomcat服务器)

  • 先解压apache-tomcat-9.0.27

  • 将demo文件复制到apache-tomcat-9.0.27的webapps文件夹(demo含表格页面)

  • 启动tomcat

  • 浏览器输入http://localhost:8080/demo/index.html就显示表格页面

(2)查进程id并修改tomcat的端口号

如果tomcat的端口被占用,且只能修改tomcat的端口,在conf/server.xml中修改。

(3)tomcat小结

12、springboot内嵌tomcat

内嵌了tomcat,通过main方法启动springboot时启动了tomcat,并访问了部署在里面的web程序

基于springboot来web程序的开发

四、请求响应

准备:

develop放置安装的工具,如maven,tomcat

code中放置的IDEA代码

javaweb document放置的每章节的资料

1、请求响应-概述

2、请求响应-postman工具

(1)向8081端口发送请求

(2)、服务器监听端口的修改

多个服务器同时使用同一个端口会冲突,要访问服务器时要启动服务器。

  • springboot端口修改路径(main-resources-application.properties)
  • tomcat端口修改路径(develop-conf-server.xml)
  • yapi服务器的端口(8080)

(3)localhost:8080的含义

访问你所开发的 Spring Boot 应用所提供的 Web 服务(8080端口此时被springboot占用)

3、请求响应-请求-简单参数和实体参数

(1)原始方式

在原始web程序中,获取请求参数,要通过HttpServletRequest对象手动获取

(2)springboot方式

参数名与形参变量名相同,定义形参既可接受参数

(3)映射方式

(4)实体参数

4、请求-路径参数

(1)/path/{id}

(2)小结:

5、请求响应-响应

  • 响应字符串
  • 响应对象
  • 响应集合

(1)响应 集合案例

(2)三个响应类型的对比

(3)统一响应结果

6、请求响应-响应-案例

难点:两个路径:一个用于处理数据请求,另一个用于展示用户界面

需求:获取员工数据,返回统一响应结果,在页面渲染

  • 在pom.xml文件中引入dom4j的依赖,用于解析xml文件
  • 引入资料中提供的解析xml的工具类XMLParserUtils、对应的实体类Emp、XML文件中的emp.xml
  • 引入静态页面文件,放在resourses下的static目录下
  • 编写EmpController程序,处理请求,响应数据。

(1)新建工程和maven模块

(2)Emp

(3)EmpController

(4)响应结果

7、三层架构

  • Controller层:控制层,接收前端请求,处理请求,返回响应数据
  • Service层:业务逻辑层,处理具体逻辑(gender,job)
  • Dao层:数据访问层。(如解析emp.xml)

(1)dao目录

EmpDao接口:listEmp方法

EmpDaoA类:实现EmpDao接口,listEmp方法解析epm.xml

empList变量:存解析的员工列表

(2)Service

EmpService接口:listEmp方法

EmpServiceA类:实现EmpService接口,listEmp方法(调用EmpDaoA类的listEmp方法,数据处理,返回数据empList变量)

empList变量:存处理后的员工列表

(3)controller

EmpController类:list方法(1、调用EmpServiceA类的listEmp方法 2、响应数据empList变量)

8、分层解耦

本节概要:

(1)EmpDaoA

(2)EmpServiceA

(3)EmpController类

(4)运行界面展示

(3)判断是否解耦成功

9、分层解耦-IOC&DI-IOC详解

(1)四种IOC容器注释:声明bean

注释后bean名默认为类的首字母小写,即对象名为类名首字母小写。(可修改)

如:@Service("serviceA"),此时EmpServiceA类的对象名为serviceA

(2)EmpDaoA声明bean:Repository

(2)EmpService类声明bean:Service

(3)查看IOC容器中默认的bean名

10、分层解耦-IOC&DI-IC详解

  • service层有两个类,A和B
  • IOC容器有两个service层对象,不处理会报错
  • DI依赖注入时,通过@Primary、@Qualifier、@Resource来解决

(1)Primary方法解决一个层多个类对象注入问题

五、数据库MYSQL

1、数据库介绍

(1)什么是数据库

SQL-数据库管理系统-数据库-数据的控制

(2)数据库产品

Orcle、MYSQL等

2、安装mysql

  • 解压mysql安装包
  • 配置mysql环境变量、初始化mysql,注册mysql服务、启动mysql服务、修改mysql账户密码
  • 登录mysql:root 123456
  • 卸载mysql

(1)解压安装包

(2)配置mysql

(3)登录mysql

3、mysql的数据模型

(1)访问本地mysql服务器:mysql的客户端连接mysql的服务器

(2)SQL的语法

  • SQL语句怒区分大小写
  • SQL语句以分号结尾

(3)SQL的分类

4、MYSQL-DDL-数据库操作(增删查用)

5、MYSQL-DDL-图形化工具

(1)mysql客户端工具的缺点:

(2)mysql图形化工具

  • SQLyog
  • Navicat
  • DataGrip
  • IDEA

(3)在IDEA中连接mysql数据库

6、MYSQL-DDL-表操作(增删改查)

(1)创建表-字段无约束

(2)创建表-字段有约束(注意字段的值唯一和非空)

  • 约束关键字
  • 案例

(2)字段的数据类型

MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

(3)创建tb_emp表(员工表)

(4)查询和修改、删除tb_emp表

(5)DDL小结

注:是alter

7、MYSQL-DML-数据操作(增删改)

(1)添加数据insert

(2)修改数据update

(3)删除操作delete

(4)DML小结

8、MYSQL-DQL-表查询(查)

(1)基本查询

(2)条件查询(表,查询的字段,查询的条件)

(3)聚合函数

(4)分组查询

(5)排序查询

(6)分页查询

(6)小结

9、MYSQL-DQL案例

(1)案例一:分页查询

分析:

1、输入员工姓名(模糊匹配)、员工性别(精确查询)、入职时间(范围查询)

2、分页查询(每页10条记录)

3、查询结果,根据更新时间倒序排序

(2)案例二:统计男女员工的人数

分析:

1、性别分组

2、统计分组后的员工数量

3、将gender的1和2转换处理

4、查询女性和男性员工的统计值(count(*))

(3)案例三:

10、MYSQL-多表设计---一对多

(1)表的结构

(2)案例:两个表结构设计

需求:根据页面原型和需求文档,完成部门和员工模块的表结构设计

  • 1、创建一个tb_dept表

2、修改tb_empt表结构

(3)一对多--外键约束(物理外键)

1、插入两个表的数据(上一步已完成)

2、删除tb_dept表的id=1的数据

3、为tb_emp表添加一个外键,外键的字段是dept_id

4、tb_dept中删除id=1和id=5分别查看是什么情况

5、小结

11、MYSQL-多表设计---一对一

案例:用户与身份信息的关系

关系:一对一关系,将一个表拆分成两个表,可以提高操作效率。

实现:在一个表tb_user_card中加入外键user_id,关联另一个表tb_user的主键id。

(1)创建tb_user表(文件夹有)

(2)创建tb_user_card

该表的外键是user_id。

12、MYSQL-多表设计-多对多(中间表)

案例:学生与课程的关系

关系:一个学生可以选多门选修课,一门课程可以供多个学生选择

实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

(1)创建tb_student

(2)创建tb_course

(3)创建tb-student_course

(4)3张表的关系图

13、MYSQL-多表设计-案例(苍穹外卖)

(1)案例要求:设计合理的表结构

根据苍穹外卖页面原型,设计分类管理、菜品管理、套餐管理模块的表结构.

(2)打开苍穹外卖项目的页面

(3)案例步骤

分类管理和套餐管理一对多,分类管理和菜品管理是一对多,套餐管理和菜品管理是多对多。

(4)模块的关系图

(5)分类表的设计category

(6)菜品表的设计dish

(7)套餐表设计

(8)套餐菜品中间表

(9)小结

14、MYSQL-多表查询-概述

(1)在db04数据库下创建两个表tb_dept和tb_emp

(2)单表查询和多表查询

多表查询出现笛卡尔积现象,会有无效数据。

(3)加上筛选条件消除无效的笛卡尔积。

(4)小结

(5)下节预习

15、MYSQL-多表查询-内连接(公共部分)

16、MYSQL-多表查询-外连接

(1)左连接

(2)右连接

17、MYSQL-多表查询-子查询

(1)标量子查询1

(2)列子查询

重点:in

(3)行子查询

(4)表子查询

18、MYSQL-多表查询案例

(1)category和dish表

(2)

(3)

(4)

(5)

(6)三表联查

19、MYSQL-事务-概述

(1)需求:学工部整个部门解散了,该部门和部门下的员工都要删除(两个表间有物理外键)

这个是两个事务,当部门删除成功,员工删除失败,则数据就不一致对应了。即不同时不同步。

(2)事务概念

使用事务与使用其他方法解散部门的区别

事务案例:

20、MYSQL-事务-四大特性

原子性、一致性、隔离性、持久性

21、MYSQL-事务-索引

(1)索引的操作语法

  • 创建索引
  • 查看索引
  • 删除索引

(2)索引概念

索引是帮助数据库高效获取数据的数据结构,相当于一个目录。

(3)索引优缺点

(4)索引的结构

(5)小结

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com