1、MVC设计模式一般指MVC框架,M(Model)数据模型层,V(View)视图层,C(Controller)控制层。
Controller层:获取用户的请求,处理相关业务逻辑,并成功跳转页面,负责前后台的交互。
Model层:封装用户信息的实体类,封装实体类。
View层:跳转的结果页面。
两种Web应用程序的的开发模式:JSP+JavaBean和Servlet+JSP+JavaBean
JSP+JavaBean:JSP:用于处理用户请求,JavaBean:用于封装和处理数据。
Servlet+JSP+JavaBean:servlet:处理用户请求,JSP:数据显示,JavaBean:数据封装。
MVC优点(松耦合+高可重用性+高可适用性):
(1)多视图共享一个模型,提高了代码的可重用性;
(2)MVC三个模块相互独立,松耦合架构;
(3)控制器提高了应用程序的灵活性和可配置性;
(4)有利于软件工程化管理。
MVC缺点:
(1)原理复杂;
(2)增加了系统结构和实现的复杂性;
(3)视图对模型数据的低效率访问。
2、搭建Spring MVC程序
(1)创建Web应用并引入jar包;
Spring MVC 依赖 JAR 文件包括 Spring 的核心 JAR 包和 commons-logging 的 JAR 包。
(2)Spring MVC配置:在web.xml中配置Servlet,创建Spring MVC的配置文件;
Spring MVC是基于 Servlet 的,DispatcherServlet 是整个 Spring MVC 框架的核心,主要负责截获请求并将其分派给相应的处理器处理。所以配置 Spring MVC,首先要定义 DispatcherServlet。跟所有 Servlet 一样,用户必须在 web.xml 中进行配置。
(3)创建Controller(处理请求的控制器);
(4)创建View;创建jsp文件。
(5)部署运行。
3、Spring MVC和Struts2的区别:
(1)Spring MVC基于方法开发,Structs2基于类开发;
(2)Spring MVC可以进行单例开发,Struts2无法使用单例;
(3)Struts2的处理速度比Spring MVC慢。
4、Spring MVC视图解析器(View Resolver):将逻辑视图名解析成具体的视图对象
UrlbasedViewResolver 是对 ViewResolver 的一种简单实现,主要提供了一种拼接 URL 的方式来解析视图。通过 prefix 属性指定前缀,suffix 属性指定后缀。
InternalResourceViewResolver 为“内部资源视图解析器”,是UrlbasedViewController的子类,InternalResourceView 会把 Controller 处理器方法返回的模型属性都存放到对应的 request 属性中,然后通过 RequestDispatcher 在服务器端把请求 forword 重定向到目标 URL。也就是说,使用 InternalResourceViewResolver 视图解析时,无需再单独指定 viewClass 属性。
FreeMarkerViewResolver 是 UrlbasedViewResolver 的子类,可以通过 prefix 属性指定前缀,通过 suffix 属性指定后缀。FreeMarkerViewResolver 最终会解析逻辑视图配置,返回 freemarker 模板。不需要指定 viewClass 属性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)