- 博客(106)
- 收藏
- 关注
原创 8、JSON
前后端分离时代:后端部署后端, 提供接口, 提供数据; ↓json ↑前端独立部署, 负责渲染后端的数据;8.1、什么是JSONJSON(JavaScipt Object Notation, JS 对象标记) 是一种轻量级数据交换格式, 目前使用特别广泛。采用完全独立与编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写, 同时也易于机器解析和生成, 并有效地提升网络传输效率。在JavaScript语言中, 一切都是对
2021-12-15 19:05:51
743
原创 7、乱码问题
一般都是过滤器去解决注意: / 匹配所有请求(不包括.jsp) /* 匹配所有请求(包括.jsp)方式一: 自己编写过滤器(Filter)解决乱码Firlter开发步骤:1.导报、实现接口
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
213
原创 5、结果跳转方式(重定向、转发)
5.1、ModeAndView(最常用的方式)设置ModeAndView对象, 根据view的名称, 和视图解析器跳到指定的页面页面: {视图解析器前缀} + viewName + {视图解析器后缀} <!--视图解析器: 模板引擎 Thymeleaf Freemarker...(核心之一,不可省)--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" i.
2021-11-08 16:05:38
355
原创 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
703
原创 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
156
原创 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
98
原创 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
148
原创 13、声明式事务
13.1、回顾事务把一组业务当成一个业务来做; 要么都成功要么都失败!事务在开发中,十分的重要,涉及到数据的一致性问题, 不得马虎!确保完整性和一致性分享个踩的坑,MyISAM不支持事务,InnoDB可以事务的ACID原则:原子性一致性持久性事务一旦提交, 无论系统发生什么问题, 结果都不会再被影响, 被持久化的写到存储器中隔离性(幻读,脏读,不可重复读)多个业务可能操作同一个资源防止数据损坏13.2、spring中的事务管理声明式事务: AOP.
2021-11-08 16:02:52
94
原创 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
254
原创 11、AOP(重点)
11.1、什么是AOPAOP(Aspect Oriented Programming) 要为: 面向切面编程, 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP是延续, 是软件开发中的一个热点, 也是Spring框架中的一个重要内容, 是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离, 从而使得业务逻辑各部分之间的耦合度降低, 提高程序的可重用性, 同时提高开发的效率
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
1775
原创 5、Spring配置
5.1、别名别名: 如果添加了别名, 我们也可以使用别名获取这个对象 (没什么用 通过name也可以取别名) <**alias name="userName3" alias="user3"**/> name: 也是别名, 而且可以同时取多个别名(通过空格、逗号、分号来分割) <!--别名: 如果添加了别名, 我们也可以使用别名获取这个对象 (没什么用 通过name也可以取别名)--> <alias name="userName3" alias="u.
2021-11-03 18:54:11
105
原创 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
90
原创 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
163
原创 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
103
原创 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
114
原创 13、Mybaits缓存
13.1、简介查询: 连接数据库, 耗资源一次查询的结果, 给他暂存在一个可以直接取到的地方! --> 内存: 缓存我们再次查询相同数据时, 走缓存, 就不走数据库了1.什么是缓存 [Cache]?①存在内存中的临时数据。②将用户经常查询的数据放在缓存中, 用户去查询数据就不用从磁盘上(关系型 数据库数据文件)查询, 从缓存中查询, 从而提高查询效率, 解决了高并发系统的 性能问题。2.为什么使用缓存?减少和数据库的交互次数, 减少系统开销, 提高系统效率。3.什么样的数据能使用缓存?经常.
2021-10-30 13:45:27
158
原创 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
105
原创 10、多对一处理 11、一对多处理
;2.配置文件 <!--分页limit--> <select id="getUse
2021-10-30 13:42:09
94
原创 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
110
原创 5、resuletMap解决属性名与字段名不一致的问题
数据库中的字段properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)d.
2021-10-30 13:39:06
127
原创 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
90
原创 2、第一个Mybatis程序
思路: 搭建环境→导入Mybatis→编写代码→测试2.1、搭建环境①创建一个普通的maven项目②删去src文件夹③导包 <dependencies> <!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</ar
2021-10-26 11:50:50
77
原创 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
101
原创 17、邮件发送原理及实现
1.原理图解
15.1、环境搭建结构图: 过滤器: 用户登录之后才能进入首页! 注销后就不能进入!①用户登录后, 向Session中放入用户的数据②进入主页的时候要判断用户是否已经登陆; (过滤器中实现) HttpServletRequest req = (HttpServletRequest) servletRequest; HttpServletResponse resp = (HttpServletResponse) servletResponse; if (req.
2021-10-26 11:44:54
109
原创 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
101
原创 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
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人