课堂作业07--MVC框架

MVC简介

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

MVC在web’程序中的应用,M代表Model表示应用程序核心;V代表View显示数据(数据库记录);C代表Controller处理输入。MVC模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。MVC 分层有助于管理复杂的应用程序,因为可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

JAVA  web应用程序的主要组件

1.Servlet组件

Servlet运行于Web容器中,如Tomcat,它可以被Web容器动态加载,接收浏览器请求,调用其他组件处理请求,然后把处理结果返回。当浏览器访问某个Servlet时,Web容器将会创建一个ServletRequest对象和ServletResponse对象,并且把用户的请求信息封装在ServletRequest对象中。然后把这两个对象作为参数传输给Servlet的特定方法中。在该方法中处理请求,把处理结果封装在ServletResponse对象中,返回给Web容器。最后Web容器把结果返回到浏览器去解析、显示。

2.JSP组件

JSP是一种动态网页技术。它把HTML页面中加入java脚本,以及JSP标签构成JSP文件。当浏览器请求某个JSP页面时,Tomcat会把JSP页面翻译为Java文件。然后将它编译为class文件,接着执行它,把生成的HTML页面返回到客户端显示。

3.JavaBean组件

JavaBean组件是一种符合特定规范的Java对象。在JavaBean组件中定义一系列的属性,并且每个属性都提供setter和getter方法,这样就可以使用该组件存储一些中间数据。例如ServletRequest的请求信息、从数据库中查询出来的信息等。

4.EJB组件

Enterprise Java Bean(EJB)组件是服务器端的Java组件。该组件基于标准分布式对象技术、CORBA和RMI等技术,用于实现企业级应用的额业务逻辑。

5.XML语言

XML(Extensible Markup Language)是一种用来创建自定义标记的标记语言。

6.Web服务器和应用服务器

Web服务器用来处理HTTP请求,并返回HTTP数据。它主要用来和浏览器进行交互,给用户提供服务。应用服务器可以被Web服务器调用,进行业务逻辑的处理。它返回的数据被Web服务器组织为HTML格式,然后返回到浏览器去解析。

JAVA web的开发方法

JSP+JAVABEAN开发模式:
    特点:该模式将业务逻辑与页面表现进行分离,在一定程度上增加了程序的可调试性和维护性。

JSP+Servlet+JavaBean开发模式:
    特点:JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。遵循了MVC设计模式。

Struts开发方案:
    特点:成熟的MVC开发框架。
    构成:

控制器:ActionServlet 组件:Struts框架的中央控制器。RequestProcessor 组件:每个子模块都具有的请求处理器。Action 组件:业务代理,它将调用模型进行一项具体的业务逻辑处理。
              视图:主要由JSP页面构成还包括HTML文档;标准标签库(JSTL)和Struts标签库; JavaScript脚本和CSS样式;多媒体文件;消息资源文件;ActionForm类。
              模式:通常在Structs中使用其他模型组建来实现业务逻辑。如:JavaBean技术、EJB技术、Hibernates设计模式。

Spring开发方案:
    特点:拥有IOC和AOP两种先进的技术为基础,完美的简化了企业级开发的复杂度,是一个理想的Web程序框架。

Struts+HIbernate开发方案:
    特点:利用Struts的MVC设计模式,与Hibernate持久化对象组成的开发方案。

Struts+Spring+Hibernate开发方案:
    特点:Struts负责表示层, Spring负责逻辑层的业务,Hibernate持久层中数据库的操作,组成的开发方案。

常用的JAVA web MVC框架

Struts+Spring+Hibernate的SSH框架

介绍:
struts主要负责表示层的显示

spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)

hibernate主要是数据的持久化到数据库

 

Struts负责Web层:

  ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了<action-mapping>,ActionServlet会加载进来。

  Spring负责业务层管理,即Service:

  Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。

  Hibernate负责持久层,完成数据库的CRUD操作:

Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。

 

Struts——>Spring——>Hibernate

JSP——>Action——>Service——>DAO——>Hibernate

 

原文地址:https://www.cnblogs.com/dotacai/p/6753453.html