03 2022 档案
摘要:1. 线程的三种创建方式 程序(program):是为完成特定任务、用某种语言编写的一组指令的集合,是一段静态的代码。 (程序是静态的) 进程(process):是程序的一次执行过程。正在运行的一个程序,进程作为资源分配的单位,在内存中会为每个进程分配不同的内存区域。 (进程是动态的)是一个动的过程
阅读全文
摘要:12. 上传和下载 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理文件上传工作。如果想使用Spring的文件上传功能,则需要在上下文中配置MultipartRe
阅读全文
摘要:11. 拦截器 11.1 拦截器概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。开发者可以自己定义一些拦截器来实现特定的功能。 **过滤器与拦截器的区别:**拦截器是AOP思想的具体应用。 过滤器 servlet规范中的一部分,任
阅读全文
摘要:10. Ajax 10.1 Ajax简介 AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 Ajax 不是一种新的编程语言,而是一种用于创建更好更快以及
阅读全文
摘要:9.SSM整合 环境配置 开发工具:IDEA 数据库 MySQL5.7 服务器Tomcat 9 Maven 3.6 创建数据库环境 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books`; CREATE TAB
阅读全文
摘要:8.JSON 8.1 什么是JSON JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写
阅读全文
摘要:6.跳转方式 6.1 通过SpringMVC来实现转发和重定向 - 无需视图解析器 测试前,需要将视图解析器注释掉 @Controller public class ResultSpringMVC { @RequestMapping("/rsm/t1") public String test1(){
阅读全文
摘要:5.控制器和RestFul 5.1 控制器 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。 控制器负责解析用户的请求并将其转换为一个模型。 在Spring MVC中一个控制器类可以包含多个方法 在Spring MVC中,对于Controller的配置方式有很多种 5.2
阅读全文
摘要:3. SpringMVC执行原理 图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。 简要分析执行流程 DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心。用户发出请求,Dispatche
阅读全文
摘要:2. Spring MVC 概述 2.1 什么是Spring MVC Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring的一部分,它和Struts2一样都属于表现层的框架。 MVC(Model模型 View 视图 Controller 控制器):这是
阅读全文
摘要:1. 回顾MVC 1.1 什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向偶合。 MVC不是一种设计模式,MVC是一种架构模式。当然不同
阅读全文
摘要:10. 整合MyBatis 导入相关依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.19.RELEASE</version> </de
阅读全文
摘要:6.动态SQL 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。 使用动态 SQL 并非
阅读全文
摘要:4. 分页 4.1 使用Limit进行分页 List<User> selectByLimit(Map<String,Integer> map); <select id="selectByLimit" parameterType="map" resultType="user"> select * fr
阅读全文
摘要:3.1 属性名和字段名不一致 当我们实体类中属性的字段和数据库表中的字段不一致的时候就会导致属性结果映射失败,数据写入失败。比如: 实体类: public class User { private int id; private String name; private String passwor
阅读全文
摘要:2.1 CURD 在Dao接口中增加方法 int insert(User user); int deleteById(@Param("id") int id); int update(User user); User selectById(@Param("id") int id); 在映射文件中增加
阅读全文
摘要:1.1 MyBatis简单介绍 MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。 iBATIS一词来源于“internet”
阅读全文
摘要:8.代理模式 Spring AOP底层就是代理模式 代理模式分为:静态代理、动态代理 代理模式(Proxy)是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审计等功能。 8.1静态代理 角色分析: 抽象角色:一般会使用接口或者抽象类来解决 真实角色:被代理的
阅读全文