1. 你对springmvc的介绍?
1. Spring 框架提供的构建web应用的模块
2. 它是基于servlet功能实现的,通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,同时带有配置的处理程序映射、视图解析、主题解析以及上载文件支持。
3. 默认的处理程序是非常简单的controller接口,只有一个方法handleRequest()。
  1. 简单的谈一下springMVC的工作流程?
工作流程:
1. 用户发送请求至前端控制器DispatcherServlet
2. DispatcherServlet收到请求调用HandlerMapping。
3. 通过HandlerMapping得到HandlerAdapter.
4. 调用handle()方法返回ModelAndVIew
5. DispatcherServlet将ModelAndView送给ViewResolver视图解析器处理,解析返回具体的view
6. 将Model渲染到view视图
7. 最后向用户response响应
  1. SpringMVC和struts2的主要区别:
1. springMVc的入口是一个servlet即前端控制器,而struts的入口是一个filter
2. springmvc是基于方法开发,传递参数是通过方法形参,可以设计为单例或多例,而struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
3. springmvc通过参数解析器将request内容进行解析成方法形参,将响应数据和页面封装成ModelAndView对象。而struts采用值栈存储请求和响应的数据,通过OGNL表达式存取数据。
  1. 常用注解:
  1. @Controller
  2. @Service 声明service组件
  3. @Repository 声明Dao组件
  4. @Component 泛指之间,不好归类时使用
  5. @RequestMapping 请求映射
  6. @Resource 用于注入,默认按名称装配
  7. @Autowired 用于注入,默认按类型装配
  8. @Transactional 事务管理
  9. @ResponseBody
    10.@Scope 设置bean的作用域
    “`
  1. springmvc的controller是单例还是多例的?

    答:是单例的,只要controller里面不定义属性,线程就是安全的。主要是单例性能好。
  2. springmvc是怎样设置重定向和转发的?
1. 重定向:在返回值前面加“redirect: ”
2. 转发:在返回值前面加“forward: ”
  1. @RequestMapping有哪些参数?
1. value: 指定请求地址
2. method: 指定请求的method类型:GET、POST、PUT等
3. consumes: 指定请求的Content-Type,如application/json等
4. produces: 指定响应的内容类型
5. params: 指定请求必须包含的参数
6. headers: 指定请求必须包含某些header值
  1. @SessionAttributes的使用?
1. 注解只能在类上使用
2. 将模型中的数据存储到session中