- 博客(107)
- 收藏
- 关注
原创 File类总结
File类代表一个特定的文件或者目录,并提供了若干方法对该文件或目录进行操作。File类构造方法:通过路径名创建一个新 File 实例根据父目录路径File实例和子目录或文件路径创建一个新 File 实例根据父目录路径和子目录或文件路径创建一个新 File 实例示例:public class Test { public static void main(String[]...
2020-03-02 17:06:24
240
原创 MyBatis框架一级缓存与二级缓存
为了提升查询效率,提高用户体验,MyBatis提供了数据缓存支持,依据数据缓存的有效范围默认定义了一级缓存和二级缓存一级缓存:该级缓存默认开启,不能关闭; 该级缓存为SqlSession级别的缓存,也称为本地缓存; 以下4种情况将会导致该级缓存失效:a、在不同SqlSession中查询数据,因为一级缓存是在一个sqlSession中生效的,所以那,如果在不同的sqlSession中...
2020-03-02 12:14:55
514
原创 SpringMVC的工作原理
SpringMVC的工作原理图:1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 Dispa...
2020-03-02 11:08:45
182
原创 SpringMVC:拦截器
拦截器作用:将堆内存SpringMVC使用拦截器对请求进行拦截处理,以实现特定的功能。1、自定义一个实现HandlerInterceptor接口的类并实现接口中定义的抽象方法,如下代码:package com.jd.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.H...
2020-03-01 19:47:04
130
原创 SpringMVC之自定义视图及源码执行过程。
1、定义自定义视图:将其放入IoC容器中,①getContentType():设置响应视图的类型②render():处理最终的响应操作,InternalResourceView的这个方法也继承自它的父类AbstractView,只不过它的父类又声明了一个抽象方法renderMergedOutputModel(),并且在render()方法中调用了该方法,因此在实际运行中调用的实际是Inte...
2020-02-27 22:36:04
156
原创 InternalResourceViewResolver工作流程
浏览器发起请求——>DispatcherServlet类doService(HttpServletRequest request, HttpServletResponse response)方法捕获该请求,该方法代码如下: @Override protected void doService(HttpServletRequest request, HttpServletResponse...
2020-02-26 20:11:17
382
原创 SpringMVC SessionAttributes注解
SessionAttributes注解:作用:将Map、ModelMap、Model或ModelAndView中的数据暂存到HttpSession中以使其可以在多个请求之间共用数据。注意:1、不过包括request。2、只能作用于类上。一、:Map中put()方法:通过value指定哪些属性放到Session.@Controller@SessionA...
2020-02-26 11:33:02
139
原创 SpringMVC数据格式化
上一篇博客说明了数据转换器,但是操作略微麻烦,需在app.xml中进行配置,其实实现数据转换还有一种方式,就是通过注解的方式实现。在需要转换的属性前加上所需类型的注解。\@DateTimeFormat注解:可对java.util.Date、java.util.Calendar、java.long.Long时间类型进行标注:1、pattern 属性:类型为字符串。指定解析/格式...
2020-02-26 10:50:25
118
原创 SpringMvc数据类型转换器
为什么许哟啊数据类型转换器?ConversionService converters = java.lang.Boolean -> java.lang.String : org.springframework.core.convert.support.ObjectToStringConverter@1b27f3d java.lang.Character -> java.lan...
2020-02-26 10:25:07
173
原创 阐述一个请求在SpringMVC中的执行过程
本来糊糊涂涂的对这个过程,但是晚上找到了一张图,看完图,再对应一下自己的理解,然后断点都接上了!执行顺序如下:1、在servletConfig中给servlet添加Qurl映射(将请求中匹配到的字符串截取掉,例如: index.html -> index)2、处理器映射器( HandlerMapping)根据此请求找到相应的Controller中的me thod3、遍历所...
2020-02-17 19:55:39
291
原创 分析配置DispatcherServlet类时load-on-startup标签作用
<servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <...
2020-02-17 19:32:30
495
原创 mybatis——动态SQL
我们在操作数据库时常常需要进行SQL语句的拼接。有了动态SQL之后,语句拼接更加容易操作。下面我们通过一个例子实现动态sql应用:一、创建工程如下所示:二、user_info代码如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapp...
2020-02-12 22:10:51
92
原创 初识MyBatis
本博客主要介绍为什么需要mybatis以及通过简单的例子介绍如何使用mybtis。为什么需要MyBatis?为了和数据库连接交互,我们通常将sql语句 写在java代码中,但是这种方式不利于后期维护,MyBatis就可以将sql语句和java代码分离,方便后期因为需求变动而对sql语句进行修改。下面通过简单的例子进行实现:一、创建MyMyBatis工程,导入jar包。二、建...
2020-02-10 21:21:51
285
原创 如何在Spring中配置Quartz定时器
定时器:定时器分为两种,TimerTask和Quartz,常用的是Quartz的定时器(下载地址)一、创建java工程,创建lib包,导入如下jar包:注意:quartzjar包需要依赖slf4j使用。二、 创建BeanJob类和Test类代码分别如下:package com.jd.job;import org.quartz.JobExecutionContext;i...
2020-02-10 11:58:08
143
原创 Spring事务
事务的作用:保持数据的一致性和完整性。在学习数据库中,也到事务,只不过每个事务都需要,开启事务、提交事务、回滚事务、释放资源的代码,这种方式叫做“编程式事务管理”。那么另一种事务管理方式,将事务管理代码从业务方法中分离出来,以声明的方式来实现事务管理,Spring声明式事务管理建立在AOP基础之上,是一个典型的横切关注点,通过环绕增强来实现,其原理是对方法前后进行拦截,然后在目标方法开始之...
2020-02-09 12:44:45
103
原创 JdbcTemplate
JdbcTemplate是什么?字面意思就是Java datebase connectivity template——>java数据库连接方法模板。也是Spring JDBC的核心类,借助该类提供的方法可以很方便的实现数据的增删改查。下边通过一个例子了解一下JdbcTemplate增删改查基础用法:已知有三个表,分别是:书籍、钱包、订单,通过JdbcTemplate实现书籍库...
2020-02-09 11:43:06
317
原创 数据库连接池
一、数据库连接池建立的原因:未使用数据库连接池时,每次连接数据库,都需要新建一个数据库连接,结束时需要释放数据库连接,操作频繁占用大量的内存资源,所以建立数据库连接池,用来减少数据库的建立和释放。例子:就像共享单车,用完车后归还,其他需要车的人等待,有闲置的车后,才可以进行使用(连接),这样就不必要每个人都拥有一辆车,大大减少了社会资源的浪费。也提高了车的利用率。二、什么是数据库连接池...
2020-02-07 18:40:53
134
原创 Cannot Resolve Symbol xxx 错误解决
我又来记录了........新导入IDEA的项目,但是提示很多Cannot Resolve Symbol xxx错误,主要是SpringMVC的注释,还有导入的jar包,都会报这个错误。在网上找到一些方法,最后用下种方法解决:1、IDEA默认使用的系统自带的maven3,所以先将maven改为自己配置的maven。操作如下:2、点击clean。3、点击in...
2020-02-06 21:37:27
5193
1
原创 小米手机解锁BL以及获取Root权限(开发版)
已经很久没有刷机了,现在有需要,就再刷一下。想起来自己以前刷机很流畅,现在还得查来查去的。所以就写了以下教程,主要是记录一下自己踩过的一些坑。我刷的手机是小米8,所以以下教程都是小米8为例,其他手机可能还有细微不同之处.......一、解锁BL:这是官方教程,很详细!我就是在教程中,把自己踩过的一些坑给罗列一下,增加一下自己的印象。解锁Bootloader的步骤:解锁前,请将版...
2020-02-06 13:17:35
24075
1
原创 AOP的执行时机
执行时机,也就是AOP的执行顺序嘛。了解AOP中aspect的执行顺序,有助于我们更好的使用AOP。下面我们通过一个见到那的例子去了解AOP的执行顺序。按照以下顺序使用AOP:1、添加jar包:2、添加spring xml文件,在文件中配置,为目标对象生成动态代理对象。如图所示:配置代码如下:<?xml version="1.0" encoding="UTF-8...
2020-02-04 21:39:03
615
1
原创 初识AOP
什么是AOP:aspect oridented programming,面向切面编程,是一种在运行时,动态代理实现对传统编程的补充。AOP用途:简化代码。面向对象开发时,有很多重复的代码,现在就是通过分层,对代码简化。通过例子讲述如何使用AOP:1、添加jar包:2、添加spring xml文件,在文件中配置,为目标对象生成动态代理对象。如图所示:3、创建ICalcul...
2020-02-04 21:25:01
121
原创 四种常用的元注解
元注解:是java提供的修饰自定义注解的四种注解,叫元注解,包括以下四种:@Target:用于指定自定义注解的使用范围。ElementType.FIELD:应用于全局属性 ElementType.METHOD:应用于方法 ElementType.PARAMETER:应用于方法的参数 ElementType.TYPE:应用于类、接口或者枚举声明@Retention:用于修饰自定义注...
2020-01-08 12:55:03
970
原创 如何创建Class对象?
想要知道如何创建Class对象?首先明白class类的四大特性:该类在java.lang包中; 该类被final所修饰,即该类不可以被子类继承; 该类实现了Serializable接口; 该类的构造方法被private所修饰,即不能通过new关键字创建该类的对象;至于如何创建class对象,不多说都在代码里:事先创建一个Student类:package youxiu;...
2020-01-07 11:27:50
1109
原创 bean生命周期
id、name属性:为bean标签添加id和name属性都可以通过调用getBean(id属性值或name某个属性值)方法获取到SpringIOC容器中的对象。注意:id只能有一个,但是name可以有多个,用',’间隔就可以了autowire属性:指定自动装配的模式有四种情况,no默认、byName通过属性名称、byType通过属性类型、constructor通过构造方法,其中只有byNa...
2020-01-05 17:39:35
419
原创 如何为构造方法中不同数据类型参数赋值
承接上一篇博客,上一篇博客中只是无参构造方法,通过无参构造方法可以知道,spring真的可以创建对象,现在如果是有参的构造方法,那么我们如何去给构造方法中的不同数据类型进行参数赋值那?下面代码中注释非常详细,我就不一一赘述:person中代码如下:package com.jd.vo;import java.util.Date;import java.util.List;imp...
2020-01-03 17:43:36
694
原创 初识Spring
Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器开源框架。轻量:轻量与重量是一个相对的概念,从大小与开销两方面而言Spring都是轻量的。EJB比较大,且其启动时需要消耗大量的内存、CPU等资源,所以是重量级框架;而Spring则不是,所以是轻量级框架。其实关于IoC和AOP是什么,我也不是很清楚,会在明天学习后慢慢了解。今天就是通过Spring几种创建对象方式,来...
2020-01-02 17:15:04
104
原创 Servlet监听器三
感知Session绑定的事件监听器:保存在Session域中的对象可以有多种状态:绑定到Session中;从Session域中解除绑定;随Session对象持久化到一个存储设备中;随Session对象从一个存储设备中恢复;Servlet规范中定义了两个特殊的监听器接口来帮助JavaBean对象了解自己在Session域中的这些状态:HttpSessionBindingListener接口和...
2019-12-30 16:19:57
107
原创 Servlet监听器二
域对象中属性变更事件监听器用来监听ServletContext、HttpSession和HttpServletRequest这三个对象中的属性变更信息事件的监听器。这三个监听器接口分别是ServletContextAttributeListener、HttpSessionAttributeListener和ServletRequestAttributeListener,这三个接口中都定义了三个方法...
2019-12-30 14:33:23
126
原创 Servlet监听器一
了解Servlet之前我们先了解监听器是什么?字面意思,就是监听这个web干嘛了,然后我们根据得到的信息可以采取什么措施。术语:监听器:专门用于对其它对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。Servlet对象根据监听的事件可以分为三种类型:域对象监听器,属性监听器,HttpSession域内对象监听器。本文主要讲解域对象监听器。...
2019-12-30 11:38:27
146
原创 Servlet的生命周期
Servlet是服务器端的Java应用程序,可以生产动态Web页面。透过JSP执行过程可以知道JSP最终被编译成一个.class文件,查看该文件对应的Java类,发现该Java类继承自org.apache.jasper.runtime.HttpJspBase类,而HttpJspBase继承自HttpServlet类,由此可知JSP第一次运行时实质上是被JSP引擎翻译成了一个Servlet,然后再编...
2019-12-19 17:58:35
101
原创 三级级联的小优化(通过首字母排列)
刚才看三级级联的博客链接,发现....无论是省还是市还是县,都不是按照规律的顺序排列的,然后看了看之前的代码还在,就想着改一下...把sql语句加上order by,这样就可以实现有序排列了。直接order by是不行的,因为是字段属性,所以需要使用CONVERT函数把String sql= "select*from area where parent_code=? "...
2019-12-11 21:01:51
154
原创 通过异步实现分页
为什么要是实现分页?答:分页,是一种将所有数据分段展示给用户的技术.用户每次看到的不是全部数据,而是其中的一部分,如果在其中没有找到自习自己想要的内容,用户可以通过制定页码或是翻页的方式转换可见内容,直到找到自己想要的内容为止.其实这和我们阅读书籍很类似.(来源于其他网络资源)首先建立如下一个数据库:分页要求如下:每页显示3条数据 有上一页和下一页按钮 可以通过name 和...
2019-12-11 20:46:01
701
原创 EL和JSTL
通过请求转发、在目标页通过EL获取目标页数据:<--首页:发送请求--><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transi...
2019-12-11 17:52:51
115
原创 CSS常用样式补充
outline:轮廓线 <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <style> input{ border: hidden...
2019-12-06 17:44:57
85
原创 JSON实现三级关联
现在有三个select,需要实现效果如下:选择省后自动筛选该省的市,再选择市后自动筛选该市的县区。实现需求的关键:1、使用JSON解析工具解决new Gson().toJson() 将存在JSONObject成员的对象转JSON字符串2、使用JSON.parse() 方法将JSON字符串转换为 JavaScript 对象3、然后onchange事件的添加,将三个事件关联起来...
2019-12-06 17:06:50
402
原创 请求转发与重定向
重定向:术语:重定向(Redirect):客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方法将结果(结果中头信息内HTTP状态码为302,Location响应报头域中保存响应回来的地址)返回客户端浏览器;客户端浏览器收到服务器端结果后解析其头部信息,然后自动按照头部指定地址以GET方式再次向Web应用服务器端发...
2019-12-05 21:25:16
222
原创 Tomcat文件目录结构
最初是的tomcat文件目录里有以下文件夹:bin:在这个文件夹中我们可以开启和关闭tomcat服务器,分别是:shutup.bat和shutdown.bat cnof:这个文件夹是用来配置tomcat服务器的,其中server.xml文件中,我们可以简单的找到,端口号8080,并改为80,这样的话,我们再次访问127.0.0.1:8080,此时就不用输入8080了 lib:是用来存放to...
2019-12-04 17:34:40
215
原创 CSS常用样式:下
font:设置字体样式 常用属性有:style:设置字体样式,斜体、加粗等等 weight:设置字体粗细,400等于正常,700=bold size:设置字体大小 family:设置什么字体,微软雅黑、华文彩云等等。background :设置背景 常用属性有:color:背景颜色 image:图片背景(默认全铺) repeat:图片背景平铺样式li...
2019-12-04 12:11:12
74
原创 CSS常用样式:上
display:为了达到行级元素和块级元素互相转换运营而生的CSS样式。常用的display属性值是有:none:隐藏元素 block:转换为块级元素 inline、转换为行级元素 inline-block:转换为行块级元素<!DOCTYPE html><html> <head> <meta charset="utf-8" />...
2019-12-03 18:39:42
242
原创 CSS常用选择器
标签选择器:浏览器为HTML文档内标签名与标签选择器名相同的标签元素添加CSS样式 ID选择器:浏览器为id标签属性的属性值与id选择器名相同的标签元素添加CSS样式 类选择器:浏览器为class标签属性的属性值与类选择器名相同的标签元素添加CSS样式例子如下:<!DOCTYPE html><html> <head> <...
2019-12-03 11:05:50
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人