自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SpringBoot整合shiro实现请求授权

一、在配置类的getShiroFilterFactoryBean 方法中为接口添加权限: @Bean public ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("getDefaultWebSecurityManager") DefaultWebSecurityManager defaultWebSecurityManager){ ShiroFilterFactoryBean shiroFilterFa

2021-09-13 16:41:19 201

原创 SpringBoot整合shiro实现用户认证

一、添加登录页面及登录表单:<!DOCTYPE html><html lang="en" xmlns:th="http://www.w3.org/1999/xhtml"><head> <meta charset="UTF-8"> <title>Title</title></head><body><p th:text="${msg}" style="color: red">&

2021-09-13 14:49:36 151

原创 SpringBoot整合Shiro实现登录拦截

一、搭建一个SpringBoot 项目。二、导入shiro 相关坐标: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.7.1</version> </dependen

2021-09-12 15:43:47 229

原创 SpringSecurity的web权限方案

一、认证1、设置登录的用户名和密码第一种方式,通过application.properties配置文件进行配置。#自定义设置登录用户名和密码spring.security.user.name=jackspring.security.user.password=123456abc设置密码后,SpringSecurity就不会再自动生成密码。第二种方式,通过配置类进行配置。@Configurationpublic class SecurityConfig extends WebSecurit

2021-06-29 21:40:33 554

原创 SpringSecurity概述

SpringSecurity基于Spring框架,提供了一套web应用安全性的完整解决方案。web应用的安全主要包括用户认证和用户授权两个部分,这两点正是SpringSecurity的核心功能。用户认证即验证某个用户是否为系统中的合法主体,用户授权即验证某个用户是否有权限执行某个操作。...

2021-06-28 20:52:35 299

原创 SpringBoot集成其他技术

一、集成Mybatis1、导入依赖: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.12</version> <scope>runtime</sco

2021-06-28 20:03:28 174

原创 SpringBoot配置文件

主要分为.properties和.yml/.yaml两种类型,效果相同,.properties就是键值对,如:以下主要关于.yml/.yaml配置文件的介绍。一、yml配置文件简介相对于xml文件,yml文件更加简洁(没有过多标签),也更加容易阅读,可以被多种编程语言导入。扩展名为.yml或者.yaml。注:SpringBoot配置的读取配置文件的顺序是:换句话说,.properties文件的优先级就会比.yml文件更高,但一般我们只需要在yml文件中配置即可。二、yml配置文件语法yml

2021-06-28 11:19:56 125 3

原创 SpringBoot原理简单分析——起步依赖、自动配置

一、起步依赖1、当我们导入spring-boot-starter-parent依赖后,SpringBoot会自动帮我们集成一些常用的依赖,并根据当前SpringBoot的版本,对集成的依赖进行版本控制,避免造成版本冲突。2、spring-boot-starter-web依赖的作用也相似,导入这个坐标后,SpringBoot也会自动去整合如SpringMVC、Spring等依赖的坐标。总之,SpringBoot是以功能为单位的,一个功能我们只需要导入其起步依赖的坐标即可,SpringBoot会自动给我们

2021-06-28 10:45:31 1316

原创 SpringBoot初体验

一、SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。二、核心功能1、起步依赖:就是将完成某个功能需要的包的maven坐标打包到一起,并提供一些默认的功能。2、自动配置:在应用程序启动时,自动去判断并进行Spring的众多配置,如数据源DataSource的配置。三、初体验1、创建一个普通maven工程(不需要使用骨架或创建web工程);2、添加两个起步依赖: <parent> <groupId>org

2021-06-27 21:23:39 174 4

原创 vue-cli+element-ui+xlsx 实现导入excel数据到前端页面展示

需求:将excel 表格中的数据导入前端页面,并展示到表格中。在读取到excel 中的数据后会将每一条数据作为一个对象,存储到数据模型的一个数组中,这样便于渲染数据到表格,也便于后续将数组存储到后台。安装插件xlsx:npm install --save xlsx完整代码:<template> <div> <!-- 按钮 --> <el-upload class="upload" action=""

2021-03-10 10:09:30 1984 1

原创 Spring-MVC通用页面跳转方法

Controller中://页面跳转 @RequestMapping("{page}") public String toPage(@PathVariable() String page){ return page; }测试跳转:<a href="add" class="btn btn-info">添加</a>关于@PathVariable注解:@PathVariable注解可以将URL中的模板变量映射到控制器处理方法的形参中,以

2021-01-04 16:46:09 287

原创 记使用Spring-MVC接收日期参数报400错误

问题描述:在前端的输入框是文本框(text),但是我们的value是日期格式:“2019-12-23 02:30:13”,这时直接发送请求就会报400,原因是封装为对象时,我们的实体类中对应的属性是日期格式,所以封装失败。解决方法:在Spring-MVC配置文件中配置一下日期转换器。springmvc.xml中:<!--开启MVC注解框架支持--> <!--<mvc:annotation-driven enable-matrix-variables="true"&g

2021-01-04 11:09:06 439

原创 IDEA创建maven web工程

一、使用骨架创建二、GroupId是公司名,ArtifactId是项目名:三、为项目添加 archetypeCatalog = internal 属性,解决项目创建过慢的问题:四、配置tomcat服务器:五、maven的web项目至此就构建完成。...

2020-11-10 11:00:10 73

原创 CSS的滑动门技术

在制作导航栏等网页元素时,常常需要为其设置特殊形状的背景,为了使各种特殊形状的背景能够自适应元素中文本的多少,即实现自由拉伸滑动,就出现了CSS滑动门技术。微信的导航栏:滑动门简单使用:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <title>Document</title> <style> a { display

2020-09-21 22:05:22 1325

原创 关于CSS三大特性的优先级

1、基础选择器的权重2、权重叠加3、关于继承的权重是0例如下图示例中,p标签中文字的颜色为绿色,因为虽然父标签的class权重更高,但在声明其样式时并没有选中p标签:

2020-09-15 21:15:41 93

原创 SSM整合小案例

Spring整合SpringMVC:1、Spring的配置文件(applicationContext.xml):在开启注解扫描时,我们只希望扫描service和dao,controller不需要Spring框架去处理:<context:component-scan base-package="com.itmao"> <!--配置哪些注解不需要扫描--> <context:exclude-filter type="annotation" expression

2020-08-31 18:16:34 89

原创 SpringMVC文件上传以及跨服务器上传

1、与传统方式一样还是要导入commons-fileupload和commons-io两个jar包:<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version></dependency><dependency&g

2020-08-30 21:09:46 143

原创 SpringMVC响应数据和结果视图

1、返回值是String类型使用Model 对象将数据存到request域对象中,并直接返回跳转页面的文件名,利用在spring配置文件中配置的视图解析器解析跳转路径,这种方式在实际开发中比较常用。@RequestMapping("/testString")public String testString(Model model){ System.out.println("testString方法执行"); User user = new User(); user.setUse

2020-08-30 11:07:08 132

原创 SpringMVC常用注解

1、@RequestParam作用:把请求中指定名称的参数给控制器中的形参赋值。属性:name:值为请求参数的名字;value:与name作用相同,值为请求参数的名字;equired:表示是否必须,默认值为true,若为true则请求参数必须有且名字必须与方法参数相同,否则会报错。使用:2、@ RequestBody作用: 用于获取请求体内容。直接使用得到是 key=value&key=value…结构的数据。get 请求方式不适用(get请求没有请求体)。属性:require

2020-08-29 22:02:33 125

原创 SpringMVC参数绑定及自定义类型转换

一、请求参数的绑定:SpringMVC 绑定请求参数的过程是把表单提交的请求参数,作为控制器中方法的参数进行绑定的。支持的数据类型:基本类型参数:包括基本类型和 String 类型POJO 类型参数:包括实体类,以及关联的实体类数组和集合类型参数:包括 List 结构和 Map 结构的集合(包括数组)SpringMVC 绑定请求参数是自动实现的,但是要想使用,必须遵循使用要求。使用要求:1、如果是基本类型或者String类型:要求我们的参数名称必须和控制器中方法的形参名称保持一致(严格区分大

2020-08-29 12:09:32 473

原创 SpringMVC及其入门小案例

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,是一个表现层框架,是基于组件方式去执行流程的。SpringMVC处理请求的机制是一个核心控制器(DispatcherServlet),它是SpringMVC的一个servlet,就相当于 mvc 模式中的 c,DispatcherServlet 是整个流程控制的中心,用户所有请求都会经过这个servlet,由它调用其它组件处理用户的请求。SpringMVC 简单使用步骤:1、在pom文件中导入spri

2020-08-28 20:55:19 190

原创 mybatis中的一级缓存和二级缓存

一级缓存:指的是mybatis中SqlSession对象的缓存。当我们执行查询后,查询得到的结果会同时存入到SqlSession为我们提供的一块区域中,该区域的结构是一个map,当我们再次查询同样的数据时,mybatis就会先去SqlSession中查询,有就拿出来用。一级缓存不用配置默认就能使用。当SqlSession对象消失时,mybatis的一级缓存也就消失了。例如调用SqlSession的修改、添加、删除、commit()、close()、clearCache()等方法就会清空一级缓存。二级缓存

2020-08-24 20:45:52 106

原创 mybatis中的延迟加载

延迟加载:在需要使用数据的时候再加载,不用的时候不加载,也叫按需加载或懒加载。(例如在查询用户信息时,用户下的账户信息就应该是什么时候用什么时候查询)立即加载:不管是否现在就要使用,只要调用方法,马上发起查询。(例如在查询账户信息时,账户所属的用户信息就应该随着账户信息一起查询出来)在四种表关系一对多、多对多、多对一、一对一中:一对多和多对多关系:通常情况下我们都是采用延迟加载;多对一和一对一关系:通常情况下我们都是采用立即加载。mybatis中延迟加载的配置:1、在主配置文件中使用settin

2020-08-24 17:13:09 402

原创 mybatis中的动态sql语句和多表查询

当查询条件不确定时,就可使用动态sql语句进行查询。1、if、where标签的使用:<!--使用动态sql语句进行查询,可以添加多个if标签--><select id="findByCondition" parameterType="user" resultType="user"> select * from user <where> <if test="username != null"> and

2020-08-20 18:08:58 681

原创 mybatis的CRUD操作及其细节

在映射配置文件中添加必要标签:1、查询操作,select标签,id属性的值是方法名,parameterType属性的值是方法参数的全限定类名,resultType属性的值是要将结果集封装到的实体类的全限定类名;ps:因为此处根据id或username查询都只需要一个id属性,所以代码中的uid、uname仅表示占位符,任意字符都可以。模糊查询时,在调用方法时参数时要加上占位符,例如:List<User> list = userDao.findByName("%王%");<!--配

2020-08-18 11:01:57 291

原创 mybatis基于xml配置和注解配置的入门小案例

mybatis是用Java编写的一个持久层框架,它封装了JDBC操作的很多细节,使开发者只需要关注sql语句本身,并且使用了ORM(对象关系映射)思想实现了结果集的封装。mybatis的基本使用:1、导入mybatis和数据库驱动jar包,以及log4j的jar包(记录日志,非必须);2、创建实体类和dao接口,实体类中的属性需要与数据库列名严格对应;3、创建mybatis的主配置文件和mybatis的映射配置文件,并导入log4j.properties文件(非必须);主配置文件代码:<?

2020-08-17 11:29:34 334

原创 spring中基于注解的声明式事务控制配置

首先需要导入事务的约束(在spring文档的Data Access中搜索xmlns:tx),包含有tx和aop的名称空间和约束,并导入注解的约束1.通过bean标签配置事务管理器,需要注入一个数据源对象;2.使用tx:annotation-driven标签,开启spring对注解事务的支持,transaction-manager属性的值为事务管理器id;3.在需要事务支持的地方(类名、方法名)上使用Transactional注解,该注解的属性为事务的属性,在类名上配置该注解及事务属性后,还可以单独在每

2020-08-16 20:24:00 243

原创 spring中基于xml的声明式事务控制配置

首先需要导入事务的约束(在spring文档的Data Access中搜索xmlns:tx),包含有tx和aop的名称空间和约束1.通过bean标签配置事务管理器,需要注入一个数据源对象;2.使用tx:advice标签配置事务的通知:id属性:给事务通知起一个唯一标识;transaction-manager属性:给事务通知提供一个事务管理器引用;3.在tx:advice标签中的tx:attributes标签中使用tx:method标签配置事务的属性:name属性:方法名;isolation属性:

2020-08-16 19:51:13 166

原创 JdbcDaoSupport的使用以及Dao的两种编写方式

在实际开发中,持久层可能会有多个面向不同实体操作的dao,此时每个dao中都会有封装JDBC操作的对象声明,重复代码就会增多。这时dao有两种编写方式:1.依然自己声明封装JDBC操作的对象,但使用注解来进行初始化;2.不声明封装JDBC操作的对象,而是让dao类继承JdbcDaoSupport类,这个类中有JdbcTemplate成员对象,可以直接调用getJdbcTemplate方法得到JdbcTemplate对象,但此时只能通过xml配置文件来初始化dao。...

2020-08-16 11:23:20 431

原创 JdbcTemplate的基本使用

JdbcTemplate是spring框架提供的一个对象,与DBUtils类似,都是对JDBC进行了薄薄的封装。使用JdbcTemplate需要导入spring-jdbc和spring-tx两个jar包。JdbcTemplate对象需要使用一个数据源对象来初始化。JdbcTemplate的CRUD操作: //插入操作// jt.update("insert into account values(?,?,?)",4,"judi",10000f); //更

2020-08-16 11:04:08 127

原创 spring中基于注解的AOP配置

首先需要导入aspectjweaverjar包并在xml配置文件中导入springAOP的aop约束以及注解的context约束1.在xml文件中配置spring创建容器时要扫描的包并配置spring开启注解AOP的支持:<context:component-scan base-package="com.itmao"></context:component-scan><aop:aspectj-autoproxy></aop:aspectj-autoproxy&

2020-08-15 21:46:48 128

原创 spring中基于xml的AOP配置

首先需要在xml配置文件中导入springAOP的约束1.把通知Bean也交给spring来管理;2.使用aop:config标签表明开始AOP的配置;3.使用aop:aspect标签表明配置切面:id属性:给切面提供一个唯一标识;ref属性:指定通知Bean的id;4.在aop:aspect标签内部使用对应标签来配置通知的类型:我们现在的示例是想让printLog方法在切入点方法之前执行,所以是前置通知。aop:before标签表示配置前置通知:method属性:指定Logger类中的哪

2020-08-15 12:40:40 198

原创 基于子类的动态代理简单实现

package com.itmao.extends_proxy;/** * 一个生产者 * **/public class Producer{ /** * 销售 * **/ public void saleProduct(float money){ System.out.println("销售产品,并拿到钱:"+money); } /** * 售后 * **/ public void afterServ

2020-08-13 16:18:14 194

原创 基于接口的动态代理简单实现

package com.itmao.extends_proxy;/** * 一个生产者 * **/public class Producer{ /** * 销售 * **/ public void saleProduct(float money){ System.out.println("销售产品,并拿到钱:"+money); } /** * 售后 * **/ public void afterServ

2020-08-13 16:12:40 294

原创 spring整合junit的配置

spring框架中通过整合junit,可以减少重复代码的编写。 1、导入spring整合junit的jar包:spring-test; 2、使用junit提供的注解:@RunWith(SpringJUnit4ClassRunner.class),将原有的main方法替换为spring提供的,才能创建ioc容器; 3、使用ContextConfiguration注解,告知spring的运行器,spring的ioc容器创建是基于xml的还是注解的,并指明位置。ContextConf

2020-08-12 20:05:49 102

原创 spring中的新注解

spring中的新注解:Configuration:指定当前类是一个配置类。 细节:当配置类作为使用AnnotationConfigApplicationContext创建对象的参数时,该注解可以不写。ComponentScan:指定spring在创建容器时要扫描的包。 属性:basePackages,和context:component-scan标签中的base-package属性作用相同,使用此注解相当于在xml中配置了: <context:component-scan

2020-08-12 17:17:46 107

原创 spring基于注解的ioc

使用spring基于注解的ioc需要在xml配置文件中增加导入context名称空间和约束(在spring官方文档—>core中搜索xmlns:context)。并告知spring在创建容器时要扫描的包(配置所需要的标签不是在beans的约束中,而是名称为context的名称空间和约束中),即以下这行代码。其中包名是java文件夹的第一个包名。<context:component-scan base-package="com.itmao"></context:component-

2020-08-09 10:07:22 121

原创 spring基于xml配置文件的依赖注入

一、能注入的数据:基本类型和String类型其他bean类型(即在配置文件或注解中配置过的bean)复杂类型(list、map)二、注入的方式:使用构造函数提供使用set方法提供使用注解提供构造函数注入:使用的标签:constructor-arg标签出现的位置:bean标签的内部标签中的属性:type:用于指定要注入的数据类型,该数据类型也是构造函数中某个或某些参数的类型index:用于指定要注入的数据在构造函数中参数的索引位置,从0开始name(常用):用于指定给构造函数中指定

2020-08-08 11:12:15 245

原创 利用fileupload上传组件实现文件上传及保存到本地的js及servlet代码

一、js代码<%-- Created by IntelliJ IDEA. User: lenovo Date: 2020/7/12 Time: 17:06 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head&

2020-07-15 10:57:43 517

原创 jQuery控制HTML

<%-- Created by IntelliJ IDEA. User: lenovo Date: 2020/7/3 Time: 15:59 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>

2020-07-12 08:42:06 101

空空如也

空空如也

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

TA关注的人

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