SpringMVC总结(常见笔面试题)

SpringMVC

1.SpringMVC执行流程

https://www.jianshu.com/p/8a20c547e245

   (1)用户将请求发送到前端控制器

   (2)前端控制器请求处理器映射器查找Handler(处理器)

   (3)处理器映射器向前端控制器返回Handler执行链

   (4)前端控制器调用处理器适配器去执行Handler

   (5)处理器执行Handler

   (6)Handler执行完Hander返回ModelAndView给处理器适配器

   (7)处理器适配器将ModelAndView返回给前端控制器

   (8)前端控制器将ModelAndView传给视图解析器

   (9)视图解析器解析后返回具体View给前端控制器

   (10)前端控制器对view进行渲染视图(即将模型数据填充到视图中)

   (11)前端控制器向用户响应结果

2. MVC含义

  Model(模型):表示应用程序核心,比如数据库记录列表

  View(视图):显示数据

  Cotroller(处理器):处理输入

3. SpringMVC常用注解

    (1)处理器使用 @Controller

    (2)@RequestMapping  请求URL

    (3)@RequestBody 实现接收http请求的json数据,将json数据转化java对象

    (4)@ResposeBody  实现将对象转化为json响应给客户

4. 如何开启注解处理器和适配器

       一般会在springmvc.xml通过<mvc:annotation-driven>

5. 简单介绍一下SpringMVC

SpringMVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,是Spring的一个子模块,在Web模型中,SpringMVC是一个很流行的框架,通过把Model,View,Controller分离,把复杂的Web应用分成了几部分,简化开发,减少出错。 

6. SpringMVC的优点

  (1)基于组件开发

  (2)与Spring整合较好 

7. SpringMVC与Struts2的区别

   (1)SpringMVC的入口是一个servlet即前端控制器,Struts2入口是一个fifter过滤器

   (2)SpringMVC是基于方法开发的,可以设计为单例或多例,struts2是基于类开发只能设计为多例模式

8. SpringMVC如何设定重定向和请求转发

    (1)请求转发:在返回值前加 “forword:” ,如 "forword:user.do?name=method4"

    (2)重定向:在返回值前加"redirect","redirect:http//www.baidu.com"

9. SpringMVC的核心入口是DispathServlet

10.SpringMVC的控制器是单例模式的,会存在线程安全问题,解决办法是:在控制器里面不要写字段(类成员变量)。      

11.SpringMVC用什么对象从后台向前台传递数据

  通过ModelMap

12.怎样把ModelMap里面的数据放入Session

可以在类上面加上@SessionAttributes注解

13.解决post和get中文乱码问题

 post:每次在Request解析数据时设置编码格式,request.setCharacterEncoding(“utf-8”)或者使用编码过滤器解决

 get:修改tomcat服务器的server.xml文件

猜你喜欢

转载自blog.csdn.net/zjf1665119803/article/details/83656198
今日推荐