目录
什么是JavaWeb?
Web
JavaWeb
JavaWeb技术栈
JDBC简介
概念
本质
快速入门
步骤
API详解
DriverManager
Connection
Statement
ResultSet
PreparedStatement
数据库连接池
简介
数据库连接池实现
标准接口: DataSource
常见的数据库连接池:
练习
Maven简介
模型
安装配置
Maven基本使用
常用命令
生命周期
IDEA配置Maven
依赖管理
依赖范围
MyBatis
持久层
框架
JDBC缺点
硬编码
操作繁琐
快速入门
Mapper代理开发
MyBatis核心配置文件
配置文件完成增删改查
多条件查询
添加
主键返回
修改
删除
删除多个
注解完成增删改查
动态SQL
if
choose
HTTP
概念
HTTP协议特点
HTTP请求数据格式
三部分
HTTP响应数据格式
三部分
web服务器
Tomcat
简介
基本使用:安装,卸载,启动,关闭,配置,部署项目
idea中创建Maven Web
idea中使用Tomcat
Servlet
快速入门
Servlet执行流程
Servlet生命周期
方法介绍
Servlet体系结构
XML配置方式编写servlet
Request(请求)
Request继承体系
Request获取请求数据
Request请求转发
Response(响应)
设置响应数据功能介绍
完成重定向
响应字符数据
响应字节数据
JSP
概念
快速入门
原理
脚本
缺点
EL表达式
主要功能
语法
JSTL标签
MVC模式和三层结构
MVC
三层架构
案例
会话跟踪
会话
会话跟踪
Cookie
基本使用
原理
使用细节
Session
基本使用
原理
使用细节
Filter
概念
快速入门
执行流程
使用细节
Filter拦截路径配置
过滤器链
Listener
Listener的使用
AJAX
什么是 AJAX?
AJAX的作用
快速入门
Axios异步框架
JSON
什么是 JSON?
JSON 格式化后为 JavaScript 对象
JSON 语法规则
JSON 数据 - 一个名称对应一个值
JSON 对象
JSON 数组
javascript:void(0) 含义
JSON数据和Java对象转换
JavaBean
概述
即全球广域网,也称万维网。
B/S架构:Brower/Server,浏览器/服务器架构模式,它的特点是,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端,浏览器只需要请求服务器,获取Web资源,服务器把Web资源发送给浏览器即可。
好处:易于维护升级:服务器端升级后,客户端无需任何部署就可以使用新的版本呢
静态资源:HTML、CSS、Javascript、图片等。负责页面展现。
动态资源:Servlet、jsp等。负责逻辑处理
数据库:负责存储数据。
HTTP协议:定义通信规则
Web服务器:负责解析HTTP协议,解析请求数据,并发送响应数据。
JDBC就是使用Java语言操作关系型数据库的一套API
全称 Java Data Base Connectivity Java数据库连接
定义的一套操作所有关系数据库的规则,即接口
驱动管理类 作用:
Class.forName("com.mysql.jdbc.Driver");
数据库连接对象
作用:
Statement createStatement();
PreparedStatement prepareStatement(sql);
CallableStatement prepareCall(sql);
作用:执行sql语句
executeUpdate(sql); //执行DML、DDL语句 返回int类型
//返回值:(1)DML语句影响的行数 (2)DDL语句执行后,执行成功也可能返回0
executeQuery(sql); //执行DQL语句 返回ResultSet类型
//返回值:(1)ResultSet jie'guo'ji
执行DDL语句的返回值可能是0
结果集对象:封装了DDL查询语句的结果
stmt.executeQuery(sql); //执行DQL语句,返回ResultSet对象
使用步骤:
//循环判断游标是否是最后一行末尾
while(rs.next()){
rs.getXxx(参数);
}
!!!
作用:
SQL注入:通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。
原理:
好处:
数据库连接池是一个容器,负责分配,管理数据库连接(connection)。
它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
好处
官方提供的数据库连接池标准接口,由第三方组织实现此接口。
Connection getConnection();
准备环境
Maven是专门用于 管理和构建Java项目的工具,它的主要功能有:
Apache Maven是一个项目管理和构建工具,他是基于项目对象模型(POM)的概念,通过一下段描述信息来管理项目的构建、报告、文档。
负责将数据保存到数据库的那一层代码
JavaEE三层构架:表现层、业务层、持久层
MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作
两个属性
超文本传输协议,规定了浏览器和服务器之间的数据传输规则。
是一个应用程序(软件),对HTTP协议的操作进行封装,是的程序员不必直接对协议进行操作,让web开发更加便捷,主要功能是"提供网上信息浏览服务"
Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级web服务器,支持servlet/jsp少量javaee规范。
Tomcat也被称为web容器,Servlet容器。Servlet需要依赖于Tomcat才能运行。
请求数据分为三部分:
Request通用方式获取请求参数
请求参数中文乱码问题
一种在服务器内部的资源跳转方式。
//实现方法
resp.setStatus(302);
resp.setHeader("location","资源路径");
//简化写法
resp.sendRedirect("路径");
Java Server Pages,Java服务端页面
一种动态的网页技术,其中既可以定义Html,js,css等静态内容,还可以定义Java代码的动态内容,
JSP=HTML+Java;
作用:简化开发,避免了在servlet中直接输出HTML标签
Java Server Pages,Java服务端页面
JSP=HTML+Java,简化开发
实质上就是一个Servlet
JSP再被访问时,有JSP容器(Tomcat)将其转化为Java文件(Servlet),再由jsp容器将其编译,最终对外提供服务的其实就是这个字节码文件
Expression Language 表达式语言,用于简化JSP页面内的Java代码
获取数据
${expression}
JSP标准标签库(Jsp Standard Tag Library),使用标签取代JSP页面上的Java代码
/< c:forEach /> 相当于for循环 分层开发模式,其中: M: Model 业务模型,处理业务 V: View 视图,界面展示 C: Controller 控制器,处理请求,调用模型和视图 用户打开浏览器,访问web服务器的资源,会话建立,知道有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应 一种维护浏览器状态的方法,服务器需要识别多次请求是否来自于同意浏览器,以便在同义词绘画的多次请求间共享数据。 HTTP协议是无状态的,每次浏览器向服务器请求时,服务器都会将该请求视为新的请求,因此我们需要会话跟踪技术来实现绘画内的数据共享。 实现方式: 客户端会话技术,将数据保存在客户端,以后每次请求都携带Cookie数据进行访问。 Session是基于Cookie实现的 Filter表示过滤器,是Java web三大组件(Servlet、Filter、Listener)之一 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。 过滤器一般完成一些通用的操作,比如:权限控制、统一编码处理、敏感字符处理等等。 根据需求,配置不同的拦截资源路径 一个web应用中,可以配置多个过滤器,这多个过滤器成为过滤器链 Listener表示监听器,是Java web三大组件(Servlet、Filter、Listener)之一 监听器可以监听就是在application,session,request三个对象创建、销毁或者往其中添加修改删除属性是自动执行代码的功能组件 AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新。 AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。 使用 AJAX 的应用程序案例:谷歌地图、腾讯微博、优酷视频、人人网等等。 JSON 是用于存储和传输数据的格式。 JSON 通常用于服务端向网页传递数据 。 JSON 格式在语法上与创建 JavaScript 对象代码是相同的。 由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为 JavaScript 对象。 JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。 键/值对包括字段名称(在双引号中),后面一个冒号,然后是值: “name”:“Runoob” JSON 对象保存在大括号内。 就像在 JavaScript 中, 对象可以保存多个 键/值 对: {“name”:“Runoob”, “url”:“www.runoob.com”} JSON 数组保存在中括号内。 就像在 JavaScript 中, 数组可以包含对象: “sites”:[ {“name”:“Runoob”, “url”:“www.runoob.com”}, {“name”:“Google”, “url”:“www.google.com”}, {“name”:“Taobao”, “url”:“www.taobao.com”} ] JSON 与 JS 对象的关系 很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。 **其实,可以这么理解:**JSON 是 JS 对象的字符串表示法。它使用文本表示一个 JS 对象的信息,(JSON)本质是一个字符串。 javascript:void(0) 中最关键的是 void 关键字, void 是 JavaScript 中非常重要的关键字,该操作符指定要计算一个表达式但是不返回值。 JavaBean 是特殊的 Java 类,使用 Java 语言书写,并且遵守 JavaBean API 规范。 接下来给出的是 JavaBean 与其它 Java 类相比而言独一无二的特征:MVC模式和三层结构
MVC
三层架构
案例
会话跟踪
会话
会话跟踪
Cookie
基本使用
原理
使用细节
Session
基本使用
原理
使用细节
Filter
概念
快速入门
执行流程
使用细节
Filter拦截路径配置
过滤器链
Listener
Listener的使用
AJAX
什么是 AJAX?
AJAX的作用
快速入门
Axios异步框架
JSON
什么是 JSON?
JSON 格式化后为 JavaScript 对象
JSON 语法规则
JSON 数据 - 一个名称对应一个值
JSON 对象
JSON 数组
javascript:void(0) 含义
JSON数据和Java对象转换
JavaBean
概述