JavaWeb

JavaWeb

配套资料

1.javaweb介绍

web:网站

javaweb:用java来写网站

2.mysql

2.1mysql的安装

mysql在命令行中的命令:

mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -p端口号(默认3306)

2.2mysql数据模型

image-20220919210918101

image-20220919210952046

3.SQL语句

3.1sql简介

image-20220919211151509

3.2sql通用语法

image-20220919211524330

3.3sql分类

image-20220919211723617

image-20220919211836985

3.3.1DDL数据定义语言
DDL操作数据库

1.创建数据库

create database 数据库名字;

2.删除数据库

drop database 数据库名字;

3.如果数据库存在就删除数据库

drop database if exists 数据库名字;

4.DDL****操作数据库

image-20220919212319466

DDL操作表

1.创建表

image-20220919213448090

2.数据类型

image-20220919221400114

3.删除表

image-20220920092119483

4.修改表

image-20220920091827575

desc:指定按列降序

asc:指定按列升序

navicat的安装和使用 (22.9.20)

设计表是对字段名字和类型进行更改

查询表 可以写一些sql语句

3.3.2 DML数据操作语言

image-20220920110736252

image-20220920111348895

image-20220920111416961

3.3.3 DQL
基础查询

image-20220920211949819

条件查询

image-20220920212339750

排序查询

image-20220920212619984

聚合函数

image-20220920212918249

count:统计数量

*取值:

1.主键

2.推荐使用*

分组查询

image-20220920213354268

分页查询

image-20220920213931237

4.约束(暂停)

4.1概念和分类

image-20220920214911159

约束的代码实现方式

image-20220920215225795

外键约束

image-20220920220752515

image-20220920220946247

5.数据库设计(22.9.21)

5.1数据库设计简介

image-20220921092031080

5.2表关系

image-20220921094239864

image-20220921094458829

表关系之一对多

image-20220921094623195

表关系之多对多

image-20220921094929138

表关系之一对一

image-20220921095203953

实现关系

image-20220921095233861

5.3多表查询

image-20220921095844618

内连接

image-20220921100027380

外连接

image-20220921100338921

子查询

image-20220921101035821

image-20220921104342896

案例

image-20220921110053911

5.4 事务

事务简介

image-20220921110218269

事务的四大特征

image-20220921111023812

6. JDBC

6.1JDBC简介

image-20220921111956021

6.2JDBC快速入门

步骤

image-20220921112131931

6.3 API详解

DriverManager作用

image-20220921140251792

image-20220921140321428

Connection 作用

image-20220921140855236

image-20220921140956279

Statement

image-20220921143631615

ResultSet作用

image-20220921144407578

ResultSet的代码书写:

image-20220921144458417

ResultSet案例

image-20220921145614962

PrepareStatement

image-20220921145925431

image-20220921151003394

PrepareStatement原理

image-20220921152829103

JDBC练习(22.9.22)
查询

image-20220922152604181

添加

image-20220922195451637

修改

image-20220922200534682

删除

image-20220922200618596

增删改查代码

1.获取Connection

image-20220922200854241

2.定义sql 获取装SQL的对象 执行sql 释放资源

image-20220922200949254

6.4数据库连接池

6.4.1数据库连接池简介

image-20220922102008072

Driud使用步骤

image-20220922105729625

7.maven

7.1maven简介

maven导入jar包非常方便

image-20220922201751567

image-20220922201915444

maven简介

image-20220922225043694

7.2maven常用命令(22.9.23)

image-20220923102131412

配置maven

image-20220923113447377

maven坐标

image-20220923113607226

创建maven项目

image-20220923120919071

idea导入maven项目

image-20220923121157251

使用坐标导入jar包

image-20220923122700316

jar包的依赖范围

image-20220923122848126

8.MyBatis

8.1MyBatis概念

image-20220923123856579

MyBatis对JDBC的简化

image-20220923124310437

8.2MyBatis快速入门

步骤

image-20220923124619188

解决sql映射文件的警告提示

image-20220923191256130

8.3使用Mapper代理开发

·image-20220923192747585

8.4MyBatisX插件

image-20220924151636082

8.5配置文件完成增删改查

image-20220924164734378

image-20220924171032063

8.6不能自动封装数据

image-20220925110349740

8.7MyBatis查询image-20220925110549272

配置文件完成增删改查

image-20220926141135925

查询多条件查询

image-20220927101201127

SQL语句设置多个参数有几种方式

image-20220927140711215

MyBatis核心配置文件详解

image-20220924150555283

查询多条件-动态条件查询

image-20220927145214177

image-20220927145241540

查询单条件-动态条件查询

image-20220927145751102

8.8MyBatis添加

image-20220927150557030

添加-主键返回

image-20220927152859931

image-20220927161955249

8.9修改

image-20220927162030229

修改动态字段

image-20220927162719320

8.10删除

image-20220927163233724

image-20220927163401483

@param注解可以改变默认名称

8.11MyBatis参数传递

image-20220927163918162

image-20220927165426330

8.12注解完成增删改查

image-20220927165636889

9.HTML

9.1简介&快速入门

image-20220923125541894

image-20220923130053469

9.2基础标签

image-20220923130159600

image-20220923130832580

image-20220923131008367

image-20220923131046818

image-20220923131223106

image-20220923131651810

image-20220923131734159

image-20220923142649067

image-20220923143351107

10.CSS

10.1CSS简介

image-20220927170614246

image-20220927170701432

image-20220927170920142

11.JavaScript(22.9.24)

简介

JavaScript的组成三部分:基础语法 页面文档对象模型(dom)浏览器对象模型(BOM)

3.注释
ctrl+/ ctrl+shift+/

image-20220927171319143

JavaScript引入方式

image-20220927171840102

image-20220927172041218

2…JavaScript的书写位置:

1.行内式(在body内写)

`

`

<script>

​ alert(‘球星’)

<script src="m.js"></script>
注意

HTML中推荐使用双引号 js中使用单引号

行内式很少使用

内嵌式用的最多

外部适用于js比较大的情况

JavaScript书写语法

image-20220927172409631

输出语句

image-20220927172548259

变量

image-20220927172712025

1.声明变量

var age;

2.赋值

​ age=10;

3.输出结果

console.log(age);

4.变量的初始化

​ var myname = 20;

​ console.log(myname);

5.变量输出案例

// 1.用户输入姓名 存储到一个myname的变量里面

​ var myname=prompt(‘请输入你的名字’);

​ // 2.输出这个用户名

​ alert(myname);

6.变量的命名规则

不能数字开头 允许下划线和$开头

不能是关键字、保留字 最好有一些意思

驼峰命名法 首字母小写 后面单词的首字母大写 myFirstName

注意

以最后一次声明的为准

可以同时声明多个变量 var age=19,myname=‘xiaom’;

只声明不赋值undefined 不声明不赋值会报错 不声明直接赋值使用可以正常使用但是不推荐

数据类型

JavaScript中的数据类型只有程序在运行过程中,根据等号右边的值来确定的

js是动态语言,变量的数据类型是可以变化的

​ var x=10;

​ x=‘pink’;

6.2数据类型的分类
6.2.1简单数据类型

数字型 :数字型的最大最小值 无穷大小 NAN(非数字)

isNAN用来判断是不是数字 如果是返回false 不是就返回true

6.2.2字符串型

js可以用单引号嵌套双引号,或则使用双引号嵌套单引号(外双内单或者外单内双)

转义字符要写在单引号里边

image-20220927190105197

运算符

image-20220927190426306

image-20220927190952799

流程控制语句

if

if-else

switch

do-while

函数

image-20220927191141637

image-20220927191432977

Array对象

image-20220927191705483

image-20220927192117809

String对象

image-20220928100811352

image-20220928100839208

BOM

image-20220928100953021

Window

image-20220928101207070

History

image-20220928101921872

Location

image-20220928101953202

DOM(22.9.25)

获取element

image-20220928102414684

事件监听

image-20220928104826901

事件绑定

image-20220928105040683

常见事件

image-20220928110638015

onblur :失去焦点

onfocus:获得焦点

onsubmit:返回true就网址改变

表单验证

image-20221004095646002

image-20221004100640415

正则表达式

image-20221004103235827

web核心(22.9.26)

image-20221004104032975

javaweb技术栈

image-20221004104409751

image-20221004104600981

HTTP、Tomcat、Servlet

image-20221004105217093

HTTP-请求数据格式

image-20221004110421106

HTTP-响应数据格式

image-20221004112542640

响应头和响应行之间一般会空一行

一、状态码大类
状态码分类说明
1xx响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它
2xx成功——表示请求已经被成功接收,处理已完成
3xx重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理。
4xx客户端错误——处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
5xx服务器端错误——处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等

状态码大全:https://cloud.tencent.com/developer/chapter/13553

二、常见的响应状态码
状态码英文描述解释
200OK客户端请求成功,即处理成功,这是我们最想看到的状态码
302Found指示所请求的资源已移动到由Location响应头给定的 URL,浏览器会自动重新访问到这个页面
304Not Modified告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向
400Bad Request客户端请求有语法错误,不能被服务器所理解
403Forbidden服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源
404Not Found请求资源不存在,一般是URL输入有误,或者网站资源被删除了
428Precondition Required服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头
429Too Many Requests太多请求,可以限制客户端请求某个资源的数量,配合 Retry-After(多长时间后可以请求)响应头一起使用
431 Request Header Fields Too Large请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。
405Method Not Allowed请求方式有误,比如应该用GET请求方式的资源,用了POST
500Internal Server Error服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧
503Service Unavailable服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好
511Network Authentication Required**客户端需要进行身份验证才能获得网络访问权限
Tomcat(22.9.29)
Tomcat简介

image-20221004113614781

Web服务器作用

image-20221004113550630

Tomcat基本使用

image-20221004115616357

image-20221004120002569

image-20221004120318033

IDEA中创建Maven Web项目

image-20221004121527953

使用骨架创建目录

image-20221004122922887

不使用骨架
image-20221004124635756

image-20221006200116139

IDEA中使用Tomcat-集成本地Tomcat

image-20221005095726713

IDEA中使用Tomcat Maven插件

Servlet(22.10.1)

image-20221005102832051

其实就是一个接口,自己定义servlet类实现servlet接口,并由web服务器运行servlet

Servlet快速入门

image-20221005105740088

Servlet执行流程

image-20221005132651686

Servlet生命周期

image-20221005133028842

Servlet方法介绍

image-20221005143509155

Servlet体系结构

image-20221005155349824

1.HttpServlet中为什么要根据请求方式的不同,调用不同方法?

因为get和post它们的请求消息不太一样

2.如何调用?

用不同的请求方式,做了不同的逻辑判断

image-20221005160303729

Servlet urlPattern配置

image-20221005160510520

Request(请求)和Response(响应)

image-20221005164345500

Request继承体系

image-20221005165040744

获取请求数据

image-20221005170607766

image-20221005192823162

image-20221005200630546

对于tomcat7存在的乱码问题

image-20221005203200538

image-20221005203223333

new.String(username.getBytes(“ISO-8859-1”),“UTF-8”);

请求转发

image-20221005204114490

Response
Response响应数据功能

image-20221005204423680

Response完成重定向

image-20221005205910233

路径问题

image-20221005210154165

转发就是在服务器内部,就不需要加虚拟路径

重定向是在浏览器和服务器之间,就需要加虚拟路径

为了防止路径写死,导致耦合性太高,可以使用动态的方法

Response响应字符数据

image-20221005211010729

jsp(22.10.3)

image-20221006152953533

jsp快速入门

image-20221006153245044

注意:

出现500错误就可能是tomcat版本和jdk版本不匹配

解决:将jre换成bundled

JSP原理

image-20221006165713983

JSP脚本

image-20221006185618335

JSP缺点

image-20221006190027732

EL表达式

image-20221006190655165

JSTL标签

image-20221006193512137

MVC模式(22.10.5)

image-20221006193826688

三层架构

image-20221006194700442

image-20221006194755684

会话跟踪技术

image-20221007152656592

Cookie基本使用

image-20221007164403351

Cookie原理

image-20221007164807185

Cookie使用细节

image-20221007171419618

Session

image-20221007172136719

session原理

image-20221007172549494

session使用细节

image-20221007173349304

cookie和session的区别

image-20221007173927152

Filter(22.10.7)

image-20221008171109220

快速入门

image-20221008175011943

执行流程

image-20221008175437400

filter拦截路径配置

image-20221008175659450

过滤器链

image-20221008192701872

登陆验证

image-20221008194520085

Listener

image-20221008194618256

AJAX(22.10.8)

image-20221008195232762

image-20221008195452040

image-20221008195829324

快速入门

image-20221008200523966

image-20221008201447455

Axios

image-20221008201618081

image-20221008202703683

JSON

image-20221008202832146

JSON基础语法

image-20221008203036267

JSON数据和Java对象转换

image-20221008203450603

image-20221008203822749

案例 (查询所有)

image-20221008211450465

image-20221008213758940

vue

vue简介

image-20221008214128618

快速入门

image-20221008214843880

常用指令

image-20221008215003722

image-20221008215432095

image-20221008215504159

image-20221008215744917

image-20221008220648996

vue生命周期

image-20221008220850410

vue案例

image-20221010124455412

image-20221010124818478

Elment

Elment简介

image-20221010125506365

快速入门

image-20221011094734214

element布局

image-20221011095050469

image-20221011103419062

综合案例

环境搭建

image-20221011112202298

功能1:查询所有

image-20221011145047871

功能2:新增信息

image-20221011162927023

代码优化

image-20221011192446214

批量删除

image-20221012094924052

分页查询

image-20221012095346553

image-20221012104740664

条件查询

image-20221012111404930

javaweb小项目登录注册的实现(servlet)(22.10.)

1.登录流程说明image-20221006142603659

2.准备环境

image-20221006142645145

3.流程说明

image-20221006143101166

以下是html文件,标重点的地方就是要提交的位置,如下就是把表单提交到loginServlet中

image-20221006143629513

一下是servlet下的代码

image-20221006144009608

image-20221006144126883

1.注册流程说明

image-20221006144500873

2.Mapper中的两个方法以及sql语句

image-20221006145337702

3.在html中写好servlet的地址

image-20221006145440583

4.servlet中的操作

image-20221006145909677

image-20221006150006775

5.代码优化

image-20221006150815156

MVC案例

准备环境

image-20221006201955661

流程分析

image-20221006202316879

添加功能的实现

image-20221007113209641

注意:

对于网页上出现的乱码问题:在servlet里边添加代码解析

post请求和get请求处理乱码的方式不同

image-20221007120213946

对于出现404问题:资源没有找到,可能是路径写错了 如下图所示

问题就是没有AddServlet路径,就是自己写错了路径

image-20221007113617396

修改功能的实现

image-20221007115800890

修改功能

image-20221007151410020

Cookie案例

登录功能

1.首先在dao层(数据访问层)编写sql语句,就是查询用户

2.在service层(业务逻辑层)调用查询语句

获取sqlsession工厂 获取mapper对象 再调用mapper方法

3.在web层(表现层)接收用户输入的数据,调用service查询输入的信息是否存在

image-20221008161512819

记住用户

注册功能

image-20221008164411894

小tips :idea中的一些快捷键

ctrl+alt+t 表示不全if switch 之类的东西

ctrl+shift+问号 表示多行注释

fn+alt+insert 插入getter and setter 等方法 还可以用来添加依赖

shift+F6 光标选中后,即可全部同时修改

通过快捷键Ctrl+Alt+v生成该对象

遇到的一些问题:

1.对于打开已有的项目,只显示配置文件,在project structure里边 加号 ->import导入

2.The server encountered an internal error that prevented it from fulfilling this request.

mysql和mybatis的依赖版本重新配置的高版本的 如下

<!-- mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.9</version>
</dependency>

<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
</dependency>

jdk的版本用java8或者系统的sdk8都可以

image-20221008143114144

3.用tomcat运行没有网站:

导入servlet依赖

可能是没有打包 war

报错404 资源没有找到 也有可能是文件目录放错位置了

4.引入element无效:

了路径

[外链图片转存中…(img-7fWjelVM-1668432012656)]

修改功能的实现

[外链图片转存中…(img-rrfomvfq-1668432012656)]

修改功能

[外链图片转存中…(img-6FOkJfVx-1668432012658)]

Cookie案例

登录功能

1.首先在dao层(数据访问层)编写sql语句,就是查询用户

2.在service层(业务逻辑层)调用查询语句

获取sqlsession工厂 获取mapper对象 再调用mapper方法

3.在web层(表现层)接收用户输入的数据,调用service查询输入的信息是否存在

[外链图片转存中…(img-CWqjy8iW-1668432012658)]

记住用户

[外链图片转存中…(img-0AtwoRzP-1668432012659)]

[外链图片转存中…(img-9yessvAM-1668432012659)]

注册功能

[外链图片转存中…(img-hbjtOmQF-1668432012660)]

小tips :idea中的一些快捷键

ctrl+alt+t 表示不全if switch 之类的东西

ctrl+shift+问号 表示多行注释

fn+alt+insert 插入getter and setter 等方法 还可以用来添加依赖

shift+F6 光标选中后,即可全部同时修改

通过快捷键Ctrl+Alt+v生成该对象

遇到的一些问题:

1.对于打开已有的项目,只显示配置文件,在project structure里边 加号 ->import导入

2.The server encountered an internal error that prevented it from fulfilling this request.

mysql和mybatis的依赖版本重新配置的高版本的 如下

<!-- mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.9</version>
</dependency>

<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
</dependency>

jdk的版本用java8或者系统的sdk8都可以

[外链图片转存中…(img-MxVwV01V-1668432012660)]

3.用tomcat运行没有网站:

导入servlet依赖

可能是没有打包 war

报错404 资源没有找到 也有可能是文件目录放错位置了

4.引入element无效:

创建文件的地方不合适,引入element文件目录写的不匹配

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值