- 博客(65)
- 问答 (2)
- 收藏
- 关注
原创 Vue+SpringBoot项目部署在远程linux服务器全流程
1. 准备工作 centOS 7以上 一台linux服务器 服务器中包含: jre mysql nginx(后面有安装说明) 1.0 配置服务器安全组(阿里云) 目的:使服务器开放一些特定端口,比如数据库的3306,tomcat默认的8080端口等 进入控制台,找跟安全有关的服务,手机端也可以改 1.1 安装jre环境 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-j
2021-06-25 09:47:45
817
2
原创 文件上传
文章目录1. 引入依赖2. 增添配置3. 后端部分1. service层2. controller层4.前端部分1. 引入jq2. 获取前端上传的文件对象3. 用ajax向后端发送file对象请求5. 鸟瞰流程 1. 引入依赖 <!--文件上传依赖--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</arti
2021-04-09 17:12:28
424
原创 SpringSSM整合
文章目录配置部分1. 导入maven依赖2. 配置maven在java目录下解析xml文件3. 配置web.xml文件4. Mybatis配置5. log4j配置6. jdbc.properties配置7. applicationContext.xml配置拦截器部分1. 继承HandlerInterceptorAdapter2. 重写preHandle3. 方法全览注解部分1.Spring MVC部分2. Mybatis 部分3. Service 部分4. Model部分5. controller增强,目前
2021-04-08 21:58:03
670
原创 Mybatis精简笔记
文章目录Mybatis精简笔记0. 什么是mybatis1.搭建流程2.测试样例@test3. 日志插件(可以在控制台看到sql语句的执行过程)4. 接口代理方式(复杂的sql操作推荐使用)5. 注解方式(简单的sql操作推荐使用注解方式)6. 注解指定接口方法中两个以上的参数6.5. 工具类7. 拼接sql,无法防止sql注入${}8. 有关数据库名字(school_name)和pojo类名字(schoolName)不一致, 需要resultMapper建立映射9. 批量设置别名10. 批量导入xml
2021-03-31 10:04:01
983
原创 day_48_JSP
文章目录JSP---java server pages1. jsp本质上是一个servlet文件,第一次编译时,会当成java源文件去编译生成字节码文件.也就是说,被翻译出来的java文件继承了HttpServlet类.2. 表达式脚本3. 代码脚本4. 四个域对象5. 静态包含(可将重复代码赋值过来)6. 动态包含可以传递参数7. 转发标签 JSP—java server pages 作用:代替servlet程序回传html页面数据 //因为servlet操作非常繁琐,需要一行一行write出来 //而
2021-03-18 20:36:54
202
原创 AJAX应用
1.数据库中数据转换为json对象在前端显示 //servlet部分 //其中调用了阿里巴巴的fastjson包,用于把数组转换为json数组字符串 protected void showAll(HttpServletRequest req, HttpServletResponse resp) throws IOException { List<User> list = userService.showAll(); String str = JSON.toJSON
2021-03-17 21:47:20
127
原创 day_47_Servlet
文章目录1.servlet返回参数乱码问题2.servlet跳转3.getAttribute与getParameter4.req.getHeader("Referer")原路径返回 1.servlet返回参数乱码问题 //治标不治本 String name = req.getParameter("name"); String utf8Name = new String(name.getBytes("iso-8859-1"),"utf-8"); post中文乱码问题 req.setCharacterEnco
2021-03-17 21:40:01
255
原创 JQuery摘记
本质 一个封装着各种javaScript方法的工具包类 目的:简化js原生代码 获取DOM对象 $('选择器').方法(()=>{ console.log('ready-3'); }); css函数 // CSS函数的使用 // 1 一个参数, 如果是对象, 则对所有DOM对象设置多个样式, 支持链式调用 $("li:eq(2)").css({'color':'red','background-color':
2021-03-09 19:35:29
246
原创 JS摘记
文章目录变量数据类型各种框 变量 变量名可以重复 var a = 0; var a = 2; console.log(a); 2 数据类型 分类: Number, Boolean, String, undefined, Null typeof a ; 以查看a的类型 Number可以是整数,或者小数 Number.MAX_VALUE 最大值 Number.MIN_VALUE 最小值 Number()方法将数据类型转化为各种数,非数字转化为NaN parseInt()方法转化为整数(不可识别小数点
2021-03-03 19:57:01
929
1
原创 CSS3_flex布局, 永远滴神 !
为什么是flex? 1.0传统布局和flex布局对比 1.1传统布局 兼容性好 布局繁琐 局限性,不能在移动端很好的布局 1.2 flex布局 操作方便,布局极其简单,移动端使用比较广泛 pc端浏览器支持情况比较差 IE11或更低版本不支持flex或仅支持部分 1.3 建议 如果是pc端页面布局,还是采用传统方式 如果是移动端或者是不考虑兼容的pc则采用flex 基础篇 2.0 flex布局原理 一句话: 就是通过给父盒子添加display:flex属性,来控制子盒子的位置和排列方式 一定要记
2021-03-03 14:51:52
2180
7
原创 CSS选择器老起名字太麻烦, 有这一个:nth选择器就够了!
文章目录基础篇:nth-child(n)选择器示例1示例2示例3p:nth-of-type(n)选择器示例4示例5进阶篇:nth-child(表达式) 和 nth-type-of(表达式)选择器示例6示例7高阶篇示例8 以下选择器都为C3的选择器 示例代码: <div> <ul> <li><a href="">第1个a标签</a></li> <a href=""
2021-03-03 12:42:06
721
原创 css定位技巧与z-index
子绝父相(正确) 子元素可以在父元素内任意移动,父元素可以保持原有位置(因为相对定位保持元素原有位置不变) 子绝父绝 子元素可以在父元素内任意移动,但是父元素脱离标准流,其他元素占据父元素位置 子相父绝 子元素必须以原有位置为原点移动,父元素脱标 子相父相 啥也不是 层叠 当图层重叠时,可以变换优先级 z-index:0; 值为整数,越大优先级越高 优先级高的显示在越上层 ...
2021-03-02 19:24:10
538
原创 移动端布局&弹性布局
文章目录1.前置概念1.1 理想视口1.2 因为视网膜屏的出现,所以电脑开发1px=手机屏幕2px1.3 插入到手机的图片设计图要比显示的大一倍(例如:手机图片50px,设计稿100px)然后将设计稿缩小至50px2.background-size参数:背景缩放3.正式开发1.CSS3盒模型2.特殊样式3.流式布局4.body格式5.二倍精灵图6.固定定位4.流式布局总结5.flex布局基本语法1.父盒子属性1.flex-direction2.justify-content3.flex-wrap4.alig
2021-03-01 17:13:29
793
原创 H5+C3常用属性以及常用套路
文章目录html+CSS查漏补缺1.居中1.height-line与height相同时为垂直居中2.无width时水平居中3.inline-block垂直居中4.margin:0 auto5.水平垂直居中2.定位3.hover4.浮动1.inline-block2.高度塌陷5.多类名6.半透明7.插入图片的结构8.过渡9.文字和块对齐并居中10.点击后(焦点获取)变化,页码输入11.一行文本省略号写法HTML5+CSS31.新标签1.基本结构标签2.音频视频3.表单2.CS3里一个nb的选择器3.伪类元素4
2021-03-01 17:06:05
1392
原创 Cookie系列操作
文章目录Cookie1.创建Cookie对象2.保存Cookis对象, 通知客户端保存Cookie对象3.查询cookie值4. 得到cookie集合5. 修改cookie值6. 设置cookie生命周期7. cookie的path属性8. El表达式 Cookie 1.创建Cookie对象 Cookie cookie = new Cookie("key1", "value1"); 2.保存Cookis对象, 通知客户端保存Cookie对象 resp.addCookie(cookie); 3.查询co
2021-03-01 11:22:20
473
原创 前端_day_32_表格
1.合并单元格 合并方法 观察表格中的某一个需要合并的单元格,如果是合并行,属性中加入rowspan=“n”(n为合并的行数)然后注释掉同一列中对应原本占用的行的单元格 如果是合并列,属性中加入colspan=“n”(n为合并的列数), 然后注释掉同一行中对应原本占用的列的单元格 展示部分代码 <table border="1px" cellspacing="0"> <caption><h2>NBA球队信息</h2></capti
2021-02-25 20:08:10
205
原创 SQL_day_30_事务、Properties、连接池
目录 事务 properties配置文件 1.事务 将多个sql语句同时执行,若其中一条sql语句执行出错,则全部搁置不执行 // 关闭自动提交 connection.setAutoCommit(false); /**中间为多行sql语句 ------- statement.addBatch("insert into t_user vaules(null,null)"); statement.addBatch("insert into t_user vaules(null,null)"); sta
2021-02-23 21:36:34
340
1
原创 SQL_day_28_链接查询 、JDBC
目录 行转列 连接查询 1.行转列 正常的查询结果是这样 可我想要这样的结果 1.1多行转一行多列 思路分析 : 首先我们默认的情况 每个名字都输出两次,而最终结果只有一次名字,所以肯定是 以名字分组 group by select * from test_9 group by name; 对我们来说 ,id,课程,和分数都不需要了,只需要有名字 然后再把java和mysql放上去 select name , 1 as java , 1 as MySQL from test_9 group
2021-02-10 22:02:58
223
原创 SQL_day_26_数据库分类, TCL, DDL, DML
目录 数据库分类 TCL用户权限分配 DDL DML 1.数据库分类 关系型数据库 查询来数据,得到对象,而非关系型数据库,保存键值对 查询处理数据,得到数组 简单理解 而关系型数据库 对于java而言,一个类就可以对应一个表,一个类对象就可以对应表中一行数据,一个成员变量可以对应表中的一个列(字段),能够做到一一的映射,数据库中是以表作为基本单位的 非关系型数据库 是存储键值对的,即有关系型数据库处理数据的方便性,也能处理大量数据,比较火的就是Redis、mongoDB了,各有千秋 关系型数据
2021-02-05 08:57:32
237
1
原创 SQL_day_27_约束、表查询_常用函数
目录 DDL约束条件 DQL查询 单表查询 常用函数 1.DDL约束条件 在创建表的时候,用于限制表中数据的一些参数 1.1添加主键 创建时添加 create table person( id int , name varchar(100), income decimal(18,2), primary key (id,name) ); 后期添加主键 #比如要对person3表添加id列主键 alter table 表
2021-02-04 23:29:41
219
1
原创 JavaEE_day_25_Lambda、SteamAPI
目录 lambd表达式 Supplier Consumer Function Predicate 方法引用简写 构造方法简写 数组声明简写 StreamAPI 1.lambd表达式 lamada表达式函数必须保证所传递函数是只有一个抽象方法的接口类. 相当于匿名内部类(一个一次性的单一抽象方法接口类)的升级版,在箭头函数调用lamuda表达式时,必须与抽象方法一一对应,否则调用失败报错 单句不想返回,则加{}不用加return, Integer [] arr = {1,5,4,2,8,3,4,9};
2021-02-03 15:18:24
213
原创 JavaEE_day_24_网络编程、正则表达式
目录 网络编程 1. 网络编程 tcp通信流程 代码实现 服务器端 public static void Server() throws IOException{ //创建端口 ServerSocket ss = new ServerSocket(8080); System.out.println("服务器启动"); //把对象Socket传入skt(客户端) Socket skt = ss.accept(); System.out.println("客户端已连接"
2021-02-02 23:17:29
155
原创 JavaEE_day_23_死锁、线程通信、线程池、懒汉多线程优化
目录 守护线程 定时器 Timer 锁对象 死锁 挂起/唤醒 挂起/唤醒 1.守护线程 简单来说,就是没有任何一个线程的时候,JVM就需要退出了,这个时候守护线程也会退出,主要完成垃圾回收等功能> 在没有其他线程存在时,守护线程自动退出,坚持到最后一个结束 设置守护线程 //Thread.setDameon() //true启动守护线程,false关闭守护线程 t1.setDaemon(true); 2.定时器 Timer 计划任务,只要有一个任务监听 就会是一个线程 1 执行任务的类
2021-01-31 15:18:25
166
原创 JavaEE_day_22_线程介绍、生命周期、线程同步
目录 并行并发 Thread(线程) 1.并行并发 并行: 多个任务同时刻开始执行(对于多个设备) 并发: 多个任务同时间片执行(对于单个设备) 2.Thread(线程) 创建线程有两种方式,但是启动线程只有一种方式,就是调用线程对象中的start()方法 Thread t1 = new Thread(new process()); Thread t2 = new Thread(new process()); Thread t3 = new Thread(new Runnable(){
2021-01-28 20:59:46
141
原创 JavaEE_day_21_File类、序列化流、Properties
目录 数据流 对象流 序 1.数据流 为了方便地操作Java语言的基本数据类型和String的数据,可以使用数据流。 里面新添加很多有关数据类型与字符串的方法 boolean readBoolean() char readChar() double readDouble() long readLong() String readUTF() byte readByte() float readFloat() short readShort() int readInt() voi
2021-01-27 15:41:44
138
原创 JavaEE_day_20_IO 概述、文件流、缓冲流、转换流、打印流
1.概述 简单来说 就是设备之间的数据传递称为流 流的本质 就是数据的传输,根据不同的数据传输特性,抽象出各种类,方便我们直接操作数据 2.InputStream 3.OutputStream 4.文件流 1 FileInputStream 字节输入 2 FileOutputStream 字节输出 3 FileReader 字符输入 4 FileWriter 字符输出 // 将输入流提出原因:内部作用域够不到finally的作用域. // 赋值为null的原因:try
2021-01-26 21:37:28
123
原创 JavaEE_day_18_比较器、Map、散列
1.查漏补缺 排序 如果 添加的元素的类 是我们写的 我们应该使用 Comparable , 因为对扩展开发,其他人还可以使用 Comparator, 实现新的排序功能因为(Comparator优先级高) 如果 添加的元素的类 不是我们写的 该类有排序(实现了Comparable) 比如Integer,但是 默认排序结果不是我们想要的,那么我们可以使用Comparator进行调整排序,因为优先级高 如果该类没有实现排序(没有实现Comparable), 这时候我们需要使用Compara
2021-01-24 13:21:27
191
原创 JavaEE_day_17 (集合概述、List、Set、比较器)
1.Collection集合 基本类型真的不能存吗? 真的,因为基本类型和Object没有关系,但是 可以把基本类型转换为对应的包装类类型,而 包装类 是Object的子类,这样就能间接存储基本类型了 通过继承体系发现,集合中两大分类,List和Set 并且两个都继承了Collection boolean add() : 添加元素 void clear() : 清空集合 boolean remove() 删除某个元素 boolean isEmpty() 判断集合中是否为空 bo
2021-01-22 21:26:50
164
原创 JavaEE_day_16 (常用API、异常机制)
1.日期,时间类 Date 略,查找API文件即可 2.枚举类 Enum 定义常量的类 //枚举类 final class Result { public static final String SUCCESS = "SUCCESS"; public static final String FAIL = "FAIL"; } //或者这么写 enum ResultEnum { SUCCESS,FAIL } 3.随机数 Random // 1 创建对象 Random r = new Random()
2021-01-21 23:20:27
123
原创 JavaEE_day_15 (常用API)
1.String类 java特性:字符串内容会保存在字符串常量池中(方法区) 栈内存的引用指向字符串常量池里的对象. 以new的方式创建String对象,会在堆内存开辟空间,new引用指向,堆内存保存常量池地址 String s = new String("123"); String s1 = new String ("123"); s == s1; //false 以普通方式创建,在常量池中创建对象,引用指向常量池对象.(常量池中创建的对象若值相同则只创建一个对象) String s
2021-01-20 19:35:56
127
原创 JavaEE_day_14 (内部类、设计模式)
1.局部内部类 局部内部类等同于局部变量 注意 : 局部内部类 在访问外部方法中的局部变量的时候需要加final修饰(1.8之前),从1.8开始 final可以省略 局部内部类中,不能有静态声明 如果是成员方法中的局部内部类,可以访问外部类中所有 的属性 如果是静态方法中局部内部类, 不可以直接访问外部类的成员属性 public static void m2() { int i = 2; class InnerClass { // 不能有静态声明 // public static v
2021-01-19 20:53:07
110
原创 JavaEE_day_13 (Object、类关系、内部类、设计模式)
1.Object 1. equals方法: public boolean equals(Object object){ return this == Object object; } //各方法类有不同的覆写方法 //比如Intager类 public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject ins
2021-01-18 21:54:43
138
1
原创 JavaEE_day12 (多态、抽象类、接口)
1.软件设计六大原则 1单一职责原则 : 功能职责单一,只拥抱一种变化 2里氏替换原则 : 所有在使用父类的情况下,都可以使用子类 3依赖倒置原则 : 高层通过抽象依赖底层, 4接口隔离原则 : 不应该依赖于它不需要的接口 5迪米特原则 : 最少知识原则 6开闭原则 : 对扩展开放,对修改关闭 2.多态 polymorphism 多态:父类引用指向子类对象; 多态的好处为:可以调用子类的覆写,和父类本身的属性, 但是不能调用子类特有的属性 调用时父子相同的属性时,调用父类属性 ...
2021-01-16 12:19:36
180
2
原创 JavaEE_day11 (继承、super、final、覆写)
1.继承 继承提高代码复用性, 只支持单继承, 一个类只能有一个父亲,一个父亲可以有多个子类 语法 : public class 类名 extends 父类名{ 类体 } ava.lang.Object 是java中的祖类(祖宗) 2.super. super 用法 : 1 用于成员/构造方法中区分子类和父类同名的成员属性 2 用于子类构造方法中,调用父类构造方法(必须出现在子类构造方法的第一行) super.表示调用父类的某些方法(用来区分子类和父类重名的一些方法) super();用于调用父
2021-01-14 20:49:25
135
2
原创 Java_EE_day10 (面向对象,this,static,静态调用,修饰符, 包机制)
1.有参构造器 //必须让用户输入某些参数,必须不能缺少的参数, 若是缺失就会报错(无参构造方法) public Student(int age, String name, String sex){ sout; } 2.this用于区分, 重名的局部变量和成员变量 int age; public static void setValue(int age){ this.age = age; //this.age代表成员的age变量 } 3.静态语句块 只有static修饰的语句块 , 类加载时
2021-01-13 18:56:43
175
1
原创 Java_EE_day09 (面向对象编程)
1.对象加载实例化 1 加载类到静态区 2 调用构造方法(栈内存压栈,开辟栈帧),在堆内存开辟内存空间 3 把对应类中的成员属性复制到堆内存中 4 再把堆内存内存地址赋值给栈内存遍历 Student stu = new Student(); 2.get/set方法 //用于某变量被私有化后, 不能直接对变量进行更改赋值等操作时使用. private int age; // 对外提供一个公共的方法,便于访问这个变量 //此set方法规范了,变量的输入方式,(age必须小于0输入,否则返回0)
2021-01-12 20:00:54
101
1
原创 JavaEE_day_08
1.二分法查找 二分法查找 : 1 建立在排序的基础之上 2 数据没有重复元素,如果有,先找到那个算哪个 3 用于查找固定有序的数据 算法实现 : 1 确定起始和结束位置 2 确定中间数据,判断中间数据是否为目标数据,如果是直接返回 3 如果目标数据小于中间数据,则 起始值不变,结束值 为 中间值 -1 4 如果目标数据大于中间数据,则 结束值不变,起始值 为 中间值 +1 5 如果 起始值 大于 结束值 终止比较,说明不存在 6 重复执行以上操作即可 //二分法查找 public static in
2021-01-11 21:43:16
139
原创 JavaEE_day_06 (数组, foreach)
0.数组的声明方式 //静态数组 int [] a= {1,2,3} ; int [] a = new int [] {1,2,3}; //动态数组 int [] a = new int [4]; int[][] array4 = new int[2][3]; 1.数组的方法特性 由于数组在内存中是连续存储, 所以数组的增删改查中, 改查比较快 (链表增删快) 2.引用型数组的存储方式 引用型数据类型,需要两部分空间: 栈内存与堆内存的各存一块, 栈内存保存地址,堆内存保存对象数据. 3.数组下标为
2021-01-05 20:50:50
202
原创 JavaEE_day_05 (递归应用)
1.一些递归的方法 //1-100的和 public static int sum(int a){ if(a != 0){ return a+ sum(--a); } return a; } //1-100偶数和 public static int sum1(int i){ if (i % 2 == 1) { i --; } if (i <= 1 ) { return 0; }else{ return i + sum(i - 2); }
2021-01-04 20:05:21
141
原创 JavaEE_day_04 (方法,内存管理, 运行流程)
1.查漏补缺 short 和byte相加得到int型,(当byte, short, int, char 混合计算时都变成int) byte b = 1; short s = 1; char c = 'A'; byte bb = b + s + c; //报错 int ii = b + s + c; //正确 long ll = b + s + c; //先变为int , 然后自动转换成long型 double 优先级最高 , 除了布尔类型都能转换为double 无论是整数或是字符型都能转换为doub
2021-01-03 18:43:55
171
2
空空如也
idea更新web项目代码后,用tomcat运行,还是原来的样子,求大佬解答!!
2020-06-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅