- 博客(106)
- 收藏
- 关注
原创 8、JSON
前后端分离时代:后端部署后端, 提供接口, 提供数据; ↓json ↑前端独立部署, 负责渲染后端的数据;8.1、什么是JSONJSON(JavaScipt Object Notation, JS 对象标记) 是一种轻量级数据交换格式, 目前使用特别广泛。采用完全独立与编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写, 同时也易于机器解析和生成, 并有效地提升网络传输效率。在JavaScript语言中, 一切都是对
2021-12-15 19:05:51
624
原创 7、乱码问题
一般都是过滤器去解决注意: / 匹配所有请求(不包括.jsp) /* 匹配所有请求(包括.jsp)方式一: 自己编写过滤器(Filter)解决乱码Firlter开发步骤:1.导报、实现接口![](https://img-blog.csdnimg.cn/img_convert/24e353a812130a1dbedda713565e778b.png#from=url&id=CZOk7&margin=[object Object]&originHeight=350&or
2021-11-08 16:09:52
193
原创 6、数据处理(请求成熟或数据回显)
6.1、处理提交数据6.1.1、提交的域名称和处理方法的参数名一致提交: http://localhost:8080/hello?name=ssys处理方法:@RequestMapping("/hello")public String hello(String name){ System.out.println(name); retrun "hello";}后台输出: ssys6.1.2、提交的域名称和处理方法的参数名不一致提交: http://localhost:.
2021-11-08 16:08:09
168
原创 5、结果跳转方式(重定向、转发)
5.1、ModeAndView(最常用的方式)设置ModeAndView对象, 根据view的名称, 和视图解析器跳到指定的页面页面: {视图解析器前缀} + viewName + {视图解析器后缀} <!--视图解析器: 模板引擎 Thymeleaf Freemarker...(核心之一,不可省)--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" i.
2021-11-08 16:05:38
288
原创 4、Controller 及 RestFul风格
Controller本质还是一个Servlet4.1、控制器Controller控制器负责提供访问应用程序的行为, 通常通过借口定义两种方法实现。控制器负责解析用户的请求并将其转换为一个模型。在Spring MVC中一个控制器类可以包含多个方法在Spring MVC中, 对于Controller的配置有很多种步骤: 1、配置web.xml2、编写一个Controller类, 继承Controller借口//只要实现了Controller接口的类,说明这就是一个控制器了public cl
2021-11-08 16:05:07
578
原创 3、HelloSpringMVC
配置版(帮助了解流程):1、新建一个Moudle, 添加web支持!2、确定导入SpringMVC依赖<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</arti.
2021-11-08 16:04:37
123
原创 2、SpringMVC简介
官方文档: https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web2.1、SpringMVC概述什么是SpringMVC?Spring MVC是Spring Framework的一部分, 是基于Java实现MVC的轻量级Web框架。为什么要学习SpringMVC?Spring的特点: - 轻量级、简单易学 - 高效, 基于请求响应的MVC框架
2021-11-08 16:04:04
75
原创 1、回顾MVC和Servlet
拓展:ssm : Mybatis+Spring+SpringMVCMVC三层架构MVVM: M V VM(ViewModel: 双向绑定)SpringMVC + Vue + SpringBoot + SpringCloud + LinuxSpringMVC执行流程( 重点)实体类:pojo,dto ;jojo,diovo:简化版实体类。比如登录只需要取用户名密码,就封装一个两个字段的实体类。面试题: 你的项目的结构, 是设计好的, 还是演进的 ?答: 演进的、All in one–&.
2021-11-08 16:03:33
115
原创 13、声明式事务
13.1、回顾事务把一组业务当成一个业务来做; 要么都成功要么都失败!事务在开发中,十分的重要,涉及到数据的一致性问题, 不得马虎!确保完整性和一致性分享个踩的坑,MyISAM不支持事务,InnoDB可以事务的ACID原则:原子性一致性持久性事务一旦提交, 无论系统发生什么问题, 结果都不会再被影响, 被持久化的写到存储器中隔离性(幻读,脏读,不可重复读)多个业务可能操作同一个资源防止数据损坏13.2、spring中的事务管理声明式事务: AOP.
2021-11-08 16:02:52
65
原创 12、整合Mybatis
步骤:1、导入相关的jar包junitmybatismysql数据库spring相关aop织入mybatis-sping**[new]** <!--mybatis-spring--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId&
2021-11-08 16:02:01
221
原创 11、AOP(重点)
11.1、什么是AOPAOP(Aspect Oriented Programming) 要为: 面向切面编程, 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP是延续, 是软件开发中的一个热点, 也是Spring框架中的一个重要内容, 是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离, 从而使得业务逻辑各部分之间的耦合度降低, 提高程序的可重用性, 同时提高开发的效率![image.png](https://img-blog.csdnimg.cn/im.
2021-11-08 16:00:53
129
原创 10、代理模式
为什么要学习代理模式? 因为这就是SpringAOP的底层面试必问: [SpringAOP 和 SpringMVC]代理模式的分类: ①静态代理②动态代理![image.png](https://img-blog.csdnimg.cn/img_convert/a7d145d6fd44d9ba13e288d15f00d3ee.png#clientId=u149c5fa5-1d4b-4&from=paste&height=325&id=ueb28e661&margin=[ob
2021-11-03 18:57:22
152
原创 9、使用Java的方式配置Spring
我们现在要完全不使用Sping的xml配置了, 全权交给Java来做!JavaConfig是一个Spring的子项目, 在Spring4以后, 它成为了一个核心功能1、实体类:package com.pojo;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Component//说明这个类被Spring接管了public clas
2021-11-03 18:56:42
65
原创 8、使用注解开发
①在Spring之后, 要使用注解开发, 必须要保证aop的包导入了![image.png](https://img-blog.csdnimg.cn/img_convert/d2b39238ec0ee423a83c74dd70e32603.png#clientId=uc323d233-b8ee-4&from=paste&height=245&id=u06ae78cf&margin=[object Object]&name=image.png&originHei
2021-11-03 18:56:06
65
原创 7、自动装配Bean
自动装配是Spring满足bean依赖的一种方式!Spring会在上下文中自动寻找, 并自动给bean装配属性!在Sping中有三种装配的方式①在xml中显示的配置②在java中显示的配置③隐式的自动装配的bean** [重要]**7.1、搭建环境一个人有两个宠物一狗一猫7.2、ByName自动装配byName: 会自动在容器上下文中寻找, 和自己对象set方法的形参名对应的beanId,然后自动装配<!--byName: 会自动在容器上下文中寻找, 和自己对象set方法的形参名
2021-11-03 18:55:22
180
原创 6、依赖注入(DI)
6.1、构造器注入<!--有参构造一: 下标赋值, 参数从0~1排序--> <bean id="userName" class="com.pojo.User"> <constructor-arg index="0" value="情伤难合"/> </bean>6.2、Set方式(属性)注入[重点]为class中的对象赋值 该属性必须要有Set方法!!依赖注入: Set注入!依赖: bean对象.
2021-11-03 18:54:41
1723
原创 5、Spring配置
5.1、别名别名: 如果添加了别名, 我们也可以使用别名获取这个对象 (没什么用 通过name也可以取别名) <**alias name="userName3" alias="user3"**/> name: 也是别名, 而且可以同时取多个别名(通过空格、逗号、分号来分割) <!--别名: 如果添加了别名, 我们也可以使用别名获取这个对象 (没什么用 通过name也可以取别名)--> <alias name="userName3" alias="u.
2021-11-03 18:54:11
78
原创 4、IOC的创建对象的方式
1、使用无参构造创建对象, 默认!! <bean id="user" class="com.pojo.User"> <property name="name" value="身伤易逝"/> </bean>2、假设要用有参构造①有参构造一: 下标赋值, 参数从0~1排序 <!--有参构造一: 下标赋值, 参数从0~1排序--> <bean id="userName" class="com.
2021-11-03 18:53:34
62
原创 3、Hello Spring
3.1、 XML配置文件实现实体类:package com.pojo;public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override public String toString() { .
2021-11-03 18:53:00
129
原创 2、IOC理论推导(重点)
2.1、IOC的原型原来的JavaWeb架构: 1.UserDao接口2.UserDaoImpl实现类3.UserService业务接口4.UserServiceImpl业务实现类在我们之前的业务中, 用户的需求可能会影响我们的原代码、我们需要根据用户的需求去修改源代码! 如果程序代码量十分的大, 修改一次的成本会十分昂贵!!!我们使用一个Set接口实现, 已经发生了革命性的变化! private UserDao userDao; //利用set的动态实现值的注入 pu.
2021-11-03 18:52:04
78
原创 1、了解Spring
1.1、Spring简介Spring: 春天2002, 首次推出了Spring的雏形: interface21框架!Spring是以interface21框架为基础, 经过重新设计, 并不断丰富其内涵, 于2004年3月24日, 发布了1.0正式版本。Rod Johnson, Spring Framework创始人, 著名作者。音乐学博士springSping理念: 使现有的技术更加容易使用, 本身是一个大杂烩Spring Framework框架下载地址: https://repo.spring..
2021-11-03 18:50:49
91
原创 13、Mybaits缓存
13.1、简介查询: 连接数据库, 耗资源一次查询的结果, 给他暂存在一个可以直接取到的地方! --> 内存: 缓存我们再次查询相同数据时, 走缓存, 就不走数据库了1.什么是缓存 [Cache]?①存在内存中的临时数据。②将用户经常查询的数据放在缓存中, 用户去查询数据就不用从磁盘上(关系型 数据库数据文件)查询, 从缓存中查询, 从而提高查询效率, 解决了高并发系统的 性能问题。2.为什么使用缓存?减少和数据库的交互次数, 减少系统开销, 提高系统效率。3.什么样的数据能使用缓存?经常.
2021-10-30 13:45:27
130
原创 12、动态SQL
12.1、什么是动态SQL动态SQL就是指根据不同的条件生成不同的SQL语句ifchoose (when, otherwise)trim (where, set)foreach搭建环境CREATE TABLE `blog`( `id` VARCHAR(50) NOT NULL COMMENT '博客id', `title` VARCHAR(100) NOT NULL COMMENT '博客标题.
2021-10-30 13:44:46
73
原创 10、多对一处理 11、一对多处理
![image.png](https://img-blog.csdnimg.cn/img_convert/1900a9e1b609a0c782667a557fa77259.png#clientId=ufb45ba56-7e0b-4&from=paste&height=400&id=u496ce0a5&margin=[object Object]&name=image.png&originHeight=437&originWidth=534&or
2021-10-30 13:44:11
87
原创 9、Lombok
Project Lombok 是一个 Java 库,可自动插入您的编辑器并构建工具,为您的 Java 增添趣味。 永远不要再编写另一个 getter 或 equals 方法,通过一个注释,您的类就有一个功能齐全的构建器,自动化您的日志变量等等。使用步骤: ①在IDEA中安装插件Lombok②项目中导入Lombok的jar包<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency&g
2021-10-30 13:43:28
67
原创 8、使用注解开发
8.1、面向接口编程面向接口编程之前学习过面向对象的编程, 也学习过接口,但在真正的开发中, 很多时候我们会选择面向接口编程①根本原因: 解耦、可拓展、提高复用、分层开发中、上层不用管具体的实现, 大家遵 从共同的标准, 使开发变得更加容易, 规范性更好②在一个面向对象的系统中, 系统的各种功能是由许许多多的不同对象协作完成。在 这种情况下, 各个对象内部是如何实现自己的, 对系统设计人员来讲就不那么主要;③而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信, 大到各模块之间的.
2021-10-30 13:42:59
59
原创 7、Mytatis分页
思考:为什么分页?减少数据的处理量7.1、使用Limit分页语法: **select **_* _**from user limit **startIndex,pageSize使用Mybatis实现分页,核心SQL1.接口 //分页limit List<User> getUserLimit(Map<String, Integer> map);2.配置文件 <!--分页limit--> <select id="getUse
2021-10-30 13:42:09
69
原创 6、Mybatis日志
6.1、日志工厂如果一个数据库操作, 出现了异常, 我们需要排错。日志就是最好的助手曾经: sout、dabug现在: 日志工厂 !| logImpl | 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。(用于打印日志) | SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING | 未设置 || — | — | — | — |SLF4JLOG4J (掌握)LOG4J2J.
2021-10-30 13:41:19
85
原创 5、resuletMap解决属性名与字段名不一致的问题
数据库中的字段![image.png](https://img-blog.csdnimg.cn/img_convert/6c49d9923de721ae4c544ea4305c32ca.png#clientId=ud538ea37-b529-4&from=paste&height=295&id=u22d0e6c5&margin=[object Object]&name=image.png&originHeight=360&originWidth=278
2021-10-30 13:40:11
240
原创 4、配置解析
4.1、核心配置文件mybatis-confhg.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)d.
2021-10-30 13:39:06
99
原创 3、CRUD
3.1、namespacenamespace中的包名要和Dao/mapper借口一致!3.2、select选择、查询语句;id: 就是对应namespace中的方法名resultType: sql语句执行的返回值 parameterType :参数的类型Mapper接口 //查询全部用户 List<User> getUserList(); //根据ID查询用户 User getUserById(int id);配置文件(实现接口) <!.
2021-10-30 13:37:13
65
原创 2、第一个Mybatis程序
思路: 搭建环境→导入Mybatis→编写代码→测试2.1、搭建环境①创建一个普通的maven项目②删去src文件夹③导包 <dependencies> <!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</ar
2021-10-26 11:50:50
51
原创 1、Mybatis简介
环境:JDK 1.8Mysql 5.7maven 3.6.1IDEA回顾:JDBCMysqlJava基础MavenJunitSSM框架: 配置文件。最好的方式看官网文档: https://mybatis.org/mybatis-3/zh/index.html1.1、什么是Mybatis①MyBatis 是一款优秀的持久层框架,②它支持自定义 SQL、存储过程以及高级映射。③MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。④MyBatis 可以通过简单的 XML 或注
2021-10-26 11:49:18
69
原创 17、邮件发送原理及实现
1.原理图解![image.png](https://img-blog.csdnimg.cn/img_convert/e0e760a0d26d86fe75ec3c404da6c41f.png#clientId=uc6575cd4-f367-4&from=paste&height=416&id=u17663af5&margin=[object Object]&name=image.png&originHeight=592&originWidth=11.
2021-10-26 11:48:02
436
原创 16、文件传输原理及介绍
16.1、Java实现文件上传1.准备工作对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的。一般采用Apache的开源工具common-fileupload这个文件上传组件。common-fileupload是依赖于common-io这个包的,所以还需要下载这俩个包。<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency>.
2021-10-26 11:46:39
883
原创 15、SMBMS(超市订单管理系统)
15.1、环境搭建结构图: ![image.png](https://img-blog.csdnimg.cn/img_convert/2e489fd2c28aab03857e7aba00e07a03.png#clientId=uf15cde34-e670-4&from=paste&height=359&id=uedeff78a&margin=[object Object]&name=image.png&originHeight=499&origin.
2021-10-26 11:46:10
245
原创 14、JDBC
14.1数据库驱动驱动: 声卡、显卡、数据库![image.png](https://img-blog.csdnimg.cn/img_convert/1b886a87bdd5a7eda36b1cd117f6224e.png#clientId=uedcbeb34-6132-4&from=paste&height=237&id=W1m3p&margin=[object Object]&name=image.png&originHeight=314&or.
2021-10-26 11:45:33
87
原创 13、过滤器与监听器的常见应用
监听器: GUI(略)过滤器: 用户登录之后才能进入首页! 注销后就不能进入!①用户登录后, 向Session中放入用户的数据②进入主页的时候要判断用户是否已经登陆; (过滤器中实现) HttpServletRequest req = (HttpServletRequest) servletRequest; HttpServletResponse resp = (HttpServletResponse) servletResponse; if (req.
2021-10-26 11:44:54
76
原创 12、监听器
实现一个监听器的接口;(有多种)1.编写一个监听器package com.listener;import javax.servlet.ServletContext;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;//统计网站在线人数 : 统计sessionpublic class OnlineCountListener implements HttpSessio
2021-10-26 11:44:06
76
原创 11、Filter(重点)
Filter与Servlet一样Filter : 过滤器、用来过滤网站的数据;①处理中文乱码②脏话过滤Firlter开发步骤:1.导报![image.png](https://img-blog.csdnimg.cn/img_convert/24e353a812130a1dbedda713565e778b.png#clientId=ufadc5dcc-84cf-4&from=paste&height=233&id=u204bff9b&margin=[object Objec
2021-10-26 11:42:49
98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人