SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC

http://downpour.iteye.com/blog/1330537

在我们熟知的建立在三层结构(表示层、业务逻辑层、持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多。因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷。

笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论。事实上,每一种解决方案都有着自身独有的存在价值和历史背景。如果单单从某一个方面或者某几个方面去看一个框架,那么评论难免有失偏颇。

所以,整个系列的第一篇文章,我们脱开SpringMVC框架本身,把SpringMVC放到一个更大的知识体系范围之中,讲一讲整个Web开发领域、尤其是MVC框架的发展历程。正如“认识历史才能看清未来”,当我们能够正确审视整个MVC框架的发展历程,也就能够分析它的发展趋势,并且站在一个更高的高度来对所有的解决方案进行评价。

两种模型

从整个B/S程序的运行结构来看,J2EE的表示层解决方案实际上是对“请求-响应”模式的一种实现。既然谓之“请求-响应”也就势必存在着两大沟通角色:

由于这两大角色的承载载体和编程语言实现基础都不同,因而也就产生了两种截然不同的针对表示层的解决方案的设计思路:

  • 以服务器端应用程序为主导来进行框架设计
  • 以浏览器页面组件(及其自身的事件触发模型)为主导来进行框架设计

业界对于上述这两种不同的设计模型也赋予了不同的名词定义:前一种被称之为MVC模型;后一种则被称之为组件模型,也有称之为事件模型

注:笔者个人对于这两种模型的概念定义并不是非常认同。因为在笔者个人的观点认为,MVC模型的定义角度所针对的是编程元素的划分;而组件模型(事件模型)的定义角度是动态交互方式的表述。所以我们在这里强调的是解决方案自身所设立的基准和侧重点的不同。

从使用者的社区力量上来看,无疑MVC模型获得了更多程序员的青睐。这里面的原因很多,我们在这里也不想过多展开对两种不同编程模型之间的讨论。不过在这里,我们将针对同一个业务场景(用户注册)分别给出基于这两个编程模型的代码示例,帮助读者了解这两种编程模型在设计思想上的不同之处。

时间: 2024-10-10 06:16:13

SpringMVC前传--从Struts 1.x-2.x MVC-Spring 3.0 MVC的相关文章

SpringMVC深度探险(一) —— SpringMVC前传

本文是专栏文章(SpringMVC深度探险)系列的文章之一,博客地址为:http://downpour.iteye.com/blog/1330537 在我们熟知的建立在三层结构(表示层.业务逻辑层.持久层)基础之上的J2EE应用程序开发之中,表示层的解决方案最多.因为在表示层自身的知识触角很多,需要解决的问题也不少,这也就难免造成与之对应的解决方案层出不穷. 笔者在很多讨论中经常可以看到类似“某某框架已死”,或者“某某框架已经足以打败所有其他的框架”的言论.事实上,每一种解决方案都有着自身独有的

springmvc前后端传值总结

1      前端向后端传参 1.1    普通方式传参 1.1.1         页面 参数需要解析成json对象:JSON.parse(JSON.stringify(query)) $.getJSON("${serverUrl}/store/brand/getBrand", JSON.parse(JSON.stringify(query)), function(data){}); 1.1.2         后端 使用普通的参数即可,不需要配置 @RequestMapping(&

SpringMVC上传下载

springmvc上传下载功能 参照网上代码写了一个简单的例子 1.需要导入jar包:ant.jar.commons-fileupload.jar.connom-io.jar.当然spring jar包不可缺少的哦  我这里用的是spring+springmvc+hibernate  可以到官网上直接下载springmvcjar即可 2.springmvc.xml配置 <?xml version="1.0" encoding="UTF-8"?> <

springMVC上传与下载

springMVC上传与下载 首先,springmvc.xml必须配置: Java代码 1.      <bean id="multipartResolver" 2.              class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8"/> <bean id="m

springmvc照片上传功能

刚从ruby转做java,分个活做照片上传,开始感觉很崩溃,以为本人菜鸟一个,一见到流什么的就感觉很牛逼的东西我怎么会啊,自学加百度,做出来了,两种方法完成,关于js预览就不上传了,留作以后备用,也能帮助下和我一样的菜鸟 jsp页面 <form action="uploadPhoto.do" method="post" enctype="multipart/form-data">  上传照片:<input type=file n

SpringMVC上传文件的三种解析方式

springMVC上传文件后,在action解析file文件的三种方式. jsp页面的写法: <form action="parserUploadFile1" method="post" enctype="multipart/form-data"> <input type="file" name="file" /> <input type="submit"

Vue.js 入门指南之“前传”(含sublime text 3 配置)

题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴级别”的前端开发人员,大牛请绕过. 1,下载安装Node.js 去 Node.js 官网下载一个Windows环节的安装包 node-v6.2.0-x64.rar 文件,一路安装下去即可.官网访问很慢,可以试试中文网 http://nodejs.cn/ 2,配置Vue环境 一开始看<基于Webpac

2. SpringMVC 上传文件操作

1.创建java web项目:SpringMVCUploadDownFile 2.在项目的WebRoot下的WEB-INF的lib包下添加如下jar文件 1 com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar 2 com.springsource.net.sf.cglib-2.2.0.jar 3 com.springsource.org.aopalliance-1.0.0.jar 4 com.springsource.org.apache.commo

前传——一个文科生转行做编程的参考样本

动笔                                                                                                                                                                                      听闻前辈讲述写博客的诸多好处,早有开始写「技术博客」的想法,但囿于自身浅薄的「技术」,以及轻微的强迫症——总想准备充分后下笔——比如