Java web MVC开发模式入门感悟

    当我进行第一个完整的java web项目的开发时,对之前所学的Java web知识体系有了一个清晰的进阶认识。我以为很是有必要对此进行必要的总结。css

    MVC,意指model(数据持久层)+viewer(视图层)+control(控制层)的基本开发组合模式。html

    MVC的开发优点是很是明显的,model层由javaBean以及service等主要组成,Bean主要完成数据的持久获取,例如从数据库中获取数据赋给bean对象,借助访问权限的特性,使其属性只能经过方法访问获取,而不能直接访问其属性,service部分主要是用bean部分的数据作业务逻辑处理返回所需的数据。java

    view层是视图层,用来表达内容,JSP页面是在html页面中加入了能够解释java代码的“编译器”,使jsp页面能够在表达内容的基础上也拥有了处理业务逻辑的能力。当JSP页面有能够处理数据的能力后,它能够接收来自其余页面或程序传来的数据,并将这些数据显示出来,为了更好更方便表达数据内容,又为其提供了el与jstl标签,这些标签能够存取服务器上各类域内的属性等内容,常见的域有“request,session,application,response”,每一个域的生命周期是不同的,要想准确存取值,就要对域的生命周期了解清楚,这里须要提醒的是。jsp页面也能够处理业务逻辑,因此意味着它能够替代处理控制层的事情,但这样就有悖于简洁高效清晰的理念(就像html与css和js同样),而且会显得视图层混乱与臃肿,不利于再次开发与维护。程序员

   control层是控制层,它通常在web中由servlet文件实现,它从JavaBean或者service和各域中提取数据,对数据作逻辑处理,完成相关功能,对获得的数据经过域的属性和域的生命周期的特性向视图层传去所需数据。控制层是MVC的灵魂所在,是最关键的地方,由于业务在这里处理实现。说到底,就是在这里进行Java程序设计。但在实际开发中,为了进一步简化servlet,开发人员们弄出了不少开发模式,这里以工厂方法为例,开发人员面向接口开发,具体过程是:web

    首先,肯定有哪些模块,为每一个模块定义一个接口(DAO),接口内设计该模块实现所需的抽象的方法;数据库

    而后,定义一个借口实现类(DAOImpl),在里面设计与实现DAO层里的全部抽象方法。服务器

    这样,在servlet文件中只需调用这个实现类里的方法,就能够实现相关功能,不用再去作具体设计。session

    另外,为每一个接口设计一个工厂(Factory)类,其中定义static方法返回一个接口实现类的实例对象,即每次用工厂类名调用这个静态方法及能生产出一个实现接口的实例对象来,形似工厂,因此称为工厂方法。(我是入门级程序员,这些是我作完一个小项目的感悟。)app

相关文章
相关标签/搜索