【转】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 ...
随机推荐
- SQL Server 2008 R2——CROSS APPLY 根据数据出现的次数和时间来给新字段赋值
=================================版权声明================================= 版权声明:原创文章 禁止转载 请通过右侧公告中的“联系邮 ...
- C++STL - 函数模板
模板主要是为了泛型编程,做到与类型无关 模板有函数模板和类模板,本文主要整理的是函数模板 1.函数模板定义 template<typename 类型形参1,typename 类型形参2,...& ...
- 解决虚拟机VMware安装CentOS7.0识别不到网卡
由于Vmware虚拟网卡和linux兼容问题导致驱动无法正常安装,默认的网卡类型不兼容. 解决方法 找到我们的Vmware虚拟机文件夹,将VMware 虚拟机配置 (.vmx),追加一条设置我们网卡类 ...
- amCharts图表中的JavaScript中文注释引起的浏览器兼容性问题
近期用amCharts做图表.一切都很顺利,然后演示的时候掉链子了,平时开发的时候都是用的火狐和谷歌,加上这种图表框架本来就号称兼容性极好,也没有在ie上测试,演示的机器上恰巧用的是ie11,发现一个 ...
- 【转载】Linux中常用操作命令
说明:开始学习linux系统,为了方便查看,特转载一篇Linux中常用操作命令,转载地址:http://www.cnblogs.com/laov/p/3541414.html 正文: Linux简介及 ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- 利用epoll写一个"迷你"的网络事件库
epoll是linux下高性能的IO复用技术,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率.另一点原因就是获取 ...
- BZOJ1500: [NOI2005]维修数列[splay ***]
1500: [NOI2005]维修数列 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 12278 Solved: 3880[Submit][Statu ...
- [tem]Longest Increasing Subsequence(LIS)
Longest Increasing Subsequence(LIS) 一个美丽的名字 非常经典的线性结构dp [朴素]:O(n^2) d(i)=max{0,d(j) :j<i&& ...
- Jquery 操作CheckBox ,RadioButtonList,DropDownList
Jquery版本2.1.4 CheckBox 1.获取值: $("#chb").prop("checked"); RadioButtonList 1.获取值: ...