modelandview

SpringBoot-拦截器配置1

我的未来我决定 提交于 2019-12-05 01:46:45
SpringBoot-拦截器配置 SpringBoot-拦截器配置 在我们的SSM项目中,可以在web.xml中配置拦截器,但是在SpringBoot中只能使用java类来配置,配置方法如下。 创建拦截器 首先创建一个类如MyInterceptor 实现HandlerInterceptor接口 重写其方法 package cn.ryafoo.core.interceptor; import lombok.Builder; import lombok.extern.slf4j.Slf4j; import org.springframework.lang.Nullable; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * @author 张瑞丰 * @description * @date 2019/11/19 */ @Slf4j public class MyInterepter implements

同步请求与异步请求

亡梦爱人 提交于 2019-12-04 23:27:08
同步请求的返回值类型 : void : 啥也不返回 String :表示逻辑视图名 ModelAndView:该对象既有逻辑视图名,还可以携带去页面要展示的数据 同步请求:如何将controller层的数据携带到页面上。     1.使用ModelAndView作为方法的返回值类型     2.使用Map、Model、ModelMap、类型的参数 在前端页面用el表达式取值即可 注意:无论使用ModelAndView还是放到Map ,中springmvc底层都会把数据放发request域中 从域中取值 ${username} 全域查找 默认从最小的域查找pageScope-->requestScope-->sessionScope-->ApplicationScope. ${requestScope.username} @RequestMapping("testResponse") public ModelAndView testResponse(){ ModelAndView mv = new ModelAndView("result") Book book = new Book(); book.setBookName("活着"); book.setPrice(89); mv.addObject("books", book);//插入的数据也可以是调用的数据库的数据 return

SpringMVC工作原理

本小妞迷上赌 提交于 2019-12-04 23:10:12
定义: SpringMVC是基于Spring功能之上添加的Web框架(一个MVC模式的WEB开发框架) 工作原理: 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping映射器。 3、 映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成对象及拦截器一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter适配器。 5、 HandlerAdapter经过适配调用具体的处理器Controller(后端控制器)。 6、 Controller执行完成返回ModelAndView。 7、 HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。 9、 ViewReslover解析后返回具体View。 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。 11、 DispatcherServlet响应用户。 来源: https://www.cnblogs.com/BruceV/p/11887336.html

Spring和SpringMVC总结篇

倾然丶 夕夏残阳落幕 提交于 2019-12-04 17:39:23
作者:肥宅兜 链接:https://www.cnblogs.com/doudouxiaoye/p/5693399.html 1.为什么使用Spring ? 方便解耦,简化开发; 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。 AOP编程的支持; 通过Spring提供的AOP功能,方便进行面向切面的编程,如性能监测、事务管理、日志记录等。 声明式事务的支持; 方便集成各种优秀框架; 降低Java EE API的使用难度; 如对JDBC,JavaMail,远程调用等提供了简便封装 2. 什么是IOC,为什使用IOC ? IOC全称Iversion of Controller,控制反转。 这概念是说你不用创建对象,而只需要描述它如何被创建。 你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。 它能指导我们如何设计出松耦合、更优良的程序。 3. 什么是AOP,为什么使用AOP ? AOP全称:Aspect-Oriented Programming,面向切面编程。 AOP,面向切面编程,就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中,比如事务管理、权限控制、日志记录、性能统计等。 AOP并没有帮助我们解决任何新的问题

springboot整合quartz

白昼怎懂夜的黑 提交于 2019-12-04 17:38:46
Spring 整合 Quartz 1、quartz调度框架是有内置表的 进入quartz的官网http://www.quartz-scheduler.org/,点击Downloads, 下载后在目录\docs\dbTables下有常用数据库创建quartz表的脚本,例如:“tables_mysql.sql” 2、导入pom依赖 quartz需要使用C3P0连接池将数据持久化到数据库,我们更换成Druid连接池 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> 3、 导入DruidConnectionProvider.java package com.psy.quartz02.utils; import com.alibaba.druid.pool.DruidDataSource; import org.quartz.SchedulerException; import org.quartz.utils.ConnectionProvider; import java.sql.Connection; import java.sql.SQLException; /* #=

相关错题

醉酒当歌 提交于 2019-12-04 13:45:25
使用SqlSessionTemplate映射接口实现数据库操作,下列说法正确的是()   A.使用SqlSessionTemplate的selectOne()方法获取映射器实例;   B.使用SqlSessionTemplate的getInstance()方法获取映射器实例;   C.使用SqlSessionTemplate的getMapper方法获取映射器实例;   D.必须提供实现DAO接口的实现类; 正确答案 :C   试题解析: 使用SqlSessionTemplate的getMapper方法可以完成映射接口的实现,可以没有DAO实现的类,这种方式不容易产生错误,并且在编译期就能识别错误。而且命名空间发生变化,也不会导致很多地方需要修改,易于维护。故选c 关于Spring的声明式事务管理,下面说法正确的是()   A.声明式事务是侵入式的,需要修改程序代码;   B.使用声明式事务时,我们主要关注“在哪儿”和“采取什么样的事务策略”;   C.配置声明式事务需要tx和aop两个命名空间的支持;   D.事务管理器的实现由负责数据库操作的Hibernate框架提供; 正确答案: BC 试题解析:    声明式事务:在Spring配置文件中对事务进行配置,无须在程序中写代码;(建议使用)         我对”声明式“的理解是这样的:Spring配置文件中定义好了这样一个规则,

Spring错题笔记

我与影子孤独终老i 提交于 2019-12-04 13:37:23
解析:autowire属性值可以设置为no、byType、byName,没有none所以B错 解析:Spring配置文件本身也可以通过import子元素导入其他配置文件,子标签需要使用resource引用。D错误 解析:此题主要考查SpringMVC返回json数据的三种方式。SpringMVC返回json数据的三种方式: 1、第一种方式是Spring2时代的产物,也就是每个json视图Controller配置一个JsonView。 2、第二种使用JSON工具将对象序列化成json,常用工具Jackson,fastjson,gson。 3、第三种利用SpringMVC3的注解@ResponseBody。因此ABC是正确的选项 解析:A选项说法错误,SpringMVC中并没有定义一个Handler接口,实际上任何一个JavaBean都可以成为请求处理器。 解析:Spring框架的核心是一个ioc容器 解析:控制器确定调用哪个视图进行数据展示,故C错 解析: session作用域:在一个HTTP Session中,一个bean定义对应一个实例 global session作用域:在一个全局的HTTP Session中,一个bean定义对应一个实例 因此这里选项D 解析:AD选项都错误,因为引入的标签库,前缀定义为:fm,B选项错误,应该是path表示表单对象的属性,而不是text

SpringMVC相关试题

泪湿孤枕 提交于 2019-12-04 13:35:03
1.下列相关Spring自动装配的说法中,错误的是( )。 (选择一项) A:在Spring配置文件中,可以通过<bean>元素的autowire属性指定自动装配方式 B: autowire属性值可以设置为none、byType、byName C: autowire的属性值之一byType表示根据属性类型自动装配 D:通过<beans>元素的default-autowire属性,可以设置全局的自动装配方式 答案:B 2.Spr ing中Bean的作用域不包括( )。 (选择- -项) A: singleton B: prototype C: session D: application 答案:D 3.以下关于spr ing核心说法不正确的是() (选择一项) A: spr ing核心包括DI B: spring核心包括AOP c: spr ing核心包括IOC D: spr ing核心包括00P 答案:D 4.在Spring应用中,由于项目规模变大,Spring配置文件的规模也会相应增长, 这就造成配置文件的可读性和可维护性变差,此事就需要对其进行拆分,(选择一项) A: Spr ing配置文件的拆分可以在web. xm1中实现 <context- -par am> <par am- name> contex tConf igL ocation</par am- name>

Spring MVC--RequestMapping

好久不见. 提交于 2019-12-04 13:26:11
1. 窄化请求 在类上用注解 @RequestMapping 相当于在加一层目录 访问时 : 项目名/user/....... 1 //窄化请求 2 @RequestMapping("user") 3 public class UserControoler {} 2. 参数绑定 1 @ResponseBody 2 @RequestMapping("/findById.action") 3 public String findById(HttpServletRequest request,@RequestParam(name = "uid",required = true) Integer id){ // 必须要有参数uid 4 return "***"; 5 } 2.2 提交方式 1 @RequestMapping  (    path = "/queryAll.action",    method = {RequestMethod.POST,RequestMethod.GET}, 2 params = {"uid=1"} 3 ) 3. controller方法返回值 ModelandView (最常用) String void 1 public ModelAndView test1(){ // 最常用,最方便 2  ModelAndView modelAndView = new

Spring Boot框架 - SpringMVC专题

ぃ、小莉子 提交于 2019-12-04 11:55:22
一、SpringMVC发展史   2004年 Spring Framework 1.0 final 正式问世,当时只包含一个完整的项目,他把所有的功能都集中在一个项目中,其中包含了核心的 IOC、AOP,同时也包含了其他的诸多功能,例如:JDBC、Mail、ORM、事务、定时任务等。Spring团队超前的眼光,在第一个版本的时候已经支持了很多第三方的框架,例如:Hibernate、ibatis、模板引擎等,为其后来快速发展奠定了基础。   Spring 2.x增加对注解的支持,支持了基于注解的配置。   Spring 3.x支持了基于类的配置。   Spring 4.x全面支持jdk1.8,并引入RestController注解,直到今天依然是接口编程的首选。   现在最近GA版本Spring 5.2.1,Spring正在稳步向前,越走越稳。 二、总体架构      引入Intercepter(拦截器),类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理,本质上也会AOP,把符合横切关注点的所有功能都可以放入拦截器实现,Intercepter面向的是页面处理Handler(Controller),允许开发人员自定义某一请求路径上的处理程序执行链。   引入HandlerMapping(路由器),定义了Spring MVC的路由机制