下载频道 首页

·

编程开发

·

Flash游戏

·

网络教程

·

网络技术

·

手机大全

·

网络学院

·

软件下载

·

网站地图

·

收藏本站

编程首页 | Web开发 | 开发语言 | 微软开发专栏 |数据库开发 |技术跟踪 |程序人生 | 案例分析 VB Java Delphi VC/MFC C/C++ ASP.net

.ASP JSP PHP CGI JavaScript VbScript XML/SOAP Web服务器 .DB2 Access SQLServer MySQL Oracle PowerBuilder Foxpro 其它数据库

更多分类:Java Delphi VC/MFC C/C++ 其它平台

PCDOG编程

PCDOG首页 > 编程开发 > 开发语言 > Java > 正文


用Struts开发基于MVC的Web应用


http://www.pcdog.com 2004-12-1 PCdog收集

下一页 1 2 3 4 5 6 

  MVC介绍

  MVC模式是一种非常理想化的设计模式,应用MVC模式完成两个以上项目的人都有同样的体会,他们已经对以前的工作方法进行了彻底的改造。工作模式的改变要付出痛苦的代价,但现在你有现成的技术架构可以采用,避免在项目中自己开发、摸索。它就是开源Apache Struts framework,它提供了实现MVC设计模式最好的实现工具。

  在本文中,我们将简单了解、体会一下模型-视图-控制器(MVC)设计模式,特别地,我们来看看如何用Struts架构来完美地实现MVC模式。我们先从理论上简单地描述MVC模式,然后用我们一个简单的例子来实现我们自己的MVC架构。在对MVC模式有了了解后,我们用Struts来看这个新技术是如何帮助我们迅速、简单地创建基于MVC的Web应用。

  模型-视图-控制器(Model-View-Controller)模式

  MVC模式最早是在Smalltalk(一种面向对象的语言)这种程序语言设计中被提出来的。我们暂时先忽略它的历史,集中注意力在关注它怎样被应用在Web应用开发中。

  当Java的Servlets技术最开始出现的时候,程序员们立刻意识到这是一项极其有用的技术。与同时代的CGI Web开发技术相比,Servlets更快,更灵活,更可靠,更强大。然而,开发基于Servlets技术的Web应用有一个巨大的缺陷--需要使用例如out.println之类的语句来输出浏览器识别的HTML。频繁使用这个方法是个错误的倾向,开发极其浪费时间(程序员需要经常退出所有应用程序进行重新编译)。并且这也使修改Web页面的工作也变得很困难,因为Web的表现和逻辑在一堆令人恐惧的代码中掺乎在一起。

  于是作为解决方法的JavaServer Pages(JSP)出现了,它们将Servlets变成它们运行的结果。应用JSP技术,我们将业务逻辑用一系列夹杂在HTML中的<%>标识来表达。以开发JSP为核心的应用尽管比以Servlet为核心的应用有进步,但看起来仍然是杂乱无章的,仍然需要用额外的代码来控制应用页面的流转。在充满格式化代码的JSP页面上,没有地方来增加这样额外的控制代码。显然需要寻找别的出路。

  不久人们认识到同时应用JSP和Servlets两种技术开发Web应用是一种不错的选择。毕竟,Servlets擅长处理业务逻辑的编程,处理请求,控制功能页面的流转,而JSP则是格式化请求处理结果,通过浏览器获得用户输入。这种工作机制后来变成了人们长说的Model2(用JSP或Servlets中单独的一种实现web应用被称做Model 1).

  Model 2不是一项革命性的新模式,其实它是来自于Smalltalk语言研发过程中出现的MVC模式。大多数情况下,Java程序员趋向于可完全互换地使用这两个名词。

下一页 1 2 3 4 5 6 

上一页:Spring Framework标记库初学指南
下一页:构建可扩展的Java图表组件

【关闭】

文 章 查 询
关键词

人气前10名              
·JAVA程序员面试32问
·用Struts开发基于MVC的Web应用
·全面挖掘Java Excel API 使用方法
·利用Java访问SQL Server2000数据库
·深入浅出Java多线程程序设计
·JBuilder7+WebLogic7.0的配置和EJB开发(图文)
·Java数据对象技术JDO初步概览
·用JBuilder高效率开发Java程序
·JBuilder编辑器常规设置及优化
·以JSP Tag文件形式开发自定义Action


关于我们 | 联系方式 | 合作伙伴 | 版权声明 | 帮助信息 | 网站地图
Copyright 2005 PCdog.com, All Rights Reserved