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数据模型
3.SQL语句
3.1sql简介
3.2sql通用语法
3.3sql分类
3.3.1DDL数据定义语言
DDL操作数据库
1.创建数据库
create database 数据库名字;
2.删除数据库
drop database 数据库名字;
3.如果数据库存在就删除数据库
drop database if exists 数据库名字;
4.DDL****操作数据库
DDL操作表
1.创建表
2.数据类型
3.删除表
4.修改表
desc:指定按列降序
asc:指定按列升序
navicat的安装和使用 (22.9.20)
设计表是对字段名字和类型进行更改
查询表 可以写一些sql语句
3.3.2 DML数据操作语言
3.3.3 DQL
基础查询
条件查询
排序查询
聚合函数
count:统计数量
*取值:
1.主键
2.推荐使用*
分组查询
分页查询
4.约束(暂停)
4.1概念和分类
约束的代码实现方式
外键约束
5.数据库设计(22.9.21)
5.1数据库设计简介
5.2表关系
表关系之一对多
表关系之多对多
表关系之一对一
实现关系
5.3多表查询
内连接
外连接
子查询
案例
5.4 事务
事务简介
事务的四大特征
6. JDBC
6.1JDBC简介
6.2JDBC快速入门
步骤
6.3 API详解
DriverManager作用
Connection 作用
Statement
ResultSet作用
ResultSet的代码书写:
ResultSet案例
PrepareStatement
PrepareStatement原理
JDBC练习(22.9.22)
查询
添加
修改
删除
增删改查代码
1.获取Connection
2.定义sql 获取装SQL的对象 执行sql 释放资源
6.4数据库连接池
6.4.1数据库连接池简介
Driud使用步骤
7.maven
7.1maven简介
maven导入jar包非常方便
maven简介
7.2maven常用命令(22.9.23)
配置maven
maven坐标
创建maven项目
idea导入maven项目
使用坐标导入jar包
jar包的依赖范围
8.MyBatis
8.1MyBatis概念
MyBatis对JDBC的简化
8.2MyBatis快速入门
步骤
解决sql映射文件的警告提示
8.3使用Mapper代理开发
·
8.4MyBatisX插件
8.5配置文件完成增删改查
8.6不能自动封装数据
8.7MyBatis查询![image-20220925110549272](https://img-blog.csdnimg.cn/img_convert/674295d32e263e328064a10529505515.png)
配置文件完成增删改查
查询多条件查询
SQL语句设置多个参数有几种方式
MyBatis核心配置文件详解
查询多条件-动态条件查询
查询单条件-动态条件查询
8.8MyBatis添加
添加-主键返回
8.9修改
修改动态字段
8.10删除
@param注解可以改变默认名称
8.11MyBatis参数传递
8.12注解完成增删改查
9.HTML
9.1简介&快速入门
9.2基础标签
10.CSS
10.1CSS简介
11.JavaScript(22.9.24)
简介
JavaScript的组成三部分:基础语法 页面文档对象模型(dom)浏览器对象模型(BOM)
3.注释
ctrl+/ ctrl+shift+/JavaScript引入方式
2…JavaScript的书写位置:
1.行内式(在body内写)
`
`
<script>
alert(‘球星’)
<script src="m.js"></script>
注意
HTML中推荐使用双引号 js中使用单引号
行内式很少使用
内嵌式用的最多
外部适用于js比较大的情况
JavaScript书写语法
输出语句
变量
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可以用单引号嵌套双引号,或则使用双引号嵌套单引号(外双内单或者外单内双)
转义字符要写在单引号里边
运算符
流程控制语句
if
if-else
switch
do-while
函数
Array对象
String对象
BOM
Window
History
Location
DOM(22.9.25)
获取element
事件监听
事件绑定
常见事件
onblur :失去焦点
onfocus:获得焦点
onsubmit:返回true就网址改变
表单验证
正则表达式
web核心(22.9.26)
javaweb技术栈
HTTP、Tomcat、Servlet
HTTP-请求数据格式
HTTP-响应数据格式
响应头和响应行之间一般会空一行
一、状态码大类
状态码分类 | 说明 |
---|---|
1xx | 响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它 |
2xx | 成功——表示请求已经被成功接收,处理已完成 |
3xx | 重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理。 |
4xx | 客户端错误——处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等 |
5xx | 服务器端错误——处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等 |
状态码大全:https://cloud.tencent.com/developer/chapter/13553
二、常见的响应状态码
状态码 | 英文描述 | 解释 |
---|---|---|
200 | OK | 客户端请求成功,即处理成功,这是我们最想看到的状态码 |
302 | Found | 指示所请求的资源已移动到由Location 响应头给定的 URL,浏览器会自动重新访问到这个页面 |
304 | Not Modified | 告诉客户端,你请求的资源至上次取得后,服务端并未更改,你直接用你本地缓存吧。隐式重定向 |
400 | Bad Request | 客户端请求有语法错误,不能被服务器所理解 |
403 | Forbidden | 服务器收到请求,但是拒绝提供服务,比如:没有权限访问相关资源 |
404 | Not Found | 请求资源不存在,一般是URL输入有误,或者网站资源被删除了 |
428 | Precondition Required | 服务器要求有条件的请求,告诉客户端要想访问该资源,必须携带特定的请求头 |
429 | Too Many Requests | 太多请求,可以限制客户端请求某个资源的数量,配合 Retry-After(多长时间后可以请求)响应头一起使用 |
431 | Request Header Fields Too Large | 请求头太大,服务器不愿意处理请求,因为它的头部字段太大。请求可以在减少请求头域的大小后重新提交。 |
405 | Method Not Allowed | 请求方式有误,比如应该用GET请求方式的资源,用了POST |
500 | Internal Server Error | 服务器发生不可预期的错误。服务器出异常了,赶紧看日志去吧 |
503 | Service Unavailable | 服务器尚未准备好处理请求,服务器刚刚启动,还未初始化好 |
511 | Network Authentication Required | **客户端需要进行身份验证才能获得网络访问权限 |
Tomcat(22.9.29)
Tomcat简介
Web服务器作用
Tomcat基本使用
IDEA中创建Maven Web项目
使用骨架创建目录
不使用骨架
![image-20221004124635756](http://rlc91kry4.hn-bkt.clouddn.com/image-20221004124635756.png)
IDEA中使用Tomcat-集成本地Tomcat
IDEA中使用Tomcat Maven插件
Servlet(22.10.1)
其实就是一个接口,自己定义servlet类实现servlet接口,并由web服务器运行servlet
Servlet快速入门
Servlet执行流程
Servlet生命周期
Servlet方法介绍
Servlet体系结构
1.HttpServlet中为什么要根据请求方式的不同,调用不同方法?
因为get和post它们的请求消息不太一样
2.如何调用?
用不同的请求方式,做了不同的逻辑判断
Servlet urlPattern配置
Request(请求)和Response(响应)
Request继承体系
获取请求数据
对于tomcat7存在的乱码问题
new.String(username.getBytes(“ISO-8859-1”),“UTF-8”);
请求转发
Response
Response响应数据功能
Response完成重定向
路径问题
转发就是在服务器内部,就不需要加虚拟路径
重定向是在浏览器和服务器之间,就需要加虚拟路径
为了防止路径写死,导致耦合性太高,可以使用动态的方法
Response响应字符数据
jsp(22.10.3)
jsp快速入门
注意:
出现500错误就可能是tomcat版本和jdk版本不匹配
解决:将jre换成bundled
JSP原理
JSP脚本
JSP缺点
EL表达式
JSTL标签
MVC模式(22.10.5)
三层架构
会话跟踪技术
Cookie基本使用
Cookie原理
Cookie使用细节
Session
session原理
session使用细节
cookie和session的区别
Filter(22.10.7)
快速入门
执行流程
filter拦截路径配置
过滤器链
登陆验证
Listener
AJAX(22.10.8)
快速入门
Axios
JSON
JSON基础语法
JSON数据和Java对象转换
案例 (查询所有)
vue
vue简介
快速入门
常用指令
vue生命周期
vue案例
Elment
Elment简介
快速入门
element布局
综合案例
环境搭建
功能1:查询所有
功能2:新增信息
代码优化
批量删除
分页查询
条件查询
javaweb小项目登录注册的实现(servlet)(22.10.)
1.登录流程说明![image-20221006142603659](https://img-blog.csdnimg.cn/img_convert/a95a888aad32e0da8172acbdefbce235.png)
2.准备环境
3.流程说明
以下是html文件,标重点的地方就是要提交的位置,如下就是把表单提交到loginServlet中
一下是servlet下的代码
1.注册流程说明
2.Mapper中的两个方法以及sql语句
3.在html中写好servlet的地址
4.servlet中的操作
5.代码优化
MVC案例
准备环境
流程分析
添加功能的实现
注意:
对于网页上出现的乱码问题:在servlet里边添加代码解析
post请求和get请求处理乱码的方式不同
对于出现404问题:资源没有找到,可能是路径写错了 如下图所示
问题就是没有AddServlet路径,就是自己写错了路径
修改功能的实现
修改功能
Cookie案例
登录功能
1.首先在dao层(数据访问层)编写sql语句,就是查询用户
2.在service层(业务逻辑层)调用查询语句
获取sqlsession工厂 获取mapper对象 再调用mapper方法
3.在web层(表现层)接收用户输入的数据,调用service查询输入的信息是否存在
记住用户
注册功能
小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都可以
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文件目录写的不匹配