自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (7)
  • 收藏
  • 关注

原创 SpringMVC文件上传与下载

前期准备导入依赖<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version></dependency><!--servlet-api导入3.0.1以上版本--><dependen.

2021-10-11 15:59:04 142

原创 SpringMVC拦截器

1. 概述SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能过滤器与拦截器的区别: 拦截器是AOP思想的具体应用过滤器:servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器:拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法, 如

2021-10-11 13:15:13 149

原创 Ajax用法

1. 简介AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术传统的网页(即不用ajax技术的网页),想要更新内容或者提交一个表单,都需要重新加载整个网页使用ajax技术的网页,通过在后台服务器进行少量的数据交换,就可以实现异步局部更新使用Ajax,用户可以创

2021-10-10 21:03:10 153

原创 SSM整合--以书籍管理为例(PageHelper分页)

1. 配置文件Mybatis配置文件<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!--配置数据源,交给Spring去做-

2021-10-09 14:43:29 165

原创 JSON格式

1. 什么是JSONJSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 JavaScript 语言中,一切都是对象。因此,任何JavaScript 支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。看看他的要求和语

2021-10-07 00:01:34 383

原创 SpringMVC数据处理及跳转

1. 结果跳转方式ModelAndView设置ModelAndView对象,根据view的名称,和视图解析器跳到指定的页面页面:{视图解析器前缀} + viewName +{视图解析器后缀}<!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!

2021-10-06 21:05:09 184

原创 SpringMVC中RestFul风格

概念:Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制功能资源:互联网所有的事物都可以被抽象为资源资源操作:使用POST、DELETE、PUT、GET,使用不同方法对资源进行操作分别对应 添加、 删除、修改、查询传统方式操作资源:通过不同的参数来实现不同的效果!方法单一,post 和 gethttp://127.0.0.1/item/queryItem.action?id=1 ..

2021-09-28 18:28:53 78

原创 SpringMVC入门程序

配置版HelloSpringMVC导入依赖<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <dependency&gt.

2021-09-28 13:41:15 99

原创 SpringMVC初识

1.1 概述Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-webSpring MVC的特点:轻量级,简单易学高效 , 基于请求响应的MVC框架与Spring兼容性好,无缝结合约定优于配置功能强大:RESTful、数据验证、格式化、本地化

2021-09-27 15:14:25 85

原创 Spring声明式事务

1. 事务把一组业务当成一个业务来做,要么都成功,要么都失败确保完整性和一致性事务的ACID原则:原子性一致性隔离性多个业务可能操作同一个资源,防止数据损坏持久性事务一旦提交,无论系统发生什么问题,结果都不会再被影响,被持久化的写到存储器中2. Spring中的事务管理声明式事务AOP编程式事务:需要在代码中进行事务管理(不推荐)导包<dependencies> <dependency> <grou

2021-09-26 18:49:55 90

原创 Spring整合Mybatis

方式一:使用SqlSessionTemplate进行整合导包<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> </dependency> <depe.

2021-09-26 17:53:28 93

原创 Spring面向切面编程AOP

9.1 什么是AOPAOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。9.2 AOP在Spring中的作用提供声明式事务;允许用户自定义切面横切关注点:跨越应用程

2021-09-26 15:05:39 83

原创 Spring代理模式

代理模式是Spring中AOP的底层原理1. 静态代理角色分析:抽象角色:一般会使用接口或者抽象类来解决真实角色:被代理的角色代理角色:代理真是角色,代理真实角色后,会做一些附属操作客户:访问代理对象的人代码步骤:接口//租房public interface Rent { void rent();}真实角色//房东public class Host implements Rent{ @Override public void rent(.

2021-09-23 18:07:34 95

原创 Spring使用JavaConfig实现配置

不使用Spring中的xml进行配置,全权交给Java进行处理JavaConfig是Spring的一个子项目,在Spring4之后,JavaConfig变成了核心功能编写实体类//这里的这个注解的意思是将这个类注册到容器中,被Spring接管@Componentpublic class User { private String name; public String getName() { return name; } @Value("12

2021-09-21 00:33:30 115

原创 Spring使用注解开发

在Spring4之后,要使用注解开发,必须要保证aop的包导入了使用注解需要导入context约束,增加注解的支持<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http:

2021-09-21 00:00:36 63

原创 Spring中Bean的自动装配

自动装配是Spring满足bean依赖的一种方式Spring会在上下文中自动寻找,并自动给bean装配属性在Spring中有三种装配的方式在xml中显示的配置在Java中显示的配置隐式的自动装配bean(重要)环境Person实体类拥有Cat和Dog两个属性1. byName或byType自动装配<bean id="cat" class="com.lrm.pojo.Cat"/><bean id="dog" class="com.lrm.pojo.Dog".

2021-09-18 22:33:52 117

原创 Spring依赖注入

依赖:bean对象的创建依赖于容器注入:bean对象中的所有属性,由容器来注入1. 构造器注入控制反转IOC 例子即为构造器注入2. set方式注入(重点)环境搭建复杂类型public class Address { private String address; public String getAddress() { return address; } public void setAddress(String addre.

2021-09-18 15:58:47 96

原创 Spring配置

1. 别名<bean id="user" class="com.lrm.pojo.User"> <!--直接通过参数名来设置--> <constructor-arg name="name" value="Java"/></bean><!--别名,如果添加别名,可以使用这个别名取到对应的对象--><alias name="user" alias="userNew"/>2. Bean的配置<!--

2021-09-18 14:53:56 140

原创 Spring控制反转IOC

1. IOC理论推导本质:控制反转是一种设计思想,DI(依赖注入)是实现IOC的一种方式。没有IOC的程序中,我们使用面向对象编程,对象的创建与对象之间的依赖关系完全硬编码在程序中,对象的创建有程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了IOC是Spring框架的核心内容,使用多种方式来实现IOC,可以使用XML配置,可以使用注解,最新版的Spring也可以零配置实现IOCSpring容器在初始化时先读取配置文件,根据配置文件或元数据创建与组织

2021-09-18 14:19:44 106

原创 Spring入门

1. 简介Spring框架是以interface21框架为基础,经过重新设计并不断丰富其内涵的开源框架Spring理念:使现有的技术更加容易使用,本身就是一个大杂烩,整合了现有的技术框架官网:https://spring.io/projects/spring-framework#overview官方下载地址:https://repo.spring.io/ui/native/release/org/springframework/springGitHub:https://gith

2021-09-13 16:07:54 86

原创 Mybatis缓存

1. 简介什么是缓存?存在内存中的临时数据将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,直接从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率什么样的数据能使用缓存?经常查询并且不经常改变的数据2. Mybatis缓存Mybatis包含了一个非常强大的缓存特性,它可以非常方便的定制和配置缓存,缓存可以极大的提高查询效率Mybatis系统中默

2021-09-13 14:34:36 59

原创 Mybatis动态SQL

根据不同的条件生成不同的SQL语句所谓的动态SQL,本质还是SQL语句,只是在SQL层面执行了一个逻辑代码SQL文件CREATE TABLE `blog`(`id` VARCHAR(50) NOT NULL COMMENT '博客id',`title` VARCHAR(100) NOT NULL COMMENT '博客标题,`author` VARCHAR(30) NOT NULL COMMENT '博客作者,`create_time` DATETIME NOT NULL COMMENT '创

2021-09-08 16:49:05 65

原创 Mybatis复杂查询

SQL文件CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, "李老师"); CREATE TABLE `student` ( `id` INT(10) NOT NULL,

2021-09-07 17:37:28 66

原创 Lombok插件

在IDEA中安装Lombok插件在项目中导入Lombok的jar包<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.1..

2021-09-07 15:10:21 56

原创 Mybatis使用注解开发

注解在接口上实现@Select("select * from user")List<User> getUsers();需要在核心配置文件中绑定接口<mappers> <mapper class="com.lrm.dao.UserMapper"/></mappers>测试本质:反射机制实现底层:动态代理CRUD在工具类创建时实现自动提交事务public static SqlSession getSqlSess..

2021-09-07 14:49:54 57

原创 Mybatis分页

使用分页是为了减少数据的处理量1. 使用limit分页#语法select * from user limit startIndex,pageSize;select * from user limit n; #[0,n]使用Mybatis实现分页(本质还是SQL)接口//分页List<User> getUserByLimit(Map<String,Integer> map);Mapper.xml<select id="getUserByLim.

2021-08-27 20:45:02 72

原创 Mybatis日志

1. 日志工厂如果一个数据库的操作出现了异常,日志就是最好的排错助手,在Mybatis中具体使用哪一个日志实现需要在设置中指定**STDOUT_LOGGING:**标准日志工厂实现在mybatis-config.xml中配置<settings> <setting name="logImpl" value="STDOUT_LOGGING"/></settings>2. LOG4JLog4j是Apache的一个开源项目,通过使用Lo

2021-08-27 18:42:05 179

原创 Mybatis属性名和字段名不一致问题(resultMap)

1. 问题数据库中的字段字段名数据类型非空?主键?idint(20)√√namevarchar(30)pwdvarchar(30)实体类中的字段public class User { private int id; private String name; private String password; ...有参、无参、get/set、toString重写...}测试:解决方案:起

2021-08-27 17:25:42 110

原创 Mybatis配置解析

目录1. 核心配置文件2. 环境配置(environments)3. 属性(properties)4. 类型别名(typeAliases)5. 设置(settings)6. 其他配置7. 映射器(mappers)8. 作用域(Scope)和生命周期1. 核心配置文件mybatis-config.xmlMybatis的配置文件包含了会深深影响Mybatis行为的设置和属性信息configuration(配置):properties(属性)settings(设置)typeAliases(类型别

2021-08-26 16:00:50 100

原创 Mybatis之增删改查

Mapper.xml相关字段解释id:就是对应的namespace中的方法名resultType:sql语句执行的返回值类型parameterType:传递参数类型增删改需要提交事务3.1 namespacenamespace中的包名要和Dao/Mapper接口的包名一致!<mapper namespace="com.lrm.dao.UserMapper"></mapper>3.2 select编写接口//根据id查询用户User ge.

2021-08-25 14:32:51 63

原创 Mybatis入门

1. 简介1.1 什么是MybatisMyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foun

2021-08-24 18:18:59 53

原创 Java邮件发送

目录1. 导包2.QQ邮箱开启POP3/SMTP服务3. 普通版邮件发送3.1 文本邮件发送3.2 附件邮件发送4. Web版邮件发送4.1 前端代码编写4.2 后端代码编写4.3 web.xml配置5. Spring Boot版邮件发送1. 导包导入 mail-1.4.7.jar 和 activation-1.1.1.jar2.QQ邮箱开启POP3/SMTP服务进入QQ邮箱–设置–账户3. 普通版邮件发送3.1 文本邮件发送package com.lrm;import com.

2021-08-23 17:33:38 350

原创 Java文件上传

1. 导包导入 commons-fileupload-1.4.jar 和 commons-io-2.11.0.jar2. 前端代码编写index.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><html> <head> <title>$Title$</title> </head> <body><

2021-08-23 16:40:26 137

原创 超市订单管理系统

目录超市订单管理系统源码1.项目搭建准备工作2.登录功能实现3.登录功能优化4.密码修改5.用户管理实现5.1 获取用户数量5.2 获取用户列表5.3 获取角色列表5.4 用户显示Servlet6.其他功能超市订单管理系统源码1.项目搭建准备工作搭建一个maven web项目配置Tomcat测试项目环境是否能跑起来导入jar包(jsp、servlet、mysql驱动、jstl、standard…)创建项目包结构编写实体类(ORM映射)编写基础公共类数据库配

2021-05-25 17:43:05 476 2

原创 Listener监听器

GUI编程中经常使用实现一个监听器的接口(有很多种)//统计网站在线人数:统计sessionpublic class OnlineCountListener implements HttpSessionListener{ //创建session监听 //一旦创建一次session机会触发一次事件 public void sessionCreated(HttpSessionEvent se) { ServletContext ctx = se.getSe..

2021-05-12 15:18:11 64

原创 Filter过滤器

Filter:过滤器,用来过滤网站的数据(处理中文乱码,登录验证…)Filter开发步骤导包配置maven编写过滤器(导包:javax.servlet.Filter)public class CharacterEncodingFilter implements Filter { //初始化 public void init(FilterConfig filterConfig) throws ServletException { System.out.pr..

2021-05-12 15:16:55 146

原创 MVC三层架构

MVC:Model View Controller 模型、视图、控制器早年间用户可以直接访问控制层,控制层直接操作数据库Servlet —> JDBC —> 数据库弊端:程序十分臃肿,不利于维护Servlet代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码现在的MVC三层架构Model业务处理:业务逻辑(Service)数据持久层:CRUD(Dao)View展示数据提供链接发起Servlet请求(a、form、img…)..

2021-05-12 12:03:25 90

原创 JSP

1.什么是JSPJSP:Java Server Pages,Java服务器端页面,也和Servlet一样,用于动态web技术最大特点:写JSP就像是写HTML和HTML的区别:HTML只给用户提供静态的数据JSP页面中可以嵌入Java代码,为用户提供动态数据JSP原理:浏览器向服务器发送请求,不管访问什么资源,其实都是在访问Servlet。JSP最终也会被转换成一个Java类。JSP本质上就是一个Servlet。在JSP页面中,只要是Java代码就会被原封不动的输

2021-05-11 18:29:50 146

原创 Cookie和Session

1.会话会话:用户打开一个浏览器,点击了多个超链接,访问了多个web资源,关闭浏览器,这个过程称之为会话有状态会话:用户访问过一次web资源,下次再来访问,浏览器知道这个用户之前来访问过cookie:服务端给客户端一个信件,客户端下次来访问带上信件即可session:服务端登记客户端来过,下次再来的时候,服务端来匹配客户端2.保存会话的两种技术2.1 Cookie客户端技术(响应,请求)从请求中拿到cookie信息服务器响应给客户端cookiecookie一般都会保存

2021-05-10 18:40:57 60

原创 Servlet

目录1.Servlet简介2.HelloServlet创建流程3.Servlet原理4.Mapping5.ServletContext对象6.HttpServletResponse7.HttpServletRequest1.Servlet简介Servlet是sun公司开发动态web的一门技术sun在这些API中提供了一个接口叫Servlet,开发Servlet程序的步骤:编写一个类,实现Servlet接口把开发好的Java类部署到web服务器中把实现了Servlet接口的Java程序

2021-05-08 16:49:22 77

MVC三层架构——超市订单管理系统

MVC三层架构——超市订单管理系统使用纯Servlet和JSP实现,没有用到任何框架,内含mysql数据库文件,订单管理和供应商管理没做分页,具体分页操作参考用户管理的分页

2021-05-25

基于Spring MVC的房屋租赁系统的设计与实现.zip

基于Spring MVC的房屋租赁系统的设计与实现

2020-06-14

ssm+mysql零食商城

通过SSM技术配合mysql数据库实现简单的在线商城系统,采用Tomcat8.5运行

2019-05-24

循环求阶乘

算法课程中的重点知识,循环求阶乘。利用递归和循环求阶乘 求一个数的阶乘

2018-05-30

冒泡排序方式

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

2018-05-30

递归法求阶乘

是在算法课程中常见的一个算法,递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归。

2018-05-30

n个元素全排列

适用于算法课程求n个元素的全排列,从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列。当m=n时所有的排列情况叫全排列。 公式:全排列数f(n)=n!(定义0!=1)

2018-05-30

空空如也

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

TA关注的人

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