01 2020 档案
摘要:maven生命周期: maven 对项目构建过程分为三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”, 这三套生命周期分别是: Clean Lifecycle 在进行真正的构建之前进行一些清理工作。 Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
阅读全文
摘要:工程目录结构: 作为一个 maven 工程,它的 src目录和 pom.xml 是必备的。 进入 src目录后,目录结构如下: src/main/java —— 存放项目的.java 文件 src/main/resources —— 存放项目资源文件,如 spring, hibernate 配置文件
阅读全文
摘要:配置本地仓库位置: 1.在conf目录中,找到settings.xml文件 2.在localRepository标签中指定本地仓库位置
阅读全文
摘要:Maven下载地址:https://maven.apache.org/ 解压后相关文件目录的含义: bin:存放了 maven 的命令,例如:mvn tomcat:run boot:存放了一些 maven 本身的引导程序,如类加载器等 conf:存放了 maven 的一些配置文件,如 setting
阅读全文
摘要:Java客户端 Jedis Jedis: 一款java操作redis数据库的工具. 使用步骤: 1. 下载jedis的jar包 2. 使用 //1. 获取连接 Jedis jedis = new Jedis("localhost",6379); //2. 操作 jedis.set("username
阅读全文
摘要:下载安装 1. 官网:https://redis.io 2. 中文网:https://www.redis.net.cn/ 3. window系统 3.2.100版本下载:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.10
阅读全文
摘要:1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特
阅读全文
摘要:AJAX: 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML 1. 异步和同步:客户端和服务器端相互通信的基础上 同步:客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 异步:客户端不需要等待服务器端的响应。在服务器
阅读全文
摘要:Filter:过滤器 1. 概念: 当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 过滤器的作用: 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤... 2. 使用: 1. 定义一个类,实现接口Filter 2. 复写方法 3. 配置拦截路径 1. web.x
阅读全文
摘要:基于接口的动态代理: public interface SaleComputer { String sale(Double money); void show(Double money); } public class Lenovo implements SaleComputer { @Overri
阅读全文
摘要:MVC:开发模式 1. jsp演变历史 1. 早期只有servlet,只能使用response输出标签数据,非常麻烦 2. 后来有jsp,简化了Servlet的开发,如果过度使用jsp,即在jsp中写大量的java代码,又写html,造成难于维护,难于分工协作 3. 再后来,java的web开发,借
阅读全文
摘要:JSP: 1. 概念: Java Server Pages: java服务器端页面 可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码 用于简化书写!!! 2. 原理 JSP本质上就是一个Servlet 3. JSP的脚本:JSP定义Java代码的方式 1. <% 代
阅读全文
摘要:会话技术 1. 会话:一次会话中包含多次请求和响应。 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止 2. 功能:在一次会话的范围内的多次请求间,共享数据 3. 方式: 1. 客户端会话技术:Cookie 2. 服务器端会话技术:Session Cookie: 1. 概念:
阅读全文
摘要:响应消息:服务器端发送给客户端的数据 数据格式: 1. 响应行 1. 组成:协议/版本 响应状态码 状态码描述 HTTP/1.1 200 OK 2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。 1. 状态码都是3位数字 2. 分类: 1. 1xx:服务器就收客户端消息,但没有接受完
阅读全文
摘要:请求消息数据格式 1. 请求行 请求方式 请求url 请求协议/版本 GET /login.html HTTP/1.1 请求方式: HTTP协议有7中请求方式,常用的有2种 GET: 1. 请求参数在请求行中,在url后。 2. 请求的url长度有限制的 3. 不太安全 POST: 1. 请求参数在
阅读全文
摘要:执行原理: 1. 当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径 2. 查找web.xml文件,是否有对应的<url-pattern>标签体内容。 3. 如果有,则在找到对应的<servlet-class>全类名 4. tomcat会将字节码文件加载进内
阅读全文
摘要:部署项目的方式: 1. 直接将项目放到webapps目录下即可。 2.简化部署:将项目打成一个war包,再将war包放置到webapps目录下,war包会自动解压缩 3. 配置conf/server.xml文件(需要重启服务器,才能生效) 在<Host>标签体中配置 <Context docBase
阅读全文
摘要:package com.fgy.datasource.c3p0; import com.mchange.v2.c3p0.ComboPooledDataSource; import javax.sql.DataSource; import java.sql.Connection; import jav
阅读全文
摘要:package com.fgy.jdbc; import java.sql.*; /** * 转账小案例 */ public class tx { public static void main(String[] args) { Connection conn = null; PreparedSta
阅读全文
摘要:package com.fgy.jdbc; import java.sql.*; public class Demo1Jdbc { public static void main(String[] args) throws ClassNotFoundException, SQLException {
阅读全文
摘要:多表查询: 查询语法: select 列名列表 from 表名1, 表名2, ... where ...... 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT
阅读全文
摘要:1. 多表之间的关系 1. 分类: 1. 一对一: 如:人和身份证 分析:一个人只有一个身份证,一个身份证只能对应一个人 2. 一对多(多对一): 如:部门和员工 分析:一个部门有多个员工,一个员工只能对应一个部门 3. 多对多: 如:学生和课程 分析:一个学生可以选择很多门课程,一个课程也可以被很
阅读全文
摘要:1.什么是SQL? Structured Query Language:结构化查询语言 其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。 2.SQL通用语法 1. SQL 语句可以单行或多行书写,以分号结尾。 2. 可使用空格和缩进来增强语句的可读性。
阅读全文
摘要:MySQL登录 1.mysql -uxxx -pxxx mysql -uroot -proot 2.mysql -hxxx -uxxx -pxxx mysql -h127.0.0.1 -uroot -proot 3.mysql -hxxx -Pxxx -uxxx -pxxx mysql -h127.
阅读全文
摘要:注解: 概念:说明程序的。给计算机看的 注释:用文字描述程序的。给程序员看的 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字 段、方法、局部变量、方法参数等的前面,用来对这些元素进行
阅读全文
摘要:反射:框架设计的灵魂 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象,这就是反射机制 好处: 1. 可以在程序运行过程中,操作这些对象。 2. 可以解耦,提高程序的可扩展性。 获取Class对象的方式: 1. Class.forName("全类名"
阅读全文
摘要:Junit单元测试: 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2. 白盒测试:需要写代码的。关注程序具体的执行流程。 Junit使用:白盒测试 步骤: 1. 定义一个测试类(测试用例) 建议: 测试类名:被测试的类名Test 例:CalculatorTest
阅读全文
摘要:package com.fgy.demo2; public interface Printable { void print(String s); } package com.fgy.demo2; public class Demo01Printable { public static void m
阅读全文
摘要:package com.fgy.demo; import java.util.ArrayList; import java.util.Arrays; import java.util.stream.Stream; /** * 使用stream流的方式,遍历集合,对集合中的数据进行过滤 */ publ
阅读全文
摘要:package com.fgy.demo3; import java.util.function.Supplier; /** * 函数式接口:Supplier * get方法返回和泛型相同类型的值 */ public class Demo01Supplier { public static void
阅读全文
摘要:函数式接口:有且只有一个抽象方法的接口,称为函数式接口 当然也可以包含有其他方法(默认,静态,私有) 函数式接口可以作为方法的参数,也可以作为方法的返回值 注解 @FunctionalInterface 可以检测一个接口是否是函数式接口 package com.fgy.demo; @Function
阅读全文
摘要:package com.fgy.demo; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.n
阅读全文
摘要:package com.fgy.demo2; import java.io.Serializable; /** * 想要实现序列化,必须实现Serializable接口 */ public class Person implements Serializable { private String n
阅读全文
摘要:将GBK编码的文本文件,转换成UTF-8编码的文本文件。 package com.fgy.demo; import java.io.*; public class Demo05Test { public static void main(String[] args) throws IOExcepti
阅读全文

浙公网安备 33010602011771号