jsp–spring MVC模式
三层架构(服务器端)
1、表现层(外部层,Spring MVC)
作用:WEB层,用来和客户端进行数据交互的。表现层一般采用Spring MVC模式
2、业务层(Spring框架)
作用:处理公司具体的业务逻辑
3、持久层(MyBatis)
作用:用来操作数据库的
4、优点
- 高内聚、低耦合,可以降低层与层之间的依赖。
- 各层互相独立,完成自己该完成的任务,项目可以多人同时开发,开发人员可以只关注整个结构中的其中某一层。
- 容易移植、维护,如 B/S 转 C/S、SQLServer 转 Oracle、添加、修改、删除等。
- 有利于标准化。
- 有利于各层逻辑的复用。
- 安全性高。用户端只能通过业务逻辑层来调用数据访问层,减少了入口点,把很多危险的系统功能都屏蔽了。
MVC设计模型
M model模型 JavaBean
V view视图 jsp或html
C Controller控制器 Servlet
Spring MVC
概念:基于java的实现MVC设计模型的请求驱动类型的轻量级的Web框架,属于Spring Framework的后续产品
优势:
- 清晰的角色划分
- 分工明确,而去扩展性强
- 由于命令对象就是一个PoJo,无需继承框架特定API,可以使用命令对象直接作为业务对象。
- 和 Spring其他框架无缝集成,是其它web框架所不具备的。
- 可适配,通过HandlerAdapter可以支持任意的类作为处理器。
- 可定制性,HandlerMapping、ViewResolver等能够非常简单的定制。
- 功能强大的数据验证、格式化、绑定机制。
- 利用Spring提供的Mock对象能够非常简单的进行 web层单元测试。
- 本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。
- 强大的JSP标签库,使JSP编写更容易。
SpringMVC和 Struts2的优略分析
共同点:
它们都是表现层框架,都是基于MVC模型编写的。
它们的底层都离不开原始servletAPI。
它们处理请求的机制都是一个核心控制器。
区别:
Spring MVC的入口是servlet,而struts2是Filter
Spring MVC是基于方法设计的,而 Struts2是基于类,Struts2每次执行都会创建一个动作类。所以Spring MVC会稍微比 Struts2快些。
Spring MvC使用更加简洁,同时还支持JSR303,处理ajax的请求更方便
(JSR303是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面,就可以在需要校验的时候进行校验了。)
struts2的oGNL表达式使页面的开发效率相比 spring Mvc更高些,但执行效率并没有比JSTL 提升,尤其是struts2的表单标签,远没有html执行效率高。
Spring MVC创建的基本步骤
1.搭建开发环境
2.编写程序