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

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

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

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

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

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

然后,定义一个借口实现类(DAOImpl),在里面设计与实现DAO层里的所有抽象方法。

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

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

Java web MVC开发模式入门感悟的更多相关文章

  1. java之MVC开发模式

    友情提醒:eclipse创建servlet不会帮你同步创建一个web.xml配置文件:所以建议使用MyEclipse! 1.View层(jsp) <form action="javaw ...

  2. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  3. java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试

    本内容摘自 java web轻量级开发面试教程 https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80% ...

  4. Java基础85 MVC开发模式

    1.MVC开发模式 本文用 Servlet+JSP+javaBean 的开发模式来讲解 Model:用javabean实现,用于封装业务数据View:用jsp实现,用于显示数据Controller:用 ...

  5. java web方面的面试问题,Spring MVC方面的面试问题,摘自java web轻量级开发面试教程

    本文摘自java web轻量级开发面试教程: https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E ...

  6. 什么是MVC开发模式以及它和传统开发模式的区别

    Model1模式:使用纯JSP或者JSP+JavaBean开发,存在如下缺陷:JSP页面中混合了HTML和JAVA代码,从而给代码的开发和阅读带 来了麻烦:系统后期维护和扩展非常困难,例如在JSP页面 ...

  7. 如何用比较快速的方法掌握Spring的核心——依赖注入,Java web轻量级开发面试教程 读书笔记

    我们知道,Java方面的高级程序员一定得掌握Spring的技能,其中包括Spring 依赖注入(IOC),面向切面(AOP),和数据库的整合(比如和Hibernate整合或声明式事务等)以及Sprin ...

  8. java web 入门级 开发 常用页面调试方法

    这里介绍一下Java web 入门级开发中常用的代码调式方法;  (  仅供入门级童靴 参考) ; 工具: chrome  浏览器 (版本越高越好); Java web 入门级开发 主要就是两个方面: ...

  9. 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)

    前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻 ...

随机推荐

  1. JAVA的容器---List,Map,Set (转)

    JAVA的容器---List,Map,Set Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashM ...

  2. (转载)一个用于Gnome桌面的下拉式终端: Guake 0.7.0 发布

    转自:https://linux.cn/article-5507-1.html Linux的命令行是最好.最强大的东西,它使新手着迷,并为老手和极客的提供极其强大的功能.那些在服务器和生产环境下工作的 ...

  3. T-SQL 基础编程

    Ø Go批处理语句 用于同时执行多个语句 Ø 使用.切换数据库 use master go Ø 创建.删除数据库 方法1. --判断是否存在该数据库,存在就删除 if (exists (select ...

  4. suse 不能远程登录

    公司部分机器新装了suse企业版12,远程登录不成功,解决方法如下: 1.关闭防火墙 chkconfig --level SuSEfirewall2_init off 2.配置sshd 3.重启ssh ...

  5. 网页细分图结果分析(Web Page Diagnostics)

    Discuz开源论坛网页细分图结果分析(Web Page Diagnostics) 续LR实战之Discuz开源论坛项目,之前一直是创建虚拟用户脚本(Virtual User Generator)和场 ...

  6. JAVA Day3

                                               分支与循环             char sex = in.next().charAt(0);   java中 ...

  7. 在Windows下快速搭建SVN服务器 VisualSVN

    下载https://www.visualsvn.com/server/download/ 1.安装 安装SVN服务器: 安装的时候可以选择http协议还是https协议,http协议速度快一些,而ht ...

  8. [DB那些事]数据库加密

    说到数据库加密,目前最好且唯一的方案就是SqlCipher对sqlite3整体加密,微信也用的它.开源,且支持很多平台. 单就Android来说,集成不算太麻烦,1个jar包,3个so库,1个zip. ...

  9. AngularJS学习之模块

    1.模块定义了一个应用程序:模块是应用程序中不同部分的容器:模块是应用控制器的容器:控制器通常属于一个模块 2.创建模块:你可以通过AngularJS的angular.module函数来创建模块: & ...

  10. Spring - 配置Bean - 自动装配 关系 作用域 引用外部属性文件

    1 Autowire自动装配1.1 使用:只需在<bean>中使用autowire元素<bean id="student" class="com.kej ...