- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 com.jacob.com.ComFailException: Invoke of: ActiveDocument
在使用jacob操作word文档时,发生了一个这么一个报错,一开始百度居然没有这个报错的解决方案,所以只能自己摸索着解决。逻辑是根据路径打开一个word文档,然后获取里面的属性,获取不到,说明,word文档就没有成功打开,经过debugger,为什么get不到ActiveDocument属性,因为根本就没有。其实就是一个空指针异常,经过排查,原来是我没有传原文件路径filePath。...
2022-08-03 16:30:50
1023
转载 淘宝网站架构技术演进历程
淘宝网站架构技术演进历程1、概述2、基本概念3、架构演进3.1、单机架构3.2、第一次演进:Tomcat与数据库分开部署3.3、第二次演进:引入本地缓存和分布式缓存3.4、第三次演进:引入反向代理实现负载均衡3.5、第四次演进:数据库读写分离3.6、第五次演进:数据库按业务分库3.7、第六次演进:把大表拆分为小表3.8、第七次演进:使用LVS或F5来使多个Nginx负载均衡3.9、第八次演进:通过DNS轮询实现机房间的负载均衡3.10、第九次演进:引入NoSQL数据库和搜索引擎等技术3.11、第十次演进:大
2022-04-12 21:37:30
1535
3
原创 SSM入门---写一个简单的SSM案例
SSM入门---写一个简单的SSM案例前言一、表、数据二、新建一个Maven的web项目,导入依赖三、在resources下新建一个spring配置文件applicationContext.xml四、在resources下新建一个SpringMVC配置文件springmvc.xml五、修改web.xml六、逆向代码生成器七 、在resources下新建一个db.properties,用来记录数据库名以及密码八、业务层九、持久层十、表现层十一、测试前言SSM:springMVC、spring、mybati
2022-04-07 19:36:19
2174
5
原创 Spring---关于AOP机制的讲解
Spring---关于AOP机制的讲解一、什么是AOP二、AOP思想(面向切面)三、AOP中常用术语一览四、AOP的优势及作用五、基于xml的SpringAOP配置1、导入依赖2、接口3、目标类4、增强类/通知类5、applicationContext.xml6、测试7、运行结果8、另外一种写法:环绕增强(常用)六、基于注解的SpringAOP配置1、接口2、实现类3、切面类4、测试5、运行结果一、什么是AOPAOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编
2022-04-05 21:44:38
1089
14
原创 SpringMVC入门---用一个demo去理解SpringMVC
SpringMVC入门---用一个demo去理解SpringMVC一、创建一个web项目二级目录三级目录一、创建一个web项目还不会用idea创建一个基于maven的web项目的,请看我以往文章:Maven入门—如何在idea中配置Maven二级目录三级目录...
2022-04-04 23:54:45
687
2
原创 Spring入门---几分钟带你了解Spring框架
Spring入门---几分钟带你了解Spring框架一、什么是Spring二、Spring的优势是什么三、Spring体系结构四、什么是IOC五、怎么搭建SringIOC1、导入依赖2、创建Spring配置文件,将实体类(bean)托管到Spring3、使用ClassPathXmlApplicationContext对象解析配置文件、getBean方法获取对象六、什么是依赖注入七、Spring的几种依赖注入方式1、通过set方法2、通过构造方法3、注解注入八、Spring模块化配置1、并列多个配置文件2、主
2022-04-02 23:39:39
816
11
原创 常用工厂设计模式之代理模式---用几个demo就能理解的代理模式
常用工厂设计模式之代理模式---用几个demo就能理解的代理模式一、什么是代理二、静态代理1、代理类和目标类实现同一个接口建一个接口建一个目标类建一个代理类测试运行结果2、代理类继承目标类修改一下代理类修改一下目标类测试运行结果三、动态代理1、目标类实现接口---jdk代理接口目标类实现接口JdkProxy代理类(这里相对比较难理解)测试运行结果2、目标类没有实现接口---cglib代理目标类cglib代理类测试运行结果四、由程序自己动态生成的代理类首先我们要知道,工厂设计模式分为三类:创建型模式、行为型
2022-04-01 22:03:34
1464
14
原创 Mybatis---几分钟就能学会的Mybatis逆向工程(代码生成器)
Mybatis---几分钟就能学会的Mybatis逆向工程(代码生成器)一、建一个目录,里面放一些东西二、在当前目录下输入cmd并运行代码三、在src得到生成好的文件和代码之后复制到项目的对应位置逆向生成代码是根据数据库表来生成实体类、接口还有xml文件的所以在生成之前你需要准备一个数据库和表,比如:一、建一个目录,里面放一些东西config.xm里面是这样的,下面进行一下修改<?xml version="1.0" encoding="UTF-8"?><!DOCTYP
2022-03-31 21:51:17
1342
19
原创 Mybatis---一分钟学会Mybatis分页插件
Mybatis---一分钟学会Mybatis分页插件一、mybatis四步走(实体类、Mapper接口、Mapper.xml配置、mybatis-config.xml配置)二、在pom.xml中添加依赖三、修改mybatis-config.xml配置文件四、语法五、运行结果还不会使用mybatis的建议看看我以往的文章:Mybatis入门—如何使用mybatis查询数据库数据一、mybatis四步走(实体类、Mapper接口、Mapper.xml配置、mybatis-config.xml配置)Pe
2022-03-30 21:20:42
1710
16
原创 Mybatis---多表联合查询(2)
Mybatis---多表联合查询(2)一、多对多数据库准备实体类StudentMapperStuCouMapperCourseMapper测试一、多对多什么是多对多?举个栗子:一个学生选修多个课程,一个课程被多个学生选修,它们之间需要中间表进行关联,称为多对多多对多其实就是一对多、一对一的组合数据库准备CREATE TABLE `student` ( `sid` int(11) NOT NULL AUTO_INCREMENT, `sname` varchar(20) CHARACT
2022-03-29 21:20:35
683
9
原创 Mybatis---多表联合查询(1)
Mybatis---多表联合查询(1)前言测试准备一、一对一新建方法添加关联测试二、一对多新建实体类添加方法添加关联测试前言在开发过程中单表查询不能满足项目需求分析功能,对于复杂业务来讲,关联的表有几张,甚至几十张并且表与表之间的关系相当复杂。为了能够实业复杂功能业务,就必须进行多表查询,在mybatis中提供了多表查询的结果时映射标签,可以实现表之间的一对一、一对多、多对多关系映射测试准备案例所需数据库脚本SET FOREIGN_KEY_CHECKS=0;-- -----------
2022-03-28 21:12:32
6527
20
原创 Mybatis入门---如何使用mybatis查询数据库数据
Mybatis入门---如何使用mybatis查询数据库数据一、新建数据库和表二、新建maven项目,添加mybatis依赖三、新建实体类、接口(Mapper)四、新建实现类(使用.xml映射文件)五、新建全局配置文件(mybatis-config.xml)六、编写demo类,进行测试查询数据库1、读取配置文件2、根据配置文件构建工厂3、获取会话4、获取Mapper对象5、执行方法6、关闭会话一、新建数据库和表建一个数据库mybatis,建一个表person,然后填充一些数据(这里我是使用了图形化工具
2022-03-25 11:21:16
3524
20
原创 Linux系统(4)---Linux系统部署JDK、Tomcat、MySQL
Linux系统(4)---Linux系统部署JDK、Tomcat、MySQL一、安装Xshell7、Xftp7二、部署JDK1、新建一个目录2、远程上传jdk包3、解压4、配置java环境变量三、部署Tomcat1、远程上传服务器压缩包2、解压3、启动Tomcat服务器4、开启8080端口四、部署MySQL1、远程上传Mysql包2、使用rpm安装mysql数据库3、启动mysql服务器4、获取mysql首次安装的随机密码5、修改密码机制6、设置root密码7、授权远程连接8、开启3306端口一、安装Xs
2022-03-24 22:19:46
2486
20
原创 Linux系统(2)---vim编辑器
Linux系统(2)---vim编辑器一、vim编辑器语法三种模式vi和vim的区别以及常用命令具体还可以参考下列文章:二、重定向语法三、管道概念一、vim编辑器语法vim 文件名 查看并编辑文件三种模式命令行插入末行使用vim编辑文件步骤:(以图中打开startTomcat.sh为例子)1、vim startTomcat.sh 打开文件,进入命令行模式2、按i键,进入插入模式,此时可以编辑文件3、编辑完成,按Esc键 退出编辑,进入命令行模式4、按:键,进入末行模式,此时
2022-03-22 20:50:50
360
19
原创 Linux系统(1)---常用命令
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档Linux系统(1)---常用命令一、切换目录——(cd)二、文件列表——(ls)三、目录创建与删除——(mkdir、rmdir)四、文件查看——(cat、more、less)五、文件操作——(touch、cp、mv、rm)六、打包、压缩——(tar)七、查找文件或者字符串——(find、grep)一、切换目录——(cd)语法:cd 目录名 切换到某一目录下cd … 切换到上一级目录cd / 切换到根目录cd -.
2022-03-21 21:05:12
2203
34
原创 记一次前后端分离项目中---关于文件上传解决的思路
记一次前后端分离项目中---关于文件上传解决的思路前言一、首先了解ElementUI中几个标签属性的作用二、点击上传服务器按钮触发事件submitUpload()2.1此事件做两件事:三、myUpload函数3.1myUpload函数做三件事:四、后端处理请求五、最后成功上传七、还有一点,别忘了部署虚拟目录前言项目模块为添加课程模块,添加课程里面需要上传课程图片和课程视频,接下来说说如何处理手动上传文件的思路一、首先了解ElementUI中几个标签属性的作用:auto-upload=“fal
2022-03-17 23:13:11
854
20
原创 暴力反射---如何给私有的字段赋值以及调用私有的方法
暴力反射---如何给私有的字段赋值以及调用私有的方法一、首先了解下什么是反射1.1、反射:在程序运行过程中(动态),可以对任意一个类型进行任意的操作。例如:加载任意类型、调用类型的任意方法、获取任意的成员变量、构造方法,可以创建该类型的对象1.2、对于任意一个对象,都能调用这个对象的任意一个方法1.3、如果要获取一个类型的各种内容,首先要获取这个类的字节码对象(字节码对象属于 Class类型)1.4、解剖这个类型,获取类中的成员,需要使用Class类
2022-03-16 22:14:41
2914
27
原创 Maven入门---如何在idea中配置Maven
Maven入门---如何在idea中配置Maven一、下载Maven二、配置环境变量三、配置本地仓库四、配置镜像五、配置统一的JDK六、创建Maven项目七、Maven项目变为Web项目一、下载MavenMaven官网:http://maven.apache.org/download.cgi或者其他下载渠道建议在D盘或者其他盘新建目录(D:/maven)用于存放Maven二、配置环境变量此电脑右键→属性→环境变量→添加环境变量→编辑系统变量中的path添加maven的bin路径,具体如下:
2022-03-15 21:19:18
15539
27
原创 Git入门---利用idea集成git
Git入门---利用idea集成git一、Git的下载安装与基本全局配置二、如何在idea中添加Git三、idea中Git的基本操作:提交(commit)、推送(push)、拉取(pull)提交(commit)推送(push)拉取(pull)一、Git的下载安装与基本全局配置下载地址:https://git-scm.com/download无需选择,一直点击下一步直至安装安装完以后右键桌面,出现如图所示,代表安装成功点击下面 “Git Bash Here” 开始一些全局配置设置你的用
2022-03-14 21:08:22
889
28
原创 IO流重点之FileInputStream/FileOutputStream应用小案例---文件拷贝
IO流重点之FileInputStream/FileOutputStream应用小案例---文件拷贝一、InputStream二、OutputStream三、文件拷贝学习io流之前我们先要了解一下io流的顶层父类:InputStream和OutputStream,知道它有哪些常用的方法一、InputStream1.1字节输入流的顶层抽象父类1.2常用方法:int read(): 从当前的字节输入流中,读取并返回一个字节,返回-1表示未读取到int read(byte[] arr): 将最多ar
2022-03-12 16:31:53
1952
30
原创 Socket类的应用小案例---服务端、客户端数据传输
Socket类的应用小案例—服务端、客户端数据传输一、Socket类该类实现客户端套接字(也称为“套接字”)。 套接字是两台机器之间通讯的端点二、服务端和客户端1、服务端获取Socket对象的方式: 1.1、启动一个服务程序,类型是ServerSocket,可以接收客户端发来的连接请求,一旦接收到请求,就可以创建一个和当前客户端交互的Socket对象 1.2、ServerSocket的构造方法 ServerSocket(int port):创建一个服务端Socket对象,等待访问
2022-03-10 10:59:25
1397
19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人