自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 mvc封装和注解

不用responsebody的情况:post请求封装的是form形式的数据。也可封装form的实体类。用responsebody的情况:post请求来获取json形式的数据。不用requestparam情况:可自动封装实体类。

2022-05-06 23:25:13 142

原创 SSM框架之三大框架的整合

ssm整合

2022-01-15 20:43:59 961

原创 SSM框架之SpringMVC超详解

SpringMVC框架SpringMVC第一天

2021-11-30 19:57:47 1343

原创 SSM框架之Spring框架超详解(part two)

Spring框架(第二部分)由于第一部分的配置变得十分繁琐,那么有无更好的方式解决问题?使用Spring中的aop实现。1 AOP的具体应用1.1 AOP的概念在软件业,AOP为Aspect Oriented Programming 的缩写,意为:面向切面编程,通过编译方式和运行期动态代理实现程序功能的一种技术。AOP是oop的延续,是软件开发的一个热点,也是spring框架中的一个重要内容。是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑中的各个部分进行隔离,从而使业务逻辑的各部分之间的耦合度

2021-11-18 18:11:15 768 2

原创 SSM框架之Spring框架超详解(part one)

Spirng框架写在开始之前spring框架共4天:第一天:spring框架的概述以及spring 中基于xml的IOC配置第二天:spring中基于注解的IOC和ioc的案例第三天:spring中的aop和基于XML以及注解的AOP配置第四天:spring中的JdbcTemplate以及Spring事务控制**(非常重要)**================================一、spring第一天1.spring的概述spring是什么?Spring是分层的Java S

2021-11-16 11:35:20 845

原创 框架学不懂?超详细的框架讲解第一期:mybatis框架,四天完成,带你轻松入门

mybatis框架mybatis框架的第一天: ①mybatis 的入门②mybatis的概述③mybatis入门案例④自定义mybatis框架(主要的目的是为了让大家了解Mybatis中的执行细节)mybatis框架的第二天: ①mybatis 的单表crud操作②mybatis的参数和返回值设置③mybatis的dao编写④mybatis配置的细节(讲解几个标签的使用)mybatis框架的第三天: ①mybatis 的深入和多表②mybatis的连接池③mybatis的事务控制及设计的方法④myb

2021-11-11 21:53:32 896

原创 JavaWeb.附件中文名乱码问题的解决方案

见尚硅谷javaweb-p218-p221

2021-10-19 22:34:08 85

原创 Redis中 rdb和 aof的使用建议

Redis的RDB和AOF的使用建议:RDB和AOF的性能建议

2021-09-26 13:13:29 105

原创 Linux-Mr.high练习题

1.如何判断一个文件中,只存放了纯数字、空格或回车?思路:把纯数字、回车或空格都删除,最后看留下的内容。答案:本行代码表示把数字0-9和空格用回车换行符替换掉,并且将空行删除cat 1.txt | sed 's/[0-9 ]/\n/g'|grep -v ^$2.创建一个文件,内容如下:abc123xyz612 **@#9091ffa2 1122***33###8335 #$%&(8315) 25 (^%)52 213 5742 要求找出其中最大

2021-09-16 14:52:58 70

原创 Linux快捷键

1、tab //命令或路径等的补全键,linux用的最多的一个快捷键 ⭐️2、ctrl+a //光标迅速回到行首 ⭐️3、ctrl+e //光标迅速回到行尾 ⭐️4、ctrl+f //光标向右移动一个字符5、ctrl+b //光标向左移动一个字符6、ctrl+insert //复制命令行内容(mac系统不能使用)7、shift+insert //粘贴命令行内容(mac系统不能使用)8、ctrl+k //剪切(删除)光标处到行尾的所有字符 ⭐️9、ctrl+u //剪切(删除)光标处到行首的所

2021-09-16 10:57:57 116

原创 组合设计模式、迭代器设计模式

/*菜单和菜单项菜单 |--陕菜 |--胡辣汤 |--肉丸胡辣汤 |--河南胡辣汤 |--羊肉泡馍 |--优质 |--普通 |--双份优质 |--三秦套餐 |--川菜 |--火锅 |--辣椒就朝天椒 |--伤心凉粉 |--粤菜 |--鱼丸 |--虾丸 |--牛丸*/第一阶段:package composite.a;import java.util.ArrayList;import j

2021-09-07 17:36:00 124

原创 观察者模式

观察者设计模式的引入:1.在没有观察者模式的日子里:有这样一个业务场景:一个游戏中,有一个角色,角色有hp,mp,在游戏窗口中,有一些面板来显示游戏角色的hp、mp.显示Hp的有三种显示方式:球形显示、面板框文字显示和血条显示package Observer.a;class Role{ private String name; private Integer hp; private Integer mp; public Integer getHp() { return hp; }

2021-09-07 11:26:38 203

原创 代理设计模式、反射的知识点复习

一、1.代理模式的引入:(自己设计一个计算器)interface ICalc{ int add(int a,int b); int sub(int a,int b); int mul(int a,int b); int div(int a,int b); }class CalcImpl implements ICalc{ @Override public int add(int a, int b) { int r = a + b; return r; } @Over

2021-09-05 11:25:04 102

原创 策略模式-设计模式

策略模式的定义:策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。策略模式:定义了一组算法(业务规则);封装了每个算法;这族的算法运行时可互换代替(interchangeable)。应用场景:1、 多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。2、 需要在不同情况下使用不同的策略(算法),或者策略还可能在

2021-09-02 10:37:42 317

原创 模板方法设计模式

模板方法设计模式的引入:在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。模板方法设计模式的实例:package templatepattern;import java.util.LinkedList;//在使用模板方法设计模式时,需要使用抽象类.这是因为使用抽象类可以填写方法中的具体内容。//把模板中的固定格式(成分)填充进抽象类中的方法中,而将用

2021-08-29 19:57:15 66

原创 char-字符变量的理解

java中char类型的变量为什么可以赋值为整型数字?1、JAVA中,char占2字节,16位。可在存放汉字2、char赋值char a=‘a’; //任意单个字符,加单引号。char a=‘中’;//任意单个中文字,加单引号。char a=111;//整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符。注:只能放单个字符。3、char运算char类型是可以运算的因为char在ASCII等字符编码表中有对应的数值。在JAVA中,对char类型字符运行时,直接当做

2021-08-29 14:02:12 2147

原创 装饰器设计模式

1

2021-08-27 20:28:09 90

原创 简单工厂、工厂方法和抽象工厂

学前理解:1.概念理解:面向接口编程的示意图2.相関概念1.产品:类2.抽象产品:抽象类、接口3.产品簇:4.产品等级:简单工厂:这种设计相当脆弱!为什么呢?因为,只要作者修改了具体产品的类名,那么,客户端代码也要随之一起改变,这样,服务器端代码和客户端代码就是耦合的。我们希望的效果是:无论服务器端代码如何修改,那么客户端代码都应该不知道,不用修改客户端代码!针对于上述问题,服务器端代码一旦修改,客户端代码也要跟着修改!修改代码如下,使用简单工程设计模式!任何下层给上层暴露出

2021-07-06 12:01:34 125

原创 类和类之间的关系与七大原则

1.单一职责原则每个方法、每个类、每个框架都只负责一件事情。比如:Math.round().只负责完成四舍五入的功能,其他的不管。Reader类,只负责读取文本文件SpringMVC 只负责简化MVC的开发(框架)...

2021-07-04 17:54:53 686

原创 设计模式基本概述

关于设计模式1.设计模式,不是一种新的语言,也不是一种新的api,更不是什么新的语法。2.设计模式,是前辈们,不断总结、不断打磨出的设计方法。不同设计模式适用于不同的场景。3.设计模式,公认的有23种设计模式,分别对应23种设计场景,这些设计模式,我们不用怀疑他的功能。因为这些设计模式是经过长期的时间考验而留存下来的。4.千万不要以为能有任何一种设计模式,能解决任何问题,每一种设计模式只能用于适用的场景,而不是万能的。5.设计模式,有优点,也有缺点,切记防止模式的乱用。6.23种设计模式背后有7

2021-07-04 09:45:32 70

原创 适配器模式

适配器设计模式举例一:抛出问题:1.生活中的适配器:充电器2.适配器:一个类的接口转换成客户希望的另一个接口,适配器模式让那些接口不兼容的类可以一起工作。模式探究:发现问题1.继承是为了重用add方法。但是继承比较脆弱。如果父类中有add方法,(3个参数),则会导致子类重写了父类的方法。2.用组合代替。修改举例二:说明:package shipeiqi;class Waveform{ //表示id 自增长的逻辑,为什么? private static long count

2021-07-03 17:54:25 121

原创 单例模式探究

package singleTon.type1;/** * 饿汉式第一种 推荐使用 * @author 李昊 * */public class SingleTonTest { public static void main(String[] args) { SingleTon instance = SingleTon.getInstance(); SingleTon instance1 = SingleTon.getInstance(); System.out.println(i

2021-07-03 10:45:53 42

原创 建造者模式

不用建造者模式存在的问题:需求:定义一个电脑类,并且实例化出电脑类的对象,以及给该对象的属性赋值。这样做的缺点是:1.客户端程序员,在实例化好产品的对象之后,必须为该对象的每一个属性赋值,这样对于客户端程序员来说太麻烦了。2.这样做违反了迪米特法则。这相当于你去赛格配电脑,商家把零件全给你,你自己取组装电脑。建造者模式与工厂模式的区别:工厂模式:都是直接实例化出一个类的对象即可。强调对象直接用。建造者模式,是在实例化出类的对象之后,还要给对象的属性赋值。强调使用过程。针对于问题,进行代码

2021-07-01 17:42:55 64

原创 原型模式:探究周报问题

原型模式(Prototype模式):解决场景: 周报问题的解决或创建对象的代价特别高。原型模式探究过程中提到的一些基础知识点:1.想序列化的话,类需要实现序列化接口。2.操作对象,底层是字节流。3.重写方法时,不能比父类抛出更大的异常,所以用try-catch处理。4.java类中的所有方法,天生都能抛出运行时异常。原型模式的探究写法1:写进去,读出来。这是深克隆。这样做的优点是,避免属性层级的关系的复杂处理。深克隆概念: 对象类型的属性,进行克隆时,地址不同。地址所指向的对象的内容应该

2021-06-28 16:31:53 120

原创 2021-05-16书城项目第六阶段(二)购物车模块

6 购物车6.1购物车模块分析6.2购物车商品项程序编写

2021-05-16 20:53:20 124

原创 2021-05-16 书城项目第六阶段:用户名的登录显示、用户的注销和验证码

6.1用户名的登录显示—编程关键:保存session域中的数据6.2用户的注销—编程关键:销毁session域中的数据6.2.1 在注销标签中编写logout地址<div> <span>欢迎<span class="um_span">${sessionScope.user.username}</span>光临尚硅谷书城</span> <a href="pages/order/order.jsp">我的订单<

2021-05-16 19:25:14 169

原创 2021-05-16书城项目第五阶段(三) 首页价格区间搜索的实现

首页价格区间搜索5.1首页价格区间搜索整体流程图5.2 在bookdao中添加求总记录数和价格区间内的当前数据1.写接口 /** * 求总记录数 * */ int queryForPageTotalCount(BigDecimal min, BigDecimal max); /** * 求价格区间内的当前页数据 */ List<Book> queryForPageItems(int begin,int size,

2021-05-16 16:00:49 228

原创 2021-05-15 书城项目第五阶段(二)实现图书分页

5.1 分页模块的分析5.2 分页模型Page的抽取抽取五个分页模型的基本元素:当前页数、总页数、总记录数、当前页数据、每页记录数。5.3编写PageDao类并进行测试1.接口public interface PageDao<T> { //求总记录数 Integer queryForPageTotalCount(); //求当前页数据 //begin表示当前页数据的开始索引 //pageSize表示当前需要显示的记录条数 List

2021-05-15 20:10:56 336 1

原创 2021-05-15书城项目第五阶段-图书模块

书城项目第五阶段-图书模块1.编写图书模块的数据库表#1.创建表CREATE TABLE t_book(`id` INT PRIMARY KEY AUTO_INCREMENT,`name` VARCHAR(100),`price` DECIMAL(11,2),`author` VARCHAR(100),`sales` INT,`stock` INT,`img_path` VARCHAR(200));#2.插入初始化数据INSERT INTO t_book(`id` , `name

2021-05-13 22:04:40 580

原创 20210513书城第三、四阶段对代码进行优化

书城项目第三阶段:a)首先进行jsp页面动态化:1、在 html 页面顶行添加 page 指令。2、修改文件后缀名为:.jsp3、使用 IDEA 搜索替换.html 为.jsp(快捷键:Ctrl+Shift+R)b)抽取页面中相同的格式和内容:1.head中css、jquery、base标签<% //request.getScheme()表示http //request.getServerName()表示主机名/ip地址(服务器ip地址) //request.

2021-05-13 17:12:15 95

原创 2021-05-12 书城第二阶段-用户注册和登录

用户注册和登录:本节内容两个知识点:1.掌握javaEE项目的三层架构下面对每层进行详细介绍:每层结构说明web层com.lihao.web/servlet/controllerservice层com.lihao.service service接口包service层com.lihao.service.impl service接口实现类dao层com.lihao.dao Dao接口包dao层com,lihao.

2021-05-12 22:04:59 352 1

原创 2021-05-12书城项目第一阶段:提交表单

书城项目第一阶段:提交表单<script type="text/javascript" src="../../static/script/jquery-1.7.2.js"> </script> <script type="text/javascript"> $(function () { $("#sub_btn").click(function () { //获取用户名输入框里的内容 var username = $("#username"

2021-05-12 20:03:30 124

原创 idea 中导入工程的一点理解:

在IDEA中导入工程时,首先在idea或者其他文件中找到文件夹,然后如图所示之后点击此选项,点击此文件夹:在此目录下,粘贴我们复制的文件,这样,文件就粘贴在IDEA中了。对于图标左下方是红色J,如何操作?1.这证明该图标正处于文件状态下,为了能够进行编辑,我们进行如下操作。第一步:点击此图标第二步:注意:是在wokrspace_idea文件下点击该文件第三步:如果该文件是Eclipse,那么点击Eclipse.如果该文件不是Eclipse,那么,点击创建。创建选项:之后我们手动

2020-11-24 13:21:16 743

原创 对于单引号和双引号的一点理解、方法中的形参(声明为int类型时)中可以放char类型的量

一、public static void main(String[] args) {System.out.println("a"+'b'+'\t'+'a'+'\t'+'a');}执行结果:ab a a分析:当第一个字符为双引号时,后面的结果就是字符串。单引号’b’+'a’是可以计算的,而双引号不能够进行计算。二、System.out.println('a');//执行结果为:aSystem.out.println('a'+'b');// 97 + 98 = 195.

2020-11-24 13:15:43 204

Java基础每日复习Blank.edf

java 尚硅谷 整理的笔记。

2020-11-24

空空如也

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

TA关注的人

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