当我进行第一个完整的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. linux下vim配置以及一些常用的快捷键

    一些常用的vim编辑器快捷键: h」.「j」.「k」.「l」,分别控制光标左.下.上.右移一格. 按「ctrl」+「b」:屏幕往“后”移动一页. 按「ctrl」+「f」:屏幕往“前”移动一页. 按「c ...

  2. python web编程-web客户端编程

    web应用也遵循客户服务器架构 浏览器就是一个基本的web客户端,她实现两个基本功能,一个是从web服务器下载文件,另一个是渲染文件 同浏览器具有类似功能以实现简单的web客户端的模块式urllib以 ...

  3. 软考之PV操作(同步)

    这几天,陆续有那么三两个同学跟我讨论了一下关于软考上的PV操作的题,吾虽不才,但还是把同学们讲通了,在此,特分享一下自己的思路和想法,愿对大家有点帮助! 下面,我们就通过自己做过的试卷上两道题来分析: ...

  4. 第一个vs2013控制台程序

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. cvKMeans2函数用法概述

    一般情况下,我们通过C++/Matlab/Python等语言进行实现K-means算法,结合近期我刚刚学的C++,先从C++实现谈起,C++里面我们一般采用的是OpenCV库中写好的K-means函数 ...

  6. RDLC的部署(无法找到Microsoft.ReportViewer.ProcessingObjectModel.dll文件)

    CMD命令:C:\Windows\assembly\GAC_MSIL\ rdlc 相比微软的其他产品来说,做得还真是够烂的了,比水晶报表也烂得多. 但不知为何我还是宁可先择 rdlc.并且渐渐上手了. ...

  7. java&Protocol Buffers

    ps: Protocol Buffers简称PB PB 安装配置 下载 PB: 在 PB 官网,下载最新版(或者其他版本)PB,这里为了与 Java 项目中的 PB Maven 依赖版本一致,使用 P ...

  8. zepto的bug1

    给页面<a>标签绑定了tap事件,在移动设备上点击按钮貌似一切正常,可以正常响应. 但是,把页面上下滑动几次之后,或者在滑动时手指滑动出移动屏幕之外,之后再点击按钮,就会发现第一次点击的时 ...

  9. spring.net tx:advice 和 aop:config 配置事务 匹配名字的方法管理事务

    在网上找到的都是java里的配置方式,后来认真读了下spring.net的帮助文档,解决了这个问题:现在把我的server层的配置文件copy出来: <?xml version="1. ...

  10. Linux 环境中普通用户启动Myeclipse出错

    将Myeclipse安装在/usr/local/myeclipse目录中,由root用户启动时没有问题,而用普通用户时出现如下故障: The configuration area at '/usr/l ...