09 2019 档案

摘要:一、jar可以引进项目中,复制到路下后,要add as library,加载到工作空间中才能引入; 也jar包放在硬盘的项目目录外面,可以多个项目引入共用: 二、xml配置 1、aop全自动配置 2、xml装配bean,不是注解方式 3、代码测试 阅读全文
posted @ 2019-09-29 23:50 wmqiang 阅读(570) 评论(0) 推荐(0)
摘要:一、cglib功能更强大 二、Spring核心jar包 三、AOP联盟通知 三、代码实现Spring半自动代理 1、环绕通知的切面 2、bean.xml配置 3、创建bean容器,获取bean,即已经创建好的代理对象: 4、配置多个接口 阅读全文
posted @ 2019-09-29 23:43 wmqiang 阅读(311) 评论(0) 推荐(0)
摘要:一、概念 AOP面向切面编程,是函数式编程的延申,是对OOP的补充; 代理模式:拦截增强作用,增强功能; 1、java继承,纵向共性抽取, 2、横向切面AOP织入增强代码方式 二、原理是通过代理机制,代理模式的意思就是用代理对象增强原来的真实对象的功能,如Filter拦截器; 其中,Proxy是ja 阅读全文
posted @ 2019-09-29 21:57 wmqiang 阅读(258) 评论(0) 推荐(0)
摘要:一、枚举类 二、枚举类使用 dd 阅读全文
posted @ 2019-09-29 14:06 wmqiang 阅读(267) 评论(0) 推荐(0)
摘要:一、开启注解 二、@Autowired根据类型注入 三、默认是单例,可以注解配置类是多例 四、注解模式配置bean生命周期的一些方法 destroy()方法是在容器正常关闭时执行; 其中,因为ApplicationContext容器对象的关闭方法close()被隐藏了,要通过反射机制调用执行; 阅读全文
posted @ 2019-09-28 21:21 wmqiang 阅读(141) 评论(0) 推荐(0)
摘要:一、概念 web三大组件:Servlet、Filter 和 Listener;使用时都是需要配置:注解配置或者web.xml 配置; 二、代码实现 1、 其中,流对象成功创建则说明文件加载进内存成功; 配置文件: 自定义的参数,这是src目录下的真实路径全路径; 2、注解方式 阅读全文
posted @ 2019-09-28 21:02 wmqiang 阅读(123) 评论(0) 推荐(0)
摘要:一、需求分析 二 、代理模式 1、概念 2、代码实现 代理对象可以强转为真实对象,即对应的接口类; 3、通过代理增强方法 其中,方法对象invoke真实对象,反射原理; 三、过滤敏感词汇案例代码实现 本地的字符流和字节流创建出来默认编码都是GBK(国标码,大中国用的) 1、增强方法 2、解析配置文件 阅读全文
posted @ 2019-09-28 20:07 wmqiang 阅读(423) 评论(0) 推荐(0)
摘要:一、登录验证,权限控制 1、需求分析 其中,登录有关的资源被访问时要直接放行,不然会死循环; 2、代码实现 阅读全文
posted @ 2019-09-28 20:00 wmqiang 阅读(415) 评论(0) 推荐(0)
摘要:一、概念 二、快速入门 三、详解 1、注解配置或者web.xml配置 2、执行过程 3、生命周期,即创建到销毁都执行了了哪些方法 4、拦截路径配置,注解里面的value属性值 5、拦截方式配置 6、过滤器链 6.1 执行优先级 注解形式,是类名挨个字符比较,一有胜负小的立马执行; 6.2 执行后对数 阅读全文
posted @ 2019-09-28 17:34 wmqiang 阅读(137) 评论(0) 推荐(0)
摘要:一、 打印:直接页面调用window.print(),当前页面就会转换成打印页面 当前页面是使用HTML拼接成A4纸表格样式的展示; 二、导出下载文件:要调用后台处理生成文件 阅读全文
posted @ 2019-09-28 15:30 wmqiang 阅读(639) 评论(0) 推荐(0)
摘要:一、java代码 设置好数据源map 工具类方法 工程中的模板HTML文件: 效果: 阅读全文
posted @ 2019-09-28 14:57 wmqiang 阅读(516) 评论(0) 推荐(0)
摘要:比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和Java Excel。Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于 操作Excel格式文件的HSSF和 用于操作Word的HWPF; 一、前端使用g 阅读全文
posted @ 2019-09-28 13:40 wmqiang 阅读(15178) 评论(4) 推荐(0)
摘要:一、需求分析 其中,一张图片就是一个单独的请求; 一个验证验证码的Servlet,还有一个验证用户名和密码的Servlet,两次都可能有错误信息返回到前端页面,所以前面页面要从request域中获取返回的错误信息; 登录验证失败,用request转发,页面访问的地址不变;成功使用response的重 阅读全文
posted @ 2019-09-28 11:17 wmqiang 阅读(793) 评论(0) 推荐(0)
摘要:一、概念和快速入门 其中,一次会话则关闭浏览器后服务器端的Session数据就会清除; 二、原理 三、session详解 1、 2、 服务器关闭,内存销毁,开启服务要向系统底层资源申请内存; 创建对象分配地址值是随机的; work目录存放的是程序运行过程中产生的动态数据,包括jsp转换的java文件 阅读全文
posted @ 2019-09-28 10:30 wmqiang 阅读(326) 评论(0) 推荐(0)
摘要:一、概念 其中,java代码的输出还是在服务器端控制台; java类Class字节码文件能被客户端访问则必须是一个Servlet; 二、原理 三、JSP页面代码脚本 其中,Servlet中定义成员变量,会存在线程安全问题;需要使用线程同步; 其中,%=输出的变量范围小的5,就近原则; JSP页面被访 阅读全文
posted @ 2019-09-28 09:59 wmqiang 阅读(163) 评论(0) 推荐(0)
摘要:java web动态资源有Servlet和JSP; HTTP协议是无状态的,即每次请求响应和其他的互补相关,所以要共享数据,需要会话技术; 一、概念 二、Cookie会话技术 代码写在服务器端,设置Cookie和发送Cookie以及接收Cookie,但Cookie数据是保存在客户端的; 1、快速入门 阅读全文
posted @ 2019-09-28 08:41 wmqiang 阅读(168) 评论(0) 推荐(0)
摘要:一、概念 二、入门使用 三、具体方法增删改和查询操作 1、增删改 其中,返回值count为0则执行失败; 2、查询操作 基本数据类型和封装数据类型最大区别是默认值不同,如int默认值为0,其包装类Integer默认值是null; 阅读全文
posted @ 2019-09-27 23:46 wmqiang 阅读(183) 评论(0) 推荐(0)
摘要:获取数据库连接,就是向系统底层申请资源,耗时; 类比数据库连接池和线程池:餐馆、服务员、服务客人; 一、概念 二、DataSource就可以理解为是连接池的意思,连接池的实现: 三、C3P0连接池实现 第三方的,所以使用前要先导包; 类路径源码阶段就是指src路径下; 有java代码编写叫硬编码形式 阅读全文
posted @ 2019-09-27 22:23 wmqiang 阅读(172) 评论(0) 推荐(0)
摘要:一、事务概念:打包一起的多个步骤的业务操作,要么同事成功,要么同时失败,则需要用事务管理; 二、代码实现 阅读全文
posted @ 2019-09-27 22:15 wmqiang 阅读(123) 评论(0) 推荐(0)
摘要:一、预编译,防sql注入 其中,设置参数值占位符索引从1开始;在由sql 连接对象创建 sql执行对象时候传入参数sql语句,在执行对象在执行方法时候就不用再传入sql语句; 数据库索引一般是从1开始,java对象一般是从0开始; java代码方法subString(2,5)是左闭右开区间,数据库s 阅读全文
posted @ 2019-09-27 22:12 wmqiang 阅读(663) 评论(0) 推荐(0)
摘要:一、结果集中获取数据并对实体set值,封装成对象返回; 2、封装JDBC工具类 只要执行一次的,如读取配置文件,则写静态代码块; 异常抛出要写明方法才可以throw,静态代码块异常只能捕捉try catch; 类加载器两个作用:将字节码Class文件加载到内存中;获取src路径下的文件; 2.1 获 阅读全文
posted @ 2019-09-27 22:00 wmqiang 阅读(303) 评论(0) 推荐(0)
摘要:内存泄漏意思就是内存越来越少了,因为垃圾太多; 线程泄露就是线程池中线程越来越少,执行过程中异常,没有返回给线程池,线程池中线程越来越少; 一、概念 二、快速入门 三、JDBC各个类详解 1、driverManager 注册驱动 其中,类加载不用调用就会执行的静态代码块;也是在静态代码块中创建的驱动 阅读全文
posted @ 2019-09-27 00:13 wmqiang 阅读(131) 评论(0) 推荐(0)
摘要:一、需求分析 其中,浏览器可以直接解析图片,不能解析视频,所以视频的超链接是下载; 加载文件,则需要知道文件的真是路径(ServletContext); 前端: 二、代码实现 其中,ServletOutputStream字节流会自动刷新,即自动将缓冲区的数据持久化到真实文件流中,不用手动刷新和关闭, 阅读全文
posted @ 2019-09-27 00:04 wmqiang 阅读(208) 评论(0) 推荐(0)
摘要:一、概念 二、获取servletContext对象 其中,== 比较的是地址值; 三、功能之获取MIME类型 其中,原理是因为服务器的配置文件中做了映射: 四、域对象,共享数据 其中,sevletContext对象是web服务器启动就创建,关闭才销毁, 生命周期很长,存储数据多会造成内存压力,且不安 阅读全文
posted @ 2019-09-26 21:50 wmqiang 阅读(165) 评论(0) 推荐(0)
摘要:一、输出流返回响应数据 二、重定向 1、重定向代码以及和转发的区别 2、相对路径 ./ 和 / 都是表示当前路径下 3、绝对路径 三、Response输出数据 1、字符输出流 其中,浏览器打开默认和操作系统使用一样的GBK编码字符集(国标码,中文), 其中,response对象由服务器创建,我们只是 阅读全文
posted @ 2019-09-26 20:33 wmqiang 阅读(373) 评论(0) 推荐(0)
摘要:一、数据格式 二、相应行状态码 其中,304常见于请求图片,一个图片就是一次请求,但是后面再请求若服务器图片没有修改,则304,访问本地缓存; 500一般见于服务器代码异常,如3/0; 三、响应头和响应体 阅读全文
posted @ 2019-09-26 20:29 wmqiang 阅读(268) 评论(0) 推荐(0)
摘要:一、分析和设计 1、需求 2、页面 3、druid连接池 4、jar包 5、需求设计 二、代码实现 1、web_WEB-INFO_lib使用之前要先将jar包加入工作空间, 2、JDBC工具类 3、Dao层持久化层 其中,有异常除了输出控制台日志,还可以输出流写入到一个文件中记录,之后再return 阅读全文
posted @ 2019-09-24 23:32 wmqiang 阅读(217) 评论(0) 推荐(0)
摘要:一、Request对象由服务器创建,我们使用 浏览器访问服务器资源原理: 二、Request体系结构 其中,servlet 的service()方法参数列表是 servletRequest对象, HttpServlet 的 doGet()和 doPost() 方法参数列表是用的 HttpServle 阅读全文
posted @ 2019-09-22 21:31 wmqiang 阅读(937) 评论(0) 推荐(0)
摘要:一、tomcat端口号设置为80,访问时候可以不加;http协议1.1版本可以复用连接,请求结束后会稍微等会; 二、 表单,get方式提交: 三、user-agent告诉服务器是哪个浏览器,代码中解决兼容性问题,不同的浏览器展示一样的静态页面内容: referer作用:防盗链和数据统计: 四、pos 阅读全文
posted @ 2019-09-22 21:28 wmqiang 阅读(446) 评论(0) 推荐(0)
摘要:一、web的核心——servlet, server applet servlet就是一个接口,写java代码实现它,就可以被浏览器访问; java类中没有main方法必须借助服务器才能运行,如tomcat; 不同的人可以看到不同的类容,需要java代码编写,叫动态资源;所有人看到的一样的叫静态资源, 阅读全文
posted @ 2019-09-22 21:27 wmqiang 阅读(246) 评论(0) 推荐(0)
摘要:一、使用HttpServlet 其中,HttpServlet在重写的service()方法中对http请求的共7中提交方式进行了判断,所以只要我们只要重写对应的请求方式处理逻辑方法 doGet()和doPost()方法就可以; 浏览器直接访问servelet是get请求,参数列表会自动跟在请求Url 阅读全文
posted @ 2019-09-22 21:07 wmqiang 阅读(550) 评论(0) 推荐(0)
摘要:一、Servlet用注解配置访问路径 二、IDEA的tomcat相关配置 其中,第一点的配置文件,直接在IDEA的可视化操作界面修改就可以改掉配置文件中内容; 三、urlParttern配置 其中,* 时通配符,优先级最低; 阅读全文
posted @ 2019-09-22 17:50 wmqiang 阅读(864) 评论(0) 推荐(0)
摘要:一、五个生命周期方法,有三个很重要,初始化方法、提供服务方法和销毁方法 1、三个主要方法 2、另外两个重写的成员方法只做了解 二、生命周期详解 其中,每次刷新页面都是一次对servlet访问; 页面访问,根据域名找到主机,端口号,项目名,会直接去访问web.xml文件,去扫描,找servlet; 阅读全文
posted @ 2019-09-22 17:22 wmqiang 阅读(1077) 评论(0) 推荐(0)
摘要:一、selector选择器 二、Xpath查询 阅读全文
posted @ 2019-09-22 17:07 wmqiang 阅读(197) 评论(0) 推荐(0)
摘要:一、Jsoup解析器快速入门案例 Docement对象,文本对象,包含着各个Dom树结构 1、引入Jsoup解析器的jar包放在lib文件夹下后,写java代码 其中, 二、Jsoup对象 1、Jsoup解析器解析xml和html的有关对象 其中,通过统计资源定位符URL解析HTML,适合爬虫,如比 阅读全文
posted @ 2019-09-22 15:52 wmqiang 阅读(382) 评论(0) 推荐(0)
摘要:一、解析xml的两种方式 1、 其中,xml文件被解析之后产生的dom树可能是原xml文件内存的成千上万倍,所以占内存;一般是服务器端; 2、sax逐行读取解析的方式,读一行释放一行,移动端采用; 其中,如果改 “文档标题” 这一行内容,已经释放了title标签,所以不知道是哪个标签的内容了,需要监 阅读全文
posted @ 2019-09-22 15:24 wmqiang 阅读(161) 评论(0) 推荐(0)
摘要:一、约束的感念和意义 二 、dtd约束 1、dtd约束 其中,ELEMENT是标签,ATTLIST是标签中的属性; number ID,属性number作为ID即唯一标识,并没有ID这个属性; 2、xml中引入dtd 其中,引入约束之后就会有代码提示和报错了;studengts(student+)表 阅读全文
posted @ 2019-09-22 14:34 wmqiang 阅读(174) 评论(0) 推荐(0)
摘要:一、xml概念 1、xml和html区别 其中,xml是纯文本文件,跨语言;浏览器有html解析器也有xml解析器; 2、和properties配置文件区别 二、xml语法 1、基本语法 三、xml组成部分 中国电脑默认GBK编码格式(中文编码); xml中特殊符号需要转义符代替:,< &&> 阅读全文
posted @ 2019-09-22 14:00 wmqiang 阅读(429) 评论(0) 推荐(0)
摘要:一、未使用注解的web-service-dao结构 1、action类源码 其中,service作为一个成员属性,采用的是层层调用,service类中dao作为一个成员属性,再成员方法中调用; 2、bean.xml中装配bean: 3、创建spring容器,调用容器中的对象: 二、使用注解的方式we 阅读全文
posted @ 2019-09-22 13:39 wmqiang 阅读(597) 评论(0) 推荐(0)
摘要:一、@Component 用注解来装配bean 1、 2、对类使用注解,装配bean: 3、类中,注入其他对象: 二、bean.xml中配置@Componet方式装配bean 1、开启注解装配bean依赖注入方式和类使用的自动注入 2、 其中,通过类型获取对象时候,传入接口类和接口的实现类都可以; 阅读全文
posted @ 2019-09-22 13:23 wmqiang 阅读(833) 评论(0) 推荐(0)
摘要:一、集合注入,装配bean的时候,即在xml中添加bean的时候 1、List集合 2、set集合,无序,即无索引,所以也无重复, 3、map key-value键值对双列集合,内置接口Entry 4、Properties集合,可以和IO流结合读写文件的集合; 5、数组注入 阅读全文
posted @ 2019-09-21 21:12 wmqiang 阅读(233) 评论(0) 推荐(0)
摘要:一、SpEL 其中,直接写也可以赋值,‘ ’ 单引号引起来后成为一个字符串对象,可以调用String的方法; 二、引用另外一个bean 装配这个类的bean: 1、第一种方法,property标签中使用bean引用 2、使用Spring表达式 Spring表达式中,对象名点属性: 阅读全文
posted @ 2019-09-21 18:02 wmqiang 阅读(432) 评论(0) 推荐(0)
摘要:一、构造方法注入 其中,可以根据不同的参数列表调用不同的重载的构造方法; 其中,基本数据类型没有包,引用类型都有包路径,基本类型对应封装类; 二、通过property标签调用类的set方法注入 三、通过p命名空间注入属性值 其中,命名空间就是约束规范; 阅读全文
posted @ 2019-09-20 23:35 wmqiang 阅读(240) 评论(0) 推荐(0)
摘要:一、Bean作用域 二、生命周期 其中,这个类实现各种接口重写各种方法,会按bean的声明周期按序执行; 其中,自定义的初始化和自定义销毁的方法不是实现接口重写,而是成员方法,并且在装配bean即在xml中写的时候说明的; 其中,Bean处理器是对所有bean对象的共同处理; 创建Spring容器, 阅读全文
posted @ 2019-09-17 23:53 wmqiang 阅读(294) 评论(0) 推荐(0)
摘要:一、装配Bean就是在xml写一个Bean标签;装配完Bean,还需要读取xml配置文件创建Spring容器来创建对象; 1、new 实现类方式 正常的三种创建Bean容器的方法都可以根据装配的Bean创建的Bean对象; 2、静态工厂模式方式 其中,静态工厂方式不用创建工厂对象,直接类名点静态方法 阅读全文
posted @ 2019-09-17 23:49 wmqiang 阅读(715) 评论(0) 推荐(0)
摘要:一、BeanFactory和ApplicationContext对比 其中,ApplicationContext容器即时加载,就是一加载配置文件,就会创建对象,且自动装配bean(即写道xml中bean,包括依赖注入给属性赋值);而BeanFactory容器是延迟加载,再第一次调用时候才会初始化Be 阅读全文
posted @ 2019-09-17 22:29 wmqiang 阅读(213) 评论(0) 推荐(0)
摘要:一、src路径下打包完在war包的classes层级下 1、Spring容器创建的三种方式 创建Bean容器之后创建对象: 其中第三种使用的是BeanFactory对象 2、spring通过配置文件用容器创建对象的原理 阅读全文
posted @ 2019-09-17 22:16 wmqiang 阅读(914) 评论(0) 推荐(0)
摘要:一、概念 1、非空约束 2、唯一约束 其中,删除时,要删除唯一索引,唯一约束也叫唯一索引; 3、主键约束 其中,主键是非空且唯一的,删除对表而言删除primary key; 4、自动增长 二、外键约束 1、有外键情况下,删除要先删除从表对应数据; 从表新增数据时外键列值必须是主表的对应字段存在的值; 阅读全文
posted @ 2019-09-15 23:18 wmqiang 阅读(123) 评论(0) 推荐(0)
摘要:一、范式概念 二、三大范式实例: 其中,红框为码,里面两个主属性组成的属性组; 其中,先消除部分依赖,及码是属性组时候,消除部分依赖于码的非主属性,拆出去建新表,带着依赖的那个主属性,可以作为外键约束; 再消除传递依赖,A >B >C; 则AB留一张表,BC拆除去成新表,B作为BC新表外键约束; 阅读全文
posted @ 2019-09-15 22:48 wmqiang 阅读(147) 评论(0) 推荐(0)
摘要:一、事务概念和基本操作 其中,开启事务后,没有回滚或者提交事务(数据持久化更新),数据就一直处于临时变化状态; 二、事务提交方式 三、事务的四大特征 四、事务的隔离级别 阅读全文
posted @ 2019-09-15 22:10 wmqiang 阅读(143) 评论(0) 推荐(0)
摘要:大工厂,容器框架; aop:权限管理,运行监控(日志); spring:先配置加载bean.xml配置文件, ioc 是手动创建对象变成spring容器创建对象;控制反转(ioc)依赖注入(DI)一个意思; DI 是用过bean.xml配置文件给spring容器中的生成的bean对象属性赋值; 1、 阅读全文
posted @ 2019-09-15 22:09 wmqiang 阅读(174) 评论(0) 推荐(0)
摘要:一、一个简易测试框架: 1、定义Check注解,无需添加属性 2、需要测试的类,添加@Check注解 3、测试框架代码: for循环上创建一个文件输出流对象,记录方法测试记录: 捕捉异常: 其中,getClass()是全路径,getSimpleName()是类名; 运行测试结果: 阅读全文
posted @ 2019-09-15 21:03 wmqiang 阅读(228) 评论(0) 推荐(0)
摘要:一、注解概念 1、编写文档 二、JDK预定义的注解 三、 自定义注解 1、 使用和添加属性 其中,Per'son是枚举类型; 四、元注解 Target源码: ElementType源码: 五、解析注解,获取注解中定义的属性的值 其中,获取的是当前类的字节码Class对象; 其中,Class对象的ge 阅读全文
posted @ 2019-09-15 19:40 wmqiang 阅读(173) 评论(0) 推荐(0)
摘要:一、写一个“框架”,可以创建任何对象运行任何方法 1、配置文件 2、使用类加载器ClassLoader,Properties集合是可以和IO流结合使用完成读取和写入数据的集合,方法参数列表是IO流; Class类的静态方法forName()创建Class对象; 现在只需要,配置文件配置需要的类和方法 阅读全文
posted @ 2019-09-15 19:36 wmqiang 阅读(300) 评论(0) 推荐(0)
摘要:一、反射概念 1.1反射机制 其中,class字节码文件是存储在硬盘上,想变成对象进入内存中,要通过类加载器ClassLoader对象,加载类,将类的各个组成部分封装成Class类对象,和各个对应的数组对象; 2、反射好处 其中,如对象名点方法,就是用的反射机制,即将Class类对象的成员方法数组按 阅读全文
posted @ 2019-09-15 16:41 wmqiang 阅读(159) 评论(0) 推荐(0)
摘要:一、Junit单元测试属于白盒测试的一种 1、使用和运行结果: 1.1使用 其中,测试方法void修饰就行,不用返回值; 其中,每个测试方法@Test都可以旁边三角形单独执行;使用断言一起判定结果; 1.2运行结果 运行结果绿色代表运行成功,红色是运行失败 2、@Before 和 @After 其中 阅读全文
posted @ 2019-09-15 16:00 wmqiang 阅读(207) 评论(0) 推荐(0)
摘要:一、对象存在,方法也存在,双冒号引用 1、方法引用的概念: 使用实例: 1.1先定义i一个函数式接口: 1.2定义一个入参参数列表有函数式接口的方法: 1.3调用这个入参有函数式接口的方法: lambda表达式中传入的参数实际原理是传给 函数式接口的抽象方法的,相当于是实现类,匿名内部类重写方法原理 阅读全文
posted @ 2019-09-15 15:22 wmqiang 阅读(489) 评论(0) 推荐(0)
摘要:一、IO流用于读写;Stream流用于处理数组和集合数据; 1、传统集合遍历: 2、使用Stream流的方式过滤: 其中,链式编程(返回值就是对象自己)中,filter使用的是Predicate函数式接口,它的唯一抽象方法是Test()布尔判断: 遍历方法forEach()使用的是数据消费Comsu 阅读全文
posted @ 2019-09-15 10:28 wmqiang 阅读(5665) 评论(0) 推荐(0)
摘要:1、list集合都使用增强for循环遍历,时间复杂度低,效率高; 2、boolean判断时,效率高的写法:if(!boolean) return; 阅读全文
posted @ 2019-09-13 10:54 wmqiang 阅读(122) 评论(0) 推荐(0)