MVC模式简介

简介:

学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容。但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里。

Java是一门应用设计模式比较广泛的语言。目前主流提出的23种设计模式均可在Java语言编写的程序中所应用。目前主流在Java Web应用中应用的最广泛的设计模式便是MVC模式,目前的主流Web框架大多也是基于MVC设计模式所编写的。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

Java Web应用程序的主要组件:

MVC 是 Model-View-Control 的简称,即模型-视图-控制器。它是一个存在于服务器
表达层的模型,它将应用分开,改变应用之间的高度耦合。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

Java Web解决方案:

(1)视图:jsp或者html页面,显示给用户的页面,供用户进行操作。其中可使用js,css等方法进行美化。

Index.html

<body>

<form action="login.do"  method="post">      <!--所提交的表单,action为"login.do",发出请求是post-->

<p>账号:<input type="text" name="id" /></p>      <!--所输入的"账号"在提交后的标示是"id",下同 -->

<p>密码:<input type="text" name="password" />

<p><input type="submit" value="登录"> </p>           <!--表单提交按钮,显示名称为"登录"-->

</form>

</body>

(2)控制器:在web.xml中把action同servlet连接起来,控制数据的传递。

Web.xml

<servlet>

<servlet-name>MyServlet</servlet-name><!--定义servlet的名称 -->

<servlet-class>cc.MyMVC.servlet.MyServlet</servlet-class><!--对应servlet所属的文件名 -->

</servlet>

<servlet-mapping> <!-- 建立servlet与action之间的映射 -->

<servlet-name>MyServlet</servlet-name>  <!-- 映射中servlet的名称,已定义 -->

<url-pattern>/login.do</url-pattern>    <!-- 所对应的action -->

</servlet-mapping>

Servlet.java

public void doPost(HttpServletRequest request, HttpServletResponse response)//处理post请求的方法
throws ServletException, IOException {
         boolean b=false;
         MyPOJO myPOJO=new MyPOJO();//新建MyPOJO类的对象myPOJO
        //根据标示名获取JSP文件中表单所包含的参数
         String id=request.getParameter("id");
         String password=request.getParameter("password");         
         b=myPOJO.login(id,password);//使用模型对账号和密码进行验证,返回一个boolean类型的对象         
         if(b){  //如果验证结果为真,跳转至登录成功页面
             response.sendRedirect("LoginSuccessful.jsp");
         }
         else {  //如果验证结果为假,跳转至登录失败页面
             response.sendRedirect("LoginFailed.jsp");
         }         
     }

(3)模型:建立数据模型,对数据库进行操作,将数据库中的数据同实际项目结合起来。

public class UpdateDb {

Connection conn;

Statement stmt;

ResultSet result;

public void doUpdate(String sql) {

GetConnection getedConnection = new GetConnection();

conn = getedConnection.getConnection();

try {

stmt = conn.createStatement();

stmt.executeQuery(sql);

} catch (SQLException e) {

e.printStackTrace();

}

}}

Java Web 常用MVC框架:

  1. struts框架:

Struts是最早的java开源框架之一,它是MVC设计模式的一个优秀实现。 Struts定义了通用的Controller(控制器),通过配置文件(通常是 Struts -config.xml)隔离Model(模型)和View(视图),以Action的概念以对用户请求进行了封装,使代码更加清晰易读。 Struts还提供了自动将请求的数据填充到对象中以及页面标签等简化编码的工具。 Struts能够开发大型Java Web项目。

  1. hibernate框架

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

  1. spring框架

Spring的一个最大的目的就是使J2EE开发更加容易。同时,Spring之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Old Java Object)对象提供企业级的服务。

时间: 2024-12-18 02:03:23

MVC模式简介的相关文章

Java的MVC模式简介

Java的MVC模式简介 MVC(Model View Control)模型-视图-控制器 首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller),即为MVC.它是一种软件设计的典范, 一.MVC与模板概念的理解 MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个

ASP.NET MVC 模式简介

为什么要学习ASP.Net MVC? MVC架构模式诞生30年后,因为其提供的良好的松耦合.易于扩展.高可维护性等优点,重新在开发社区火起来.作为微软全新的Web网站开发框架,ASP.NET MVC提供了全新的开发模式,完美支持经典的MVC架构模式.为.NET工程师提供了完全不同的开发体验. 越来越多的公司和开发者开始加入到MVC开发模式中来,使他进入了一个高速发展的状态,而现在MVC已经变成了ASP.NET下的一种常见的开发模式,它能让你学习一种完全不同的架构,所以这是我们有理由也有必要掌握的

mvvm模式和mvc模式 概述总结对比

1.mvc模式简介: MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范.例如: angular 在网页当中, V即View视图是指用户看到并与之交互的界面.比如由html元素组成的网页界面,或者软件的客户端界面.MVC的好处之一在于它能为应用程序处理很多不同的视图.在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式. M即model模型是指模型表示业务规则.在MVC的

【IOS 开发】IOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

一. IOS 项目简介 1. IOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类和资源; (1) HelloWorld 目录 HelloWorld 目录介绍 : -- 命名规则 : 该目录名称与 IOS 项目名称相同, 是主目录; -- 存放内容 : IOS 项目的 源码文件, 界面设计文件, 资源文件都存放在该目录下; -- 源文件 : Objective C 的 .m 和

学习模型-视图-控制器MVC模式

MVC简介: MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式: Model(模型)表示应用程序核心(比如数据库记录列表). View(视图)显示数据(数据库记录). Controller(控制器)处理输入(写入数据库记录). MVC 模式同时提供了对 HTML.

ASP.NET MVC Boilerplate简介

ASP.NET MVC Boilerplate简介 ASP.NET MVC Boilerplate是专业的ASP.NET MVC模版用来创建安全.快速.强壮和适应性强的Web应用或站点.它在微软默认MVC模版之上提供了要求最少的代码实现. 使用此模版的主要好处: 安全 性能 搜索引擎优化 (SEO) 可访问性 浏览器兼容 弹性和错误处理 简单调试和性能测试工具 设计模式和最佳实践 搜索 ASP.NET MVC Boilerplate 技术路线图 为什么需要ASP.NET MVC Boilerpl

Spring MVC+FreeMarker简介

最近做项目,刚接触到SpringMVC与FreeMarker框架,就简单介绍一下自己的理解,不正确的地方请大家指教!! 1.Spring MVC工作原理: 用户发送请求--->前端服务器去找相对应的Cotroller--->在Controller中调用相应的接口,并将请求结果存放到model中---->将model中的值取出来渲染到前端界面上---->这样就产生了用户可以看到的响应界面. 2.FreeMarker 转载地址:http://www.oschina.net/p/free

MVC模型 简介

MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新. 模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用.最近几年被推荐为Sun公司J2EE平

MVC模式在Java web 应用程序的实现

一.MVC简介 MVC(Model-View-Controller)模型-视图-控制器,最早由Trygve Reenskaug在1978年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件架构.MVC模式的目的是实现一种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能.除此之外,此模式通过对复杂度的简化,使程序结构更加直观.软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能. Mode