SpringMvc 常见面试题整理(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24871519/article/details/81673515
  1. 你对springmvc的介绍?

    
    1. Spring 框架提供的构建web应用的模块
    2. 它是基于servlet功能实现的,通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,同时带有配置的处理程序映射、视图解析、主题解析以及上载文件支持。
    3. 默认的处理程序是非常简单的controller接口,只有一个方法handleRequest()。
  2. 简单的谈一下springMVC的工作流程?

    工作流程:
    1. 用户发送请求至前端控制器DispatcherServlet
    2. DispatcherServlet收到请求调用HandlerMapping。
    3. 通过HandlerMapping得到HandlerAdapter.
    4. 调用handle()方法返回ModelAndVIew
    5. DispatcherServlet将ModelAndView送给ViewResolver视图解析器处理,解析返回具体的view
    6. 将Model渲染到view视图
    7. 最后向用户response响应
  3. SpringMVC和struts2的主要区别:

    1. springMVc的入口是一个servlet即前端控制器,而struts的入口是一个filter
    2. springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例,而struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
    3. springmvc通过参数解析器将request内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象。而struts采用值栈存储请求和响应的数据,通过OGNL表达式存取数据。
  4. 常用注解:

    1. @Controller
    2. @Service 声明service组件
    3. @Repository 声明Dao组件
    4. @Component 泛指之间,不好归类时使用
    5. @RequestMapping 请求映射
    6. @Resource 用于注入,默认按名称装配
    7. @Autowired 用于注入,默认按类型装配
    8. @Transactional 事务管理
    9. @ResponseBody
      10.@Scope 设置bean的作用域
      “`
  5. springmvc的controller是单例还是多例的?

    答:是单例的,只要controller里面不定义属性,线程就是安全的。主要是单例性能好。
  6. springmvc是怎样设置重定向和转发的?

    1. 重定向:在返回值前面加“redirect: ”
    2. 转发:在返回值前面加“forward: ”
  7. @RequestMapping有哪些参数?

    1. value: 指定请求地址
    2. method: 指定请求的method类型:GETPOSTPUT等
    3. consumes: 指定请求的Content-Type,如application/json等
    4. produces: 指定响应的内容类型
    5. params: 指定请求必须包含的参数
    6. headers: 指定请求必须包含某些header
  8. @SessionAttributes的使用?

    
    1. 注解只能在类上使用
    2. 将模型中的数据存储到session中

没有更多推荐了,返回首页