【转】JavaWeb MVC
--------------------------------------------------------------------------------------------------
1.jsp -- 显示、收集数据。
2.Servlet -- 用于验证数据、实例化JavaBean、调用DAO连接数据库、控制页面跳转.
3.DAO -- 用于连接数据库及进行数据库的操作如:查询、删除、更改等.
4.JavaBean -- 用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等.
5.servlet过滤器 -- 它能够在一个request到达servlet之前预处理request,也可以在离开servlet时处理response
6.servlet监听器 -- 监听Web的各种操作,当相关的操作触发后将产生的事件,并对此事件进行处理
以上 1,2,3,4构成了MVC模式,jsp为MVC模式当中的V,Servlet为C,DAO与JavaBean合在一起为M。
运行流程:
用户首先打开一个JSP页面,这个JSP页面用于收集用户输入的数据(使用Form表单实现),当用户单击提交按钮时,此JSP页面被提交到对应的Servlet,此时工作转向Servlet。
Servlet将提交到的数据进行处理,处理过程如下:
1. (可选)对数据进行合法性验证、乱码处理等.
2. 实例化DAO,调用DAO的方法(进行数据库数据的更新查询操作).
3. 将DAO返回的数据进行保存,保存的位置可选(request,session等).
4. 进行页面的跳转.
在Servlet调用DAO的方法过程中,DAO的处理过程如下:
1. 连接数据库(这些操作可以放在DAO的构造函数当中,也可以写成单独的方法)
2. 处理查询方法,这里给出基本步骤。先按查询语句及传过来的参数进行数据库的查询得到一个ResultSet结果集,为了方便将结果返回给Servlet及方便后面的显示,现将结果进行封装并以ArraryLis或者JSON串,xml串等等的形式返回给servlet。为了进行数据的封装,这里就需要实例化一个JavaBean,这个JavaBean的字段与数据库表当中的字段一一对应,并为各个字段添加get(),set()方法。
Serlvet在得到数据后,再将页面进行跳转,此时数据已保存下来。我们可以在另外一个jsp页面当中将数据提取出来,并按一定的格式进行排列。至此,一个完整的查询操作就完成了。
此操作虽然比较简单,但是却充分体现了MVC模式的思想。
实例:http://www.cnblogs.com/A--Q/p/6137512.html
那么mvc到底是设计模式还是框架呢?What do you think?
该博文来源自:http://blog.csdn.net/yjtacx/article/details/9963281
【转】JavaWeb MVC的更多相关文章
- Javaweb MVC设计模式
Javaweb MVC设计模式 一.Java EE开发流程 二.MVC设计模式 什么是MVC? MVC是Model-View-Controller的简称,即模型-视图-控制器. MVC是一种设计模式, ...
- Java Servlet(七):JavaWeb MVC 操作(jdk7+tomcat7+eclipse)
之前一段时间一直忙于毕业设计,也没有空学习了,本篇继续学习. 本篇将开始学习java web下使用servlet下来操作数据库,并展示到界面上的使用方法. 新建工程ServletMvc001. 目录结 ...
- 【JavaWeb】MVC案例之新闻列表
MVC案例之新闻列表 作者:白宁超 2016年6月6日15:26:30 摘要:本文主要针对javaweb基本开发之MVC案例的简单操作,里面涉及mysql数据库及表的创建,以及jsp页面和servle ...
- MVC设计模式-查询与删除
MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它把应用程序分成三个核心模块: 模型:模型是应用程序的主体部分,模型表示业务数据和业务逻辑. 一个 ...
- 杂谈 Taglib、EL、OGNL
本篇主要是自己对 JavaWeb中 EL.OGNL.Taglib 个人理解. 因为以上内容都是在 JSP 的基础下产生的概念, 首先得说说我眼中的 JSP. 她自由的.奔放的,就像辽阔的大海,跨越任何 ...
- android ListView_Tiger
xml设计 <?xml version="1.0"?> -<LinearLayout tools:context=".MainActivity" ...
- java web-----MVC设计模式
一,MVC将代码分为三个部分,分别为视图(jsp),模型(javaBean),控制部分(servlet); 视图基本为 jsp 文件,主要内容为界面的html代码,负责显示界面: 模型为 javaBe ...
- Taglib、EL、OGNL
Taglib.EL.OGNL 阅读目录 1. Taglib(tag library) 标签库 2. EL(Expression Language) 表达式 3. OGNL(Object-Graph N ...
- Android的ListView
ListView ListView 是一个控件,一个在垂直滚动的列表中显示条目的一个控件,这些条目的内容来自于一个ListAdapter. 一个简单的例子 布局文件里新增ListView <Li ...
随机推荐
- W3School-CSS 内边距 (padding) 实例
CSS 内边距 (padding) 实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) 实例 CS ...
- mongo学习笔记(一):增删改查
安装:我是按这篇来弄的 一.Insert 1.db.person.insert({"name":"jack","age":20}) 2.va ...
- Python进阶【第一篇】socket
1.socket模块 要使用socket.socket()函数来创建套接字.其语法如下: socket.socket(socket_family,socket_type,protocol=0) soc ...
- [转]【无私分享:ASP.NET CORE 项目实战(第九章)】创建区域Areas,添加TagHelper
本文转自:http://www.cnblogs.com/zhangxiaolei521/p/5808417.html 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 在Asp ...
- <<一种基于δ函数的图象边缘检测算法>>一文算法的实现。
原始论文下载: 一种基于δ函数的图象边缘检测算法. 这篇论文读起来感觉不像现在的很多论文,废话一大堆,而是直入主题,反倒使人觉得文章的前后跳跃有点大,不过算法的原理已经讲的清晰了. 一.原理 ...
- 基于Azure构建PredictionIO和Spark的推荐引擎服务
基于Azure构建PredictionIO和Spark的推荐引擎服务 1. 在Azure构建Ubuntu 16.04虚拟机 假设前提条件您已有 Azure 帐号,登陆 Azure https://po ...
- UVALive 4428 Solar Eclipse --计算几何,圆相交
题意:平面上有一些半径为R的圆,现在要在满足不与现有圆相交的条件下放入一个圆,求这个圆能放的位置的圆心到原点的最短距离. 解法:我们将半径扩大一倍,R = 2*R,那么在每个圆上或圆外的位置都可以放圆 ...
- JS数组去重比较
数组去重复是一个常见的需求,我们暂时考虑同类型的数组去重复.主要是理清思路和考虑执行性能. for循环删除后面重复的 var uniqueFor = function(arr) { for (var ...
- css 隔行变色,表单布局
隔行变色: #list1 li:nth-of-type(odd){ background:#00ccff;}奇数行 #list1 li:nth-of-type(even){ background:# ...
- 详解AsyncTask的使用
转载自:http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask. ...