自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 SpringMVC自定义视图

我们在使用SpringMVC拦截并处理客户端请求时,需要添加一个InternalResourceViewResolver内部视图解析器来解析视图(将逻辑视图转化为物理视图),如下:<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/view/...

2020-04-20 20:23:17 412

原创 SpringMVC处理异常

情景实例:index.jsp页面内容<a href="./computer/div.do?id=1">touch</a>目标页to.jsp页面内容target处理请求方法controller类ComputerController代码package com.jd.computer;import org.springframework.ster...

2020-04-18 22:51:20 226

原创 ContextLoaderListener监听器源代码分析

使用ContextLoaderListener也可配置SpringMVCweb.xml配置文件如下<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j...

2020-04-15 15:36:58 261

原创 mvc:default-servlet-handler标签的作用

在使用SpringMVC时,如果因为特殊需要需要在web.xml配置文件中将DispatcherServlet拦截的请求设置为“/”,则会导致DispatcherServlet拦截所有请求“/”拦截除jsp外所有请求 “/*”拦截所有请求现在如果在index页面加入一个本应该由tomcat的Servlet处理的请求,而我们自定义的Handler不能处理的请求<%...

2020-04-11 22:04:18 724

原创 SpringMVC拦截器

一、作用SpringMVC拦截器可以拦截客户端发送的请求,并在调用处理方法前处理方法后做出一定处理二、实现1、自定义拦截器Interceptor类创建一个名为MyInterceptor的java类,并实现HandlerInterceptor接口,如下:public class Interceptor implements HandlerInterceptor{ //...

2020-04-09 13:27:35 396

原创 Java中File.separator作用详解

File.separator代表系统默认文件目录分隔符,即我们所说的“斜线”但由于在Windows系统中分隔符为“\”而在Linux系统中分隔符为“/”例如://在temp目录下建立一个test.txt文件File file1 = new File ("C:\temp\test.txt");//WindowsFile file2 = new File ("/temp/test...

2020-04-03 12:32:53 8781

原创 使用properties简化代码

1、为什么要使用properties?在编写项目时,常需要将一些服务器地址或数据库链接地址等信息写在源代码内部,代码编译后不方便后续代码使用者去按需更改配置,因此可以选择使用properties类型文件来简化这些配置并保存为一个外部文件,方便后来使用者的更改和查看。2、步骤(1)创建File类型文件config.properties(2)配置简化代码格式:简化代码名=...

2020-04-03 12:06:58 141

原创 SpringMVC请求处理过程

1、Web服务器拦截到页面的请求后,执行FrameworkServlet类中的service()方法接着调用其所继承接口HttpServlet中的service()方法,获取处理请求的方法2、接着,执行FrameworkServlet类中的doGet()方法3、执行FrameworkServlet类中的processRequest()方法,执行service处理请求的方法...

2020-03-28 17:08:57 164

原创 load-on-startup标签的作用

在配置SpringMVC的时候,我们会在xml文件中配置load-on-startup标签SpringMVC的作用就是简化Web服务器处理客户端请求的代码操作,代替我们完成创建众多servlet、通过getParameter获取数据等一系列操作。下面我们来分析源代码中,如何实现这一系列初始化。1、寻找init()方法链接spring-web-4.3.10.RELEASE-sou...

2020-03-28 16:36:05 206

转载 【转载】Servlet生命周期

原文链接:https://www.runoob.com/servlet/servlet-life-cycle.htmlServlet 生命周期Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:Servlet 通过调用 init () 方法进行初始化。 Servlet 调用 service() 方法来处理客户端的请求。 Serv...

2020-03-26 13:05:59 107

原创 EL表达式

一、EL什么是EL?EL(Expression Language 表达式语言)定义了一系列隐含对象和操作符,无须Java代码即可方便地访问pageContext、request、session、application作用域中的对象。用法1、显示String类型数据...

2020-03-23 17:19:43 123

原创 详述Spring事务

一、什么是Spring事务事务:指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么都不执行。简单的说,事务就是并发控制单位,是用户定义的一个操作序列。而Spring事务也同样满足ACID属性:A:原子性(Atomicity) 事务中的操作要么都不做,要么就全做。C:一致性(Consistency) 事务执行的结果必须是从数据库从一个一致性状态转换到另一个一致性...

2020-03-17 14:34:03 255

原创 详述JDK代理与CGLib代理区别

设置代理方式在我们配置AOP的时候如果不手动设置,则默认使用JDK动态代理决定是否使用JDK代理由proxy-target-class属性决定,若值为false则使用JDK代理,true则使用CGLib代理通过以测试可以验证:application.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns=...

2020-03-15 14:01:57 187

原创 MyBatis框架一对一与一对多映射

情景实例现有用户地址、信息两表如下addressuser_info现在要实现使用mybatis实现查询某人的多个(收货)地址,或者查询某人的唯一收货地址则需要通过MyBatis映射的方法去实现情景一:一对多为实现一个用户对应多条地址数据,需要创建自定义类Address同时在UserInfo类中添加List<Address>属性UserInfo.j...

2020-03-13 16:58:29 264

原创 MyBatis缓存技术

什么是mybatis缓存?为提升数据库查询效率,MyBatis提供了数据缓存支持,依据数据缓存的有效范围默认定义了一级缓存和二级缓存演示准备(1)mapper接口IUserInfoDao.javapackage com.jd.userinfo.dao;import java.util.List;import org.apache.ibatis.annotations....

2020-03-10 20:06:23 168

原创 MyBatis动态sql

为什么使用动态SQL?使用动态sql可以方便的根据不同条件拼接sql语句。(1)多条件查询<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-map...

2020-03-10 18:54:34 107

原创 Spring整合MyBatis

1、导入所需jar包附:spring-mybatis整合jar包GitHub链接:https://github.com/mybatis/spring注意:导入jar包时按需添加,否则可能发生jar包冲突难以发现2、创建并配置mybatis-config.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE c...

2020-03-10 16:21:26 134

原创 创建你的第一个MyBatis程序

什么是MyBatis?MyBatis源自Apache的iBatis开源项目, 从iBatis3.x开始正式更名为MyBatis。它是一个优秀的持久层框架。为什么要用MyBatis?在以往我们在使用JDBC与数据库进行交互时,无论是使用DBUtil工具类,还是Spring的JDBCTemplate对象,其中所有的SQL代码都与Java语句耦合在了一起,这对后期维护修改程序带来了很大麻烦,...

2020-03-06 14:12:32 269

原创 静态方法特点

静态的内存空间是固定的,相对来说更省资源。创实例的创一个实例就要开辟一个新内存,耗费资源静态方法属于类所有,类实例化前即可使用;非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,...

2020-03-03 18:02:48 5084

原创 使用Spring连接数据库

一、数据库连接池数据库连接是一种关键、有限且昂贵的资源,创建和释放数据库连接是一个很耗时的操作,频繁地进行这样的操作将占用大量的性能开销,而使用数据库连接池可以节省系统许多开销。数据库连接池(Database Connection Pooling)在程序初始化时创建一定数量的数据库连接对象并将其保存在一块内存区中,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;释放空闲时间...

2020-03-03 17:49:33 1306

原创 详述Spring AOP

一、为什么需要AOP情景实例:假设你现在有一个计算类ComputerService实现了一些简单的加减乘除功能,你想在返回结果前输出一些提示性语句,因此你写了如下的代码:ComputerService.javapublic class ComputerService implements IComputerService { public int add(int a, in...

2020-03-01 19:45:28 734

原创 总结使用Spring为构造方法以及变量的赋值方式

一、为构造方法赋值为展示赋值效果首先创立测试类UserInfo.javapublic class UserInfo { public UserInfo(int age,String name) { System.out.println(age +" "+ name); } public UserInfo(Date date) { System.out.println...

2020-02-26 16:21:28 486

原创 详述context:component-scan作用

一、标签作用context:component-scan标签可根据写入的包名,扫描指定包及其子包中的所有“类”,并为添加了 @Component(组件),@Service(服务),@Controller(控制器),@Repository(数据仓库)修饰的类创建对象并存入IoC容器。<context:component-scan base-package=""></con...

2020-02-26 14:45:15 611

原创 详述Spring对象生命周期

我们知道,SpingIOC容器管理着单例bean的生命周期,也就是说某个组件在产生到销毁的整个生命周期的过程都是被容器进行管理的,Spring允许在bean生命周期的特定点执行特定的任务。并且在声明周期不同时刻,IoC容器会执行不同的操作。SpringIOC容器管理bean的过程如下: 通过无参构造器或者工厂方法创建bean的实例 调用set方法给实例的属性赋值 调用bea...

2020-02-22 21:20:00 289

原创 详述Spring中scope的作用

一、介绍scope在使用IoC容器创建Bean对象时,如果我们创建一个单例的bean,则所有对它的请求都会返回相同的对象。Test.javapublic class Test { public static void main(String[] args) { ClassPathXmlApplicationContext applicationContext = new Cl...

2020-02-22 21:05:26 282

原创 详述lazy-init作用

一、lazy-init介绍我们在使用Spring框架创建IoC容器时,ApplicationContext实现的默认行为会在启动时将所有singleton bean对象提前进行实例化,这会让ApplicationContext实例提前创建并配置所有的bean对象。这一点可以从下面“构造方法”的例子中证明:application.xml<bean id="userInfo" cl...

2020-02-22 20:43:25 1112

原创 详述Servlet中ajax异步技术

介绍:什么是异步起因:当浏览器向Web服务器发送一个请求时,服务器接收并处理传来的表单,然后返回一个新的网页,这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间,所以出现了Ajax技术。作用:使用Ajax技术可以在不重新加载整个网页的情况下向服务器发送请求并接收来自服务器的响应以实现...

2019-11-27 17:32:51 250

原创 关于Windows Server 2016 安装.NET 3.5 失败解决办法

一般在要在win server 2016服务器上安装net3.5不能直接使用.exe文件安装,否则会出现缺少必要组件,安装失败。因此正确的安装方式是通过“服务器管理———仪表盘——-添加角色和功能———选择添加Web服务器(IIS)———选择添加net.3.5” 即可!下面是具体安装步骤:1.2.3.4.5.6.安装选中即可。...

2019-11-16 20:17:18 16722 2

原创 简述jQuery扩展机制(插件)

介绍我们在使用jQuery库内函数时,有时会遇到库内函数不能满足需求的问题,此时就需要我们扩展jQuery库函数,即添加插件。一般来说,jQuery提供了两种扩展其库函数的方法,区别就在于它们分别扩展了JQ对象本身和JQ元素集,因此在调用方式上,前者可直接使用‘$’符号调用,而后者需要先创建JQ对象后再调用,下面分别来介绍这两种方式。详析1、jQuery.extend(object)...

2019-11-14 19:39:54 288

原创 【记录】如何完整得实现一个简易登陆注册系统

概述实现一个完整的登陆注册系统需要包含下面这三大部分:页面(登陆注册入口)、后台(处理用户表单)、数据库(存放账户数据)在页面端获取到登陆或者是注册的信息,同时对表单数据进行判定是否满足相应条件(比如密码长度是否小于8位,账号长度是否小于6位,两次输入的密码是否一致等等)在页面端获取到数据后就需要向后台传输这些数据后台接到这些表单数据后就需要执行以下操作,例如使用MD5加密密码、向...

2019-11-11 21:54:14 1274 4

原创 简述jQuery中替换元素的方法

介绍replaceWith(content,fn) 将所有匹配的元素替换成指定的HTML或DOM元素 replaceAll(selector) 用匹配的元素替换掉所有 selector匹配到的元素 区分1、replaceWith()<!DOCTYPE html><html> <head> <meta chars...

2019-11-11 20:02:30 2117

原创 【Tips】如何获取当前标签JS对象

思路通过调用某一方法并向该方法传递“this”值,可以达到获取该标签JS对象的目的。实例<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-3.3.1.js"...

2019-11-11 19:52:33 478

原创 简述jQuery中删除DOM节点的方法

介绍empty() 删除匹配的元素集合中所有的子节点,不包含自身 remove([Expr]) 删除匹配元素,包含自身 区分1、empty()<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title>...

2019-11-11 19:14:27 358

原创 详述jQuery事件

一、使用bind()方法绑定事件作用:为每个匹配元素的特定事件绑定对应的事件处理函数格式:bind(type,[data],fn)其中type表示事件类型,data表示传递给绑定函数的额外数据对象,fn表示绑定的函数例子:<!DOCTYPE html><html> <head> <meta charset="utf-8"...

2019-11-10 21:03:19 121

原创 简述jQuery的clone()方法

介绍复制指定元素生成新的JQ对象,传入值有两个true和false。举例<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/jqu...

2019-11-10 19:40:52 377

原创 简述jQuery中warp,wrapAll和wrapInner方法

介绍wrap() 把所有匹配的元素用其他元素的结构化标记包裹起来 wrapAll() 将所有匹配的元素用一个元素来包裹,而 wrap() 方法是将所有的元素进行单独包裹 wrapInner() 将每一个匹配的元素的子内容(包括文本节点)用其他结构化标记包裹起来 区分1、wrap()方法<!DOCTYPE html><html>...

2019-11-10 19:26:34 342

原创 简述JS中after方法与insertAfter方法的区分

介绍after() 向每个匹配的元素后插入内容 insertAfter() 将匹配的元素插入到另一个指定的元素后面 注意:after方法是在指定元素外部的末尾添加元素,而上篇博客中介绍的append方法则是在指定元素内部末尾添加元素。区分1、after()<!DOCTYPE html><html> <head> ...

2019-11-09 20:54:00 1576

原创 简述JS中append方法与appendTo方法的区分

介绍append() 向每个匹配元素内部的末尾处插入内容 appendTo() 将每个匹配的元素追加到指定的元素中的内部的末尾 区分1、append()<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></titl...

2019-11-09 20:37:35 7150

原创 简述JS中next方法与nextAll方法

介绍next() 取得一个包含匹配的元素集合中每一个元素紧邻的后面同辈元素的元素集合 nextAll() 查找当前元素之后所有的同辈元素 区分<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> &l...

2019-11-09 20:22:36 9580

原创 简述JS的parent方法与parents方法的区分

介绍parent() 取得一个包含着所有匹配元素的唯一父元素的元素集合 parents() 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素) 区分<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></titl...

2019-11-09 19:57:49 6692

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除