什么是springMVC?作用?

springMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等)。

为什么要用springMVC?

基本上,框架的作用就是用来简化编程的,相对于servlet来说,获取表单参数,响应请求等变得更简单了。

说出spring mvc底层执行流程(工作原理)

说说spring mvc中常用注解有哪些,分别什么作用?

@Controller

标识这个类是一个控制器

@RequestMapping

给控制器方法绑定一个uri

@ResponseBody

将java对象转成json,并且发送给客户端

@RequestBody

将客户端请求过来的json转成java对象

@RequestParam

当表单参数和方法形参名字不一致时,做一个名字映射

@PathVarible

用于获取uri中的参数,比如user/1中1的值

Rest风格的新api

@RestController

@Controller+ @ResponseBody

@GetMapping@DeleteMapping@PostMapping

@PutMapping

其他注解

@SessionAttribute

声明将什么模型数据存入session

@CookieValue

获取cookie值

@ModelAttribute

将方法返回值存入model中

@HeaderValue

获取请求头中的值

springmvc和strus2的区别?

1,入口不同:

springmvc 入口是Servlet。struts2入口是filter。

2,生命周期不同:

spring mvc Controller是单例的。所以不能使用成员变量获取参数。所以效率高。

struts action是多例的。所以可以使用成员变量获取参数。所以效率低。

如何在spring mvc实现RESTful 服务

1,导入jackson2包

2,开启注解驱动<mvc:annotation-driven/>

3,json交互=@RequestBody @ResponseBody

spring mvc如何返回JSON数据

在处理方法前加上 @ResponseBody注解

或者

在控制器上使用 @RestController

什么是拦截器?有什么用?spring mvc如何定义拦截器?

what:

类似于filter的一个对象,用于预处理以及后处理处理器(控制器)。

how:

新建class实现HandlerInterceptor重写三个方法preHandlerpostHandlerafterCompletionspringmvc.xml中配置拦截器

2 spring mvc中如何做表单数据校验?

环境搭建

1,springmvc.xml中配置一个validator

2,<mvc:annotation-driven validator="validator"/>;

给Entity添加校验规则

@NotEmpty

@Length

...

用BindingResult 紧接着entity之后来接收错误信息。

test(User user,BindingResult rs)

Spring MVC 面试题的更多相关文章

  1. spring + spring mvc + tomcat 面试题(史上最全)

    文章很长,而且持续更新,建议收藏起来,慢慢读! 高并发 发烧友社群:疯狂创客圈(总入口) 奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : 极致经典 + 社群大片好评 < Java 高并发 三 ...

  2. 精尽Spring MVC源码分析 - 文章导读

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  3. java面试题之----spring MVC的原理和MVC

    1.什么是mvc? 1.1原始比较初级的设计模式: 1.2 MVC设计模式 2MVC设计模式的优势与核心在于其能解耦和: 传统的设计模式相当于是一个串联的设计,只要其中一个环节出了问题便会使下一环节中 ...

  4. 菜鸟刷面试题(四、Spring/Spring MVC/Spring Boot/Spring Cloud篇)

    目录: 为什么要使用 spring? 解释一下什么是 aop? 解释一下什么是 ioc? spring 有哪些主要模块? spring 常用的注入方式有哪些? spring 中的 bean 是线程安全 ...

  5. Java面试题(设计模式篇+Spring/Spring MVC篇)

    设计模式 88.说一下你熟悉的设计模式? 自行熟悉. 89.简单工厂和抽象工厂有什么区别? 简单理解简单工厂:对 一个对象的创建进行封装.抽象工厂:对 一组对象的创建进行封装. 比如生产 陶瓷马 和  ...

  6. 【深度分析】:阿里,腾讯面试题 SpringBoot整合Spring MVC

    Java学习总结 SpringBoot整合Spring MVC 1.SpringMVC概述 MVC(Model–view–controller)是软件工程中的一种软件架构模式,基于此模式把软件系统分为 ...

  7. Spring MVC中文文档翻译发布

    前后经过九个月,我翻译的Spring MVC官方4.2.4版本中文文档可以发布第一个较为完整的版本了.译文上尽量做到准确并且符合中文习惯,让人能读懂,能理解.现全文发布如下,也希望它能够给出其价值,并 ...

  8. Spring Boot面试题

    Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...

  9. 【64】Spring mvc详解

    Spring mvc框架 Spring web MVC 框架提供了模型-视图-控制的体系结构和可以用来开发灵活.松散耦合的 web 应用程序的组件.MVC 模式导致了应用程序的不同方面(输入逻辑.业务 ...

随机推荐

  1. 【DSP开发】【计算机视觉】TI 视觉软件开发套件ADAS

    关键字:TI  视觉软件开发套件  ADAS 日前,德州仪器 (TI) 宣布推出其视觉软件开发套件(SDK),从而为开发人员提供了一款灵活的框架.一组丰富齐全的硬件设备驱动程序和一套适用的开发工具,可 ...

  2. 继续做一道linux的企业 面试题

    把/dongdaxia目录及其子目录小所有以拓展名.sh结尾的文件中包含dongdaxia的字符串全部替换为dj. 解答:这道题还是用到了三剑客里的sed: 第一步:先在/dongdaxia目录及其子 ...

  3. 04: gitlab安装与使用

    1.1 gitlab安装(192.168.56.12中安装) 1.GitLab是什么? 1. GitLab实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 2. GitLa ...

  4. python-day30(正式学习)

    单例模式 什么是单例模式 单例模式:基于某种方法实例化多次得到实例是同一个 为什么用单例模式 当实例化多次得到的对象中存放的属性都一样的情况,应该将多个对象指向同一个内存,即同一个实例 用类方法来实现 ...

  5. Android新版xUtils3工具类相关debug

    首先出现问题是 build.gradle中的csayısıom.lidroid.xutils:xutils:2.6.13报错了,所以想到是版本的问题,github上搜了xutils发现有新版xutil ...

  6. div+css布局教程(1)

    margin:Margin属性用于设置两个元素之间的距离. 后面如果只有两个参数的话,第一个表示top和bottom,第二个表示left和right因为0 auto,表示上下边界为0,左右则根据宽度自 ...

  7. SAP模块一句话入门(专业术语的理解)

    SAP模块一句话入门(专业术语的理解) SAP一句话入门:Financial & Controlling Accounting (FICO) 财务,财务,呵呵,让我们关心一下给我发工资的部门. ...

  8. vscod插件

    Babel JavaScript Code Runner Debugger for Chrome ESLint HTML CSS Support HTML Snippets background  J ...

  9. js特效背景--点线随着鼠标移动而改变

    https://blog.csdn.net/css33/article/details/89450852 https://www.cnblogs.com/qq597585136/p/7019755.h ...

  10. java 枚举enum的使用(与在switch中的使用)

    实际开发中,很多人可能很少用枚举类型.更多的可能使用常量的方式代替.但枚举比起常量来说,含义更清晰,更容易理解,结构上也更加紧密.看其他人的博文都很详细,长篇大论的,这里理论的东西不说了,一起看看在实 ...