1 什么是 Spring MVC?
Spring MVC 是一个基于 Java 的实现了 MVC 设计模式的请求驱动类型的轻量级 Web 框架,通过把 Model,View,Controller 分离,将 web 层进行职责解耦,把复杂的 web 应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合
2 什么是 MVC 模型?
用户的请求会到达 Servlet,然后根据请求调用相应的 Java Bean,并把所有的显示结果交给 JSP 去完成,这样的模式我们就称为 MVC 模式。
M 代表 模型(Model):数据,dao,bean
V 代表 视图(View):网页,JSP,用来展示模型中的数据
C 代表 控制器(controller):把不同的数据(Model),显示在不同的视图(View)上,Servlet 扮演的就是这样的角色
3 Spring MVC 的优点?
可以支持各种视图技术,而不仅仅局限于 JSP
与 Spring 框架集成(如 IoC 容器、AOP 等)
清晰的角色分配:前端控制器(dispatcherServlet),请求到处理器映射(handlerMapping),处理器适配器(HandlerAdapter),视图解析器(ViewResolver)
支持各种请求资源的映射策略
4 Spring MVC 和 struts2 的区别?
springmvc 的入口是一个 servlet 即前端控制器(DispatchServlet),而 struts2 入口是一个 filter 过虑器(StrutsPrepareAndExecuteFilter)
springmvc 是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例
Struts 采用值栈存储请求和响应的