Tomcat详解
1、安装Tomcat
在官网:https://tomcat.apache.org/ 下载Tomcat,我们这里下载的是apache-tomcat-9.0.65-windows-x64.zip。
将apache-tomcat-9.0.65-windows-x64.zip解压的安装目录下即可直接使用。
2、Tomact目录分析
注:
在bin文件目录下启动和关闭Tomcat:①startup.bat为启动文件,②shutdown.bat为关闭文件。
conf文件夹下的:server.xml为核心配置文件。
Webapps用于存放发布的网站文件,内部一个文件夹即代表一个网站。(有五个默认的初始网站)
3、启动Tomcat
双击startup.bat文件启动Tomcat。
**注:**若Java的环境变量没有配置,则会出现闪退。
这样我们便可以在浏览器上通过:http://localhost:8080/访问Tomcat主页了。
4、配置Tomcat
通过修改conf文件夹下server.xml文件,可以配置主机名称、端口号、网站文件存放位置等信息。具体配置信息如 ...
Web基本概念
1、Web应用程序
可以通过浏览器访问的程序,统称为“Web应用程序”。
一个Web应用由html、css、js、jsp、servlet、java程序、jar包、配置文件等多部分组成。
**注:**Web应用程序编写完成后,若想提供给外界访问,则需要一个Web服务器来统一管理这些文件。
2、静态Web与动态Web
2.1、静态Web
提供给所有人看的数据始终不会发生变化。
无法和数据库交互,数据无法持久化,用户无法交互。
静态web的工作流程如下图所示:
2.2、动态Web
提供给所有人看的数据始终会发生变化,Web页面的展示效果因人而异。
可以与数据库交互,数据可以持久化。
目前,几乎所有的网站都是动态web。
技术栈:Servlet/JSP、ASP、PHP等。
动态web的工作流程如下图所示:
注:在Java中,动态web资源开发的技术统称为JavaWeb。
3、URL
URL(Uniform Resource Locator):统一资源定位器。
我们能访问到的任何一个页面或资源,都存在于这个世界的某一个角落的计算机上。
这些Web资源会被统一地放在web(如: ...
IEDA快捷方式
IDEA常用快捷方式:
Alt + Enter:自动添加返回值、添加Maven依赖
Ctrl + /:添加单行注释
Ctrl + Shift + /:添加多行注释(可以在第二个/前一直回车)
Ctrl + Shift + -:收起所有函数
Ctrl + Shift + +:展开所有函数
Ctrl + -:收起当前函数
Ctrl + +:展开当前函数
Ctrl + Shift + Backspace:跳转到上次编辑的地方
Alt + Insert:快速生成构造函数、get/set函数、toString函数等
Alt + 左键:选中的多行的某几列
psvm + 回车,快速生成:
123public static void main(String[]args){ }
XXX + .sout,快速生成:
1System.out.println(XXX);
循环变量 + .for或.fori或.forr,快速生成循环。
(持续更新中…… )
关注**“阿汤笔迹”** 微信公众号,获取更多学习笔记。
原文地 ...
注解与反射
后面要学习的SSM、SpringBoot等框架的底层实现机制都是注解与反射。注解与反射是是以后学好框架的基础,十分重要。
1、注解(Annotation)
1.1、什么是注解
注解是从JDK5.0开始引入的新技术(2022年JDK已经更新到18了)。
与注释(Comment)类似,注解不是程序本身,但注解(Annotation)可以对程序作出解释,可以被其它程序(如:编译器等)通过反射的方式读取。
注解必须按照它定义时规定的格式使用,否则会报错。
(1)注解的格式:
格式一:
1@注解名
格式二:
1@注解名(参数值)
注解以@注解名的形式在代码中存在,有时也需要添加一些参数值。如:@SuppressWarnings(value="unchecked")
(2)注解的用处
注解可以附加在package(包)、class(类)、method(方法)、field(属性)等前面,相当于给它们添加了额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问。
1.2、内置注解
Java语言内部定义了许多内置注解。这里仅介绍3个常用的内置注解:
@Override【 ...
使用IDEA连接数据库
1、调出数据库侧边栏
点击IDEA左下角的“侧边栏显隐按钮”,让Database侧边栏显示出来。
2、连接数据库
点击右上角侧边栏的Database按钮,弹出数据库连接窗口。
点击“新建”按钮,选择MySQL为数据源。
在弹出窗口中先下载数据库驱动,然后再填写主机地址、端口号、数据库名称、用户名、密码等信息。
**注:**此时千万不要随意修改数据库驱动的信息。
点击“连接测试”按钮,待连接成功后先点击“应用”按钮,再点击“OK”按钮。此时,IDEA便开始加载数据库。
3、查看数据库
待数据库加载完毕后,点击“数据库属性”按钮,在数据设置窗口的“Schemas(模式)”页面选择要连接的数据库名称。
依次点击“应用”和“OK”按钮。此时,便可在侧边栏窗口中查看已选择的数据库信息了。
双击数据库中的表,我们便可在中间窗口查看表中的数据;
4、查看可视化操作对应的SQL语句
在view菜单中调出Services窗口。
此时,我们便可在窗口中查看每一步可视化操作对应的SQL语句。
5、修改数据库
双击数据库中的数据,便可对其进行修改。数据修 ...
JDBC详解
1、什么是JDBC
Java数据库连接(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了增删改查数据库中数据的方法。
**注:**我们通常说的JDBC是面向关系型数据库的。
JDBC操作数据库的过程如下图所示:
由图可见:SUN公司为了简化Java 程序员对数据库的操作,制定了两套接口。
一套是JDBC API,供程序员操作数据库使用;
另一套是JDBC驱动API,供数据库厂商将自家的数据库插入到驱动管理器中使用。
因此,对于程序员而言,只需掌握JDBC API即可。
2、JDBC依赖包与核心类
2.1、依赖包
JDBC核心类库包含在JDK自带的java.sql包和javax.sql包中。
程序员若要使用JDBC操作MySQL数据库,则还需导入一个数据库驱动mysql-connector-java-5.1.47.jar包。
**注:**JDBC依赖包我们既可以手动下载导入,也可以使用Maven自动下载导入(重点掌握)。
2.2、核心类
2.1.1、DriverManager
D ...
数据库设计与三大范式
1、为什么要设计数据库
糟糕的数据库设计:
数据冗余,浪费空间。
数据插入和删除都会很麻烦,甚至产生异常。
程序的性能差。
良好的数据库设计:
节省空间。
保证数据的完整性。
方便系统开发。
2、数据库设计步骤
**需求分析:**分析业务需要处理的数据;
**概要设计:**设计实体关系图(E-R图);
**详细设计:**明确各个表的字段。
**3、示例:**如何设计一个博客网站的数据库
一个博客网站一般需要有:1个分类表、1个文章表、1个评论表、1个友情链接表、1个用户管理表等。
分类表
主要包括:分类ID、分类名称、创建用户的ID等。
文章表
主要包括:文章ID、文章标题、文章的分类、文章的作者、文章的创建时间、文章的修改时间、文章内容、评论、点赞数量、收藏数量等。
评论表
主要包括:评论ID、所属文章的ID、评论人、评论内容、评论时间、回复用户的ID等。
友情链接表
主要包括:友链ID、友链名称、网站链接、友链序号等。
用户管理表
主要包括:用户ID、用户名、密码、手机号码、邮箱、性别、年龄、头像链接地址、个性签名等。
4、数据库 ...
数据库备份与还原
1、数据库的备份方式
MySQL数据库的备份方式主要有以下三种:
直接拷贝物理文件**(不建议使用)**;
使用可视化工具手动导出**(重点掌握)**;
在命令行窗口使用mysqldump命令导出**(在没有可视化工具的Linux系统中常用)**。
2、使用可视化工具备份与还原数据库(重点)
接下来主要介绍使用以SQLyog备份和还原数据库的过程。
2.1、备份数据库
(1)右键要备份的数据库->备份/导出->备份数据库,转储到SQL。
(2)在SQL转储界面上根据自己需要进行设置。
注:
可根据需要备份数据、结构或者两者。
选择备份文件存储的位置。
对自己要备份的内容进行勾选。
根据自己需要选择写入文件的内容,如Create Database,Use Database等语句。
(3)点击导出即可。
此时,会在导出目录下生成相应的.sql文件。
**注:**使用记事本打开.sql文件可以查看相应的SQL语句。
2.2、还原数据库
(1)右键要还原到的数据库->导入->执行SQL脚本。
(2)在还原数据库界面选择备份好的SQL文件,点击“执行”即可 ...
用户管理
我们既可以使用SQLyog等可视化工具对数据库用户进行管理,也可以使用SQL命令对数据库用户进行管理。
1、使用可视化工具进行用户管理
(1)创建用户
a、创建用户
点击用户管理按钮,弹出用户管理窗口,如下图所示:
b、输入用户信息
点击“添加新用户”按钮,在用户管理窗口输入用户信息后,再点击创建按钮,便可以新建用户,如下图所示:
**注:**若主机信息为%,则表示允许所有的IP登录。
c、设置用户权限
然后,在用户管理窗口设置新建用户的全局或对象级别(某一数据库或表)的权限,点击“保存改动”和“关闭"按钮,如下图所示:
这样新用户便创建完毕。我们便可使用该用户连接数据库了。
(2)删除用户
在用户管理窗口中,选择要删除的用户,点击“删除用户”按钮便可将该用户删除。
2、使用SQL命令进行用户管理
使用SQL命令进行用户管理的本质是:对系统默认生成的mysql数据库中的user表进行增删改查。
(1)创建用户
命令格式:
1REATE USER 用户名@主机IP IDENTIFIED BY '密码';
(2)修改密码
命令格式:
12SET P ...
索引
1、什么是索引
索引(Index)是帮助MySQL高效获取数据的数据结构。
索引在数据量较小时用处不大;但当数据库数据量非常大(百万级以上)时,索引可以极大地提升数据的查询速度。
InnoDB引擎索引底层实现默认的数据结构是BTree。
2、如何创建索引(都要掌握)
**方法一:**在创建表时,使用SQL语句给某一字段创建某种类型的索引。(详见:索引的分类)
**方法二:**在表创建完成后,使用SQL语句给某一字段添加索引或修改某一字段的索引。
1CREATE 索引类型 INDEX `索引名称` ON `表名`(`字段名`); -- 给某个表的某个字段添加某种类型的索引
1ALTER TABLE `数据库名称`.`表名` ADD 索引类型 INDEX `索引名称` (`字段名`); -- 修改某个表的某个字段的索引
**方法三:**在创建表时或在表创建完成后,使用可视化工具给某一字段添加某种类型的索引。
如:我们可以在SQLyog中选中一个表,右键选择“改变表”,便可查看或修改一个表的索引,如下图所示。
3、索引的分类
2.1、主键索引(PRIMARY KEY)
创建命令格 ...