黑马程序员最新版JavaWeb基础教程,Java web从入门到企业实战完整版_哔哩哔哩_bilibili
目录
1.基本概念
2.web的应用程序
3.数据库基础知识
4.数据库设计的步骤
5.JDBC API详情
6.数据库连接池
7.有关Maven
8.有关MyBatis
9. Mapper代理开发
10.注解开发
11.有关HTML
12.有关CSS
13.有关JavaScript
14.有关BOM
15.有关DOM
16.获取Element
17.事件监听
18.表单验证
1.基本概念
静态web:
HTML,CSS
提供给人的数据始终不会发生变化
动态web
几乎所有的网站都会有
在java中,动态web资源开发的技术统称为JavaWeb
提供给人的数据会发生变化,每个时间段、每个人看到的信息都不一样。
技术栈:Servlet/JSP、ASP、PHP
Servlet 是什么
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。
ASP是什么
asp文件是一种网页的动态页面文件,包含了VB Script或Jscript脚本程序代码。asp文件一般是需要执行的才能看到我们想要的效果,比如我们浏览asp网页时,Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样才产生了我们看到的动态网页。
2.web的应用程序
web的应用程序:可以提供浏览器访问的程序;
3.数据库基础知识
添加外键约束
4.数据库设计的步骤
注意数据库设计
数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据存储模型。
建立数据库中的表结构以及表与表之间的关联关系的过程。
有哪些表?表里有哪些字段?表和表之间有什么关系
①需求分析(数据是什么?数据具有哪些属性?数据与属性的特点是什么)
②逻辑分析(通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)
③物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)
④维护设计(1.对新的需求进行建表;2.表优化)
黑马程序员数据库设计案例
JDBC(用java代码操纵数据库)
基本步骤(重点)
5.JDBC API详情
DriverManager
Connection
事务管理
.MySQL事务管理
开启事务:BEGIN; START TRANSACTION;
提交事务:COMMIT;
回滚事务:ROLLBACK;
MySQL默认自动提交事务。
JDBC事务管理:Connection接口中定义了3个对应的方法
开启事务: setAutoCommit(boolean autoCommit): true为自动提交事务;false为手动提交事务,即为开启事务提交事务: commit()
回滚事务:rollback()
6.数据库连接池
开启数据库连接是一个非常费时间的操作,而且资源开启之后还要关闭,关闭也要消耗一定的资源。
数据库连接池是一个容器,负责分配、管理数据库的连接。
它允许应用程序重复的使用一个现有的数据库连接,而不是新建一个。
释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。
DB连接池的好处有①资源重复。②提升系统影响速度。③避免数据库连接遗漏
数据库连接池实现
标准接口:DataSource
·官方(SUN)提供的数据库连接池标准接口,由第三方组织实现此接口。。功能:获取连接
Connection getConnection()
.堂见的数据库连接池:
. DBCP
. C3PO. Druid
. Druid(德鲁伊)
. Druid连接池是阿里巴巴开源的数据库连接池项目
。功能强大,性能优秀,是Java语言最好的数据库连接池之一
注:当前文件的路径,可以使用System.out.println(System.getProperty("user.dir"));语句来进行打印。
7.有关Maven
Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。
Maven是专门用于管理和构建Java项目的工具。它的主要功能有:
提供了一套标准化的项目结构
提供了一套标准化的构建流程(编译,测试,打包,发布....)
提供了一套依赖管理机制
Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
Maven 作用:
标准化的项目结构 标准化的构建流程 方便的依赖管理
项目对象模型(Project Object Model) 依赖管理模型(Dependency) 插件(Plugin)
8.有关MyBatis
什么是MyBatis?
MyBatis是一款优秀的持久层框架,用于简化JDBC开发。
MyBatis 本是 Apache的一个开源项目iBatis, 2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github官网: https://mybatis.org/mybatis-3/zh/index.html
持久层:负责将数据到保存到数据库的那一层代码
JavaEE三层架构:表现层、业务层、持久层。
框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型在框架的基础之上构建软件编写更加高效、规范、通用、可扩展。
MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。
从XML中构建SqlSessionFactory
每个基于MyBatis 的应用都是以一个-SqlSessonFacory 的实例为核心的。SqoSessonFactay 的实例可以通过 SaSesstnFracoy)Blier获得。而SqlsessinrFactoy Bulceo则可以从XML配置文件或一个预先配置的 Configuration 实例来构建出 SqISessionFactory 实例。
从XML文件中构建 Sq/SessonF actbry 的实例排常简单,建议使用类路径下的资源文件进行配置。但也可以使用任意的输入流(npurSTream)实例,比如用文件路径字符审或们leURL构造的输入流。MyBatis包含一个名叫Resources的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。
9. Mapper代理开发
步骤
使用Mapper代理方式完成入门案例
1.定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件(.xml文件)放置在同一目录下。
2.设置SQL映射文件的namespace属性为Mapper接口全限定名(类似于:com.bai.mapper.userMapper)。
3.在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致。
4.编码
①.通过SqlSession的getMapper方法获取Mapper接口的代理对象。
②.调用对应方法完成sql的执行。
细节:如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载。
MyBatis 核心配置文件
类型别名(typeAliases)
类型别名可为Java类型设置一个缩写名字。它仅用于XML配置,意在降低冗余的全限定类名书写。
MyBatis 参数传递
MyBatis 接口方法中可以接收各种各样的参数,MyBatis底层对于这些参数进行不同的封装处理方式
单个参数:
1. POJO类型: 2. Map集合: 3. Collection: 4. List: 5. Array: 6.其他类型:
多个参数: 封装为Map集合,
map.put( "arg0",参数值1)
map.put( "param1",参数值1)
map .put( "param2",参数值2)
map. put( "agr1",参数值2)
10.注解开发
使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java注解不仅力不从心,还会让你本就复杂的SQL语句更加混乱不堪。因此,如果你需要做一些很复杂的操作,最好用XML来映射语句。
选择何种方式来配置映射,以及认为是否应该要统一映的射语句定义的式,完全取决于你和你的团队。换句话说,永远不要拘泥于一种方式,你可以很轻松的在基于注解和XML的语句映射方式询自由移植和切换。
11.有关HTML
什么是HTML?
.HTML是一门语言,所有的网页都是用HTML这门语言编写出来的 HTML(HyperText Markup Language):超文本标记语言
超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容>标记语言:由标签构成的语言
HTML运行在浏览器上,HTML标签由浏览器来解析HTML标签都是预定义好的。
例如:使用展示图片W3C标准:网页主要由三部分组成
>结构:HTML
>表现:CSS
>行为: JavaScript
基础标签
音频、视频、图片标签
img:定义图片
src:规定显示图像的URL(统一资源定位符)height:定义图像的高度
width:定义图像的宽度
audio:定义音频。支持的音频格式:MP3、WAV、OGG
src:规定音频的URL
controls:显示播放控件
video:定义视频。支持的音频格式:MP4, WebM、OGG
src:规定视频的URL
controls:显示播放控件
资源路径:
1.绝对路径:完整路径 2.相对路径:相对位置关系
尺寸单位: 1. px:像素 2.百分比:
超链接标签
· href:指定访问资源的URL
· target:指定打开资源的方式
·_self:默认值,在当前页面打开
·_blank:在空白页面打开
列表标签
表格标签
table:定义表格
border:规定表格边框的宽度
width :规定表格的宽度
cellspacing:规定单元格之间的空白
tr:定义行
align:定义表格行的内容对齐方式
td:定义单元格
rowspan:规定单元格可横跨的行数
colspan:规定单元格可横跨的列数
表单标签
表单:在网页中主要负责数据采集功能,使用


