Spring MVC面试整理
Spring MVC执行过程
客户端的请求提交到dispatcherServlet
DispatcherServlet查询一个或者多个handlermapping ,找请求的Controller
DispatcherServlet将请求提交给Controller, Controller调用完毕后返回modelAndView
DispatcherServlet查询一个或多个对应的前端控制器,将modelAndView传递给指定的前端控制器
将渲染完的视图返回给客户端
SpringMVC的Controller为单例的尽量不要设置属性,而是在方法中
@RequestMapping注解用在类上面代表该类方法的父路径
SpringMVC与Struts2的主要区别
SpringMVC的前端控制器为一个Servlet 而Struts为Filter
SpringMVC的Controller为单例,而Struts2的Action为多例
SpringMVC没有值栈的概念,Struts有值栈
- SpringMVC是方法参数绑定,而Struts是属性绑定
SpringMVC的拦截器
类实现接口HandlerInterceptor,实现方法,方法分别对应方法执行前 , 执行后 , 页面渲染后
然后在配置文件中配置拦截器
多个拦截器一起执行的时候preHandler按照配置的顺序执行,剩下的两个拦截器都要在preHandler返回为True时才能执行.
postHandler和afterCompletion按照配置顺序的逆序调用
json
@ResponseBody 输出json
@requestbody 接受json 转化为pojo
上传文件
前端规则
在配置文件中配置多媒体
在Controller中用MultipartFile来接受文件
三大组件和核心
核心 : DispatcherServlet(前端控制器)
三大组件 :
ViewResolver : 视图解析器()
HandlerMapping : 处理器映射器组件(查找路径名对应的Handler)
HandlerAdapter : 处理器适配器组件(执行Handler)
主要的注解
@requestmapping() // 方法的访问路径value,method=post 限制请求的方式为get/post
@Controller
@ResponseBody
@RequestBody
拦截规则
/* 拦截所有,包括jsp
/ 拦截除了jsp以外的资源
Controller的返回值
ModelAndView : 返回视图和参数
Model : 在方法中传递Model,返回值为String , 直接return 视图
Void : 什么也不反回
重定向和请求转发
- 在路径前面添加关键字
return 'redirect:/item/itemlist.action'return 'forward:/item/itemlist.action'
- 在路径前面添加关键字
参数绑定
public ModelAndView toEdit(Integer id,HttpServletRequest request,HttpServletResponse response,HttpSession session)
异常处理
继承HandlerExceptionResolver 实现对应的方法,对错误进行处理
springmvc配置
<bean class="com.lyh.exception.CustomerException"></bean>
拦截提交参数中包含"type=test"字符串
可以在@RequestMapping注解里面加上params="type=test"
SpringMvc用什么对象从后台向前台传递数据的
- 通过ModelMap对象,可以在这个对象里面用put方法,把对象加到里面,前台就可以通过el表达式拿到
怎么样把ModelMap里面的数据放入Session里面
- 可以在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key
SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决
- 是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的,解决方案是在控制器里面不能写字段
Spring MVC面试整理的更多相关文章
- Spring MVC面试复习整理
Spring MVC Spring MVC 是Spring Framework 提供的 web 组件 它的实现基于 MVC 的设计模式:Model(模型层).View(视图层).Controller( ...
- 从一个简单案例上手Spring MVC,同时分析Spring MVC面试问题
很多公司都会用Spring MVC,而且初级程序员在面试时,一定会被问到这方面的问题,所以这里我们来通过一个简单的案例来分析Spring MVC,事实上,我们在培训中就用这个举例,很多零基础的程序员能 ...
- Spring MVC知识点整理
网上Spring MVC相关知识点的介绍已经有很多了,但是大部分文章都是介绍其中的一部分知识点. 本文希望能够向读者做一个基本整体的介绍,首先我们先来了解下Spring MVC的基础接口和组件. ...
- Spring mvc 面试
Spring工作原理及其作用 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.DispatcherSer ...
- spring MVC 异常处理整理
一.异常结构 1.异常由外到内如下: web服务器处理异常--->web应用里面web.xml处理异常--->Spring框架处理异常---->控制器注释处理异常--->控制器 ...
- Spring MVC 知识点整理
extend:http://www.jianshu.com/p/bef0e52067d2 1. Redis 存储方式 Redis存储机制分成两种Snapshot 和 AOF.无论是那种机制,Redis ...
- spring mvc 注解整理(一)
@Controller和@RestController: RestController = @ResponseBody + @Controller 所有返回都是json类型,无法跳转到jsp页面,但 ...
- 面试简单整理之spring、spring mvc
90.为什么要使用 spring? 解决企业应用开发的复杂性,IOC.aop 91.解释一下什么是 aop? 面向切面编程.... 92.解释一下什么是 ioc? 控制反转.. 93.spring 有 ...
- Spring MVC接收参数(Map,List,JSON,Date,2个Bean)(记录一次面试惨状)
题目Spring MVC 接收参数 MapListDate2个BeanJSON Spring MVC接收参数 -Map Spring MVC接收参数 -List Spring MVC接收参数 -dat ...
随机推荐
- 推荐网站 explainshell.com
ls 显示指定目录下的文件和目录,默认为当前目录. -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出) -l 除文件名称外,亦将文件型态.权 ...
- 【WAN】PPPOE宽带上网功能详解
1.mac地址克隆 某些地方的运营商会把宽带账号和用户电脑的mac地址绑定起来,运营商的账号只能让当前的电脑去上网,限制路由器上网,这时候路由器可以复制用户电脑的mac伪装成这台电脑去上网,实现路由器 ...
- 报错The VMware Authorization Service is not running
今天上linux课程的时候,开启虚拟机报错: The VMware Authorization Service is not running 解决方案里面各种提供: 1.以管理员身份运行虚拟机,治标不 ...
- String.IsNullOrEmpty 与 String.IsNullOrWhiteSpace
String.IsNullOrEmpty 指示指定的字符串是否为 null 或者 空字符串: 返回值:如果参数为 null 或者 空字符串("" .String.Empty),结果 ...
- TextBox 控件
TextBox控件上有一个箭头,MultiLine属性,是多行显示 TextBox控件有System.Windows.TextBox类提供,提供了基本的文本输入和编辑功能 属性 A ...
- jQuery事件篇---事件对象
内容提纲: 1.事件对象 2.冒泡和默认行为 发文不易,转载请注明出处! JavaScript 在事件处理函数中默认传递了 event 对象,也就是事件对象.但由于浏览器的兼容性,开发者总是会做兼容方 ...
- 一:Jquery-selector
一:jQuery概述 1.基本功能 a.访问和操作DOM元素:获取元素,修改其样式和内容,删除元素,复制元素... b.对页面事件的处理:不需要指定事件中的函数名,直接在事件中绑定响应函数(匿名函数) ...
- 基于Github搭建SrpingCloudConfig详解
最近在看SpringCloud,为了帮助自己学习和记忆,所以写下这篇文章. 从SpringCloud官方文档上看SpringCloudConfig其实为我们提供配置外部化的一个服务,可以理解成就是个w ...
- SpringBoot 整合swagger
springBoot 整合swagger 1.pom.xml 配置 <dependency> <groupId>io.springfox</groupId> < ...
- DevExpress13.2.9 控件使用经验总结
一.换肤功能 1. 添加 DevExpress.OfficeSkins 和 DevExpress.BonusSkins 两个引用 2. 皮肤注册 DevExpress.UserSkins.BonusS ...