`

MVC系列框架之Struts存在的意义是什么?

阅读更多
    Struts其实就是MVC的代名词,那么提到MVC就不得不提早期的ModelⅠ。那时候JSP页面中混杂了大量的JAVA Scriptlet脚本语句,为了可维护性考虑,有人提出了ModelⅡ,也即现在的MVC模式。所以可以看出来,MVC的提出是建立在早期JSP页面中混杂了大量的JAVA Script脚本语句的前提之下的。在这种情况下MVC的出现让JSP的世界变得干净许多。

    虽说是MVC框架,其实有人也指出,Struts系的框架只能算是一种伪MVC。为什么这么说呢?因为它没有MVC中的最核心的部分:事件控制,其实Struts看起来更像是一种控制转发框架。那么这种跳转是否是必须的呢?

    自从2005年开始,Ajax开始崭露头角,到现在为止,不谈Ajax已经到了成熟应用的地步,但回头再看MVC,是否可以有另外一种更优雅、清晰的思路来代替早期的ModelⅠ呢?

    先来看一小段代码:
<sky:init method="com.sky.platform.Login.init">
<html>
<head>
<title>${Title}</title>
<script>
Sky.onReady(function(){
	$("btnLogin").on("click", function login(){
		var dc = Form.getData("loginForm");
		Server.sendRequest("com.sky.platform.Login.submit",dc,function(response){
			if(response&&response.Status==0){
				alert(response.Message);
			}
		});
	});
});
</script>
</head>
<body>
<form id="loginForm" method="post" style=" display:block;height:100%;">
<input name="UserName" type="text" />
<input name="Password" type="password" />
<input id="btnLogin" type="button"/>
</form>
</body>
</html>
</sky:init>



    看看这段代码是怎么解决早期Model 1的混乱的

<sky:init method="com.sky.platform.Login.init">

    com.sky.platform.Login类可以看做是这个页面的后台绑定类,其思路来源于Aspx.Net
init方法用来做页面的初始化动作
页面中像这种需要获取的数据就可以这样来实现:
${Title}


    Struts的控制转发很重要的一部分功能就是获取数据放置页面属性范围中,而现在转而用这种方式就可以实现Strtus的获取数据功能。

    有人会问,像列表之类的,你一个${}怎么能够实现呢?答案是:我们可以在前台实现对应的Ajax风格的列表控件,如此之类......

    像表单其他我们也可以通过Ajax直接提交后台绑定类的方法的方式来实现
Server.sendRequest("com.sky.platform.Login.submit",dc,function(response){
			if(response&&response.Status==0){
				alert(response.Message);
			}
		});


    这种编程思想与Struts系MVC框架的本质的区别就是完全抛弃了其需要的控制转发配置,因为Struts用来配置控制转发的文件本身只是为了实现其MVC的功能而存在的,那么现在我们已经有了一种替代的解决方案来解决早期的Model1的混乱局面,那么Struts系MVC框架的控制转发是否还有存在的必要呢?

    其实这个思路的类似解决方案就是JSF,但是JSF并没有像ASPX.Net那样完全使用后台绑定类的概念,其并没有抛弃类Struts的路由导航配置。

    这只是个人观点,欢迎大家讨论、斧正,提出自己的见解!



刚发现两个好贴,附上链接,供大家一起探讨
MVC的迷思: http://www.iteye.com/topic/6284
jsplet:对Model 2模式的批判: http://www.iteye.com/topic/11726
分享到:
评论
51 楼 抛出异常的爱 2010-11-04  
depravedangel 写道
抛出异常的爱 写道
当然抽象了之的问题解决起来很简单.
但4K多行代码中想要找到修正数据源的目标很困难.
找到想改的东西之后设计修改方式,
再在4K行代码中找到关联变动的代码
还要防止以前作过的check对你的设计是否有影响.

再之后....
祈祷上帝你的拼写一个字母都不要错....
不然......

在4k行代码中找到出错的字母过程中
http://www.iteye.com/topic/799570

抛哥说的情况在VB,ASP.NET...中确实是存在的,但ASP.NET的后台绑定类只能有一个,所以会出现一个后台绑定类代码行过多的情况。我的这个设计思路是参考了ASP.NET的设计思想的,但我们允许绑定多个类,就相当于后台多service,因此这个问题得到了很好的解决了。

你的页面代码放出一些出来看看
说不定非常好用呢.
我说几个功能吧
比如验证用户
验证录入正确性
数据同步刷新(点翻页)
模块内容保存于客户端.
(也可以用同步来完成)

多表单.(15个左右的from)根据用户选择来决定显示表单
50 楼 depravedangel 2010-11-04  
抛出异常的爱 写道
当然抽象了之的问题解决起来很简单.
但4K多行代码中想要找到修正数据源的目标很困难.
找到想改的东西之后设计修改方式,
再在4K行代码中找到关联变动的代码
还要防止以前作过的check对你的设计是否有影响.

再之后....
祈祷上帝你的拼写一个字母都不要错....
不然......

在4k行代码中找到出错的字母过程中
http://www.iteye.com/topic/799570

抛哥说的情况在VB,ASP.NET...中确实是存在的,但ASP.NET的后台绑定类只能有一个,所以会出现一个后台绑定类代码行过多的情况。我的这个设计思路是参考了ASP.NET的设计思想的,但我们允许绑定多个类,就相当于后台多service,因此这个问题得到了很好的解决了。
49 楼 depravedangel 2010-11-04  
superyang 写道
不存在意义:

确实ajax流行起来,struts 在ssh中开发可以有不存在的意义....

存在意义:

在封装大量数据(字段很多时),有存在的意义(像封装个人的详细资料时)..用struts封装方便快捷,如果用ajax封装操作起来比较麻烦

你的问题回答完毕.




可以看一下下面的回复,你那种框架是基于什么框架ajax做的。

http://www.iteye.com/topic/797690?page=2

只用struts来自动分装数据?那以您跟您团队的智慧难道不可以自己实现一套专门分装数据的小型辅助工具出来吗?
48 楼 抛出异常的爱 2010-11-02  
depravedangel 写道
qjtttt 写道

我倒是觉得RIA的发展和struts本身没什么很大的冲突,我只是对楼主的想法有个疑虑
虽说页面跳转的话确实RIA技术也可以做到,包括对于数据的增删改查,或许我们还可以直接对页面上某个组件的事件和数据源进行绑定操作,但是这里就有一个问题,都在客户端做这些事情的话,数据安全性,数据有效性的验证我们如何去做呢?
比方说,页面上一个表单,如果我们直接对表单进行绑定数据源,提交表单直接对数据库进行对应事件的操作
如果页面上某个text在业务逻辑里应该是存放一个float,而用户提交的时候text却是字母,而用户又别有用心的调试然后跳过你的js验证,甚至于某个页面展示的值实际是参与到最后的insert操作中的,而这个值可能是一个hidden可能是其他的element但是用户在提交前给你改了,直接绑定数据源就会很恐怖了
以上是我项目中有一个模块是N年以前写的,就是抛兄说的,vbs直接绑定数据源,呵呵,出过很大问题的
不过楼主的想法是好的,struts确实也是该有点更好的东西拿出来了,MVC也确实好多年了

你前台直接绑定数据源,那数据源是从哪儿来的?说到底不还是从后台service获取的。验证也是如此,前端是需要做验证的,但service层的验证也是必不可少的。所以您说的这个问题应该不会是个问题,原来在action中做的,现在在后台绑定类(相当于service层)里做了,只是将原来action去除,原来是正对.do做权限控制的,现在在service层做权限控制还是一样,另外可能根据不同情况,写些正对.JSP后缀的权限过滤,这里只是举个例子,也可能是.html之类,注意:后缀其实只是个标识,.jsp并不一定就是JSP,.html不一定就是html,事实上权限控制最终还是交由service层来控制的,验证亦是如此.

当然抽象了之的问题解决起来很简单.
但4K多行代码中想要找到修正数据源的目标很困难.
找到想改的东西之后设计修改方式,
再在4K行代码中找到关联变动的代码
还要防止以前作过的check对你的设计是否有影响.

再之后....
祈祷上帝你的拼写一个字母都不要错....
不然......

在4k行代码中找到出错的字母过程中
http://www.iteye.com/topic/799570
47 楼 superyang 2010-11-01  
已编辑          
46 楼 superyang 2010-11-01  
不存在意义:

确实ajax流行起来,struts 在ssh中开发可以有不存在的意义....

存在意义:

在封装大量数据(字段很多时),有存在的意义(像封装个人的详细资料时)..用struts封装方便快捷,如果用ajax封装操作起来比较麻烦

你的问题回答完毕.




可以看一下下面的回复,你那种框架是基于什么框架ajax做的。

http://www.iteye.com/topic/797690?page=2
45 楼 bigkai13 2010-11-01  
depravedangel 写道
bigkai13 写道
MVC 这种模式不仅仅WEB中存在,SWING 也到处都是。 其实讨论STRUTS 存在的意义并来也就没意义,你不能拿一个10年前的思想模式套用现在的开发中。当然现在也是铺天盖地的SSH.面试上来用问SSH都有什么功能。感觉就像问一个木匠会不会用某种型号的电动螺丝刀。真正的木匠谁用电动的。非要说某种意义,那就是struts让初学者认识了什么是JAVA框架。一座楼房,我们只是砌砖而已。至于楼为什么这么盖,还是看源代码吧

可能是标题确实容易让人误导。我这边所指的其实是Struts这个MVC框架实现,我相信现在大家还是有好多人在用struts的,Ajax等技术的崛起,于是出现了Struts-JSON Plugin等一些后期处理方案。但这样开发总让人觉得有些别扭,我相信好多公司在结合Ajax、Struts开发的时候,只是将Struts当做一个简单的类来看待的,Action中的方法很多情况下都是返回JSON格式的数据(用的比较多的就是返回List,交由JSON Plugin之类的转化辅助包去处理)。其实在这种情况下struts是可有可无的了。

我相信国内目前的情况并不只是将SSH用来面试,还是有很多公司确确实实是在用SSH做开发的,偶尔也会加一些AJAX效果在里面。在这种情况下,讨论我所说的Strtus的意义何在才是我真正想表达的想法,可能确实是我表述误导大家了,抱歉......


struts1 有自己的ajax的标签,可以试试。不过JAR包不太好找
44 楼 depravedangel 2010-11-01  
qjtttt 写道


那么如果service验证失败了呢?这时候通常应该跳转到失败页面吧?这样的话实际上和struts的区别又会有多大呢?另外既然一个动作会有两个甚至N个结果,MVC的弱势又体现在哪里了呢?

“那么如果service验证失败了呢?这时候通常应该跳转到失败页面吧?”这是因为您项目的设计主要是基于页面的。在RIA看来,后台交互的更多的是数据,而不是页面。所以在这个问题上,更多的还是受您当前项目的前期设计思路所影响
43 楼 qjtttt 2010-10-30  
depravedangel 写道
qjtttt 写道

我倒是觉得RIA的发展和struts本身没什么很大的冲突,我只是对楼主的想法有个疑虑
虽说页面跳转的话确实RIA技术也可以做到,包括对于数据的增删改查,或许我们还可以直接对页面上某个组件的事件和数据源进行绑定操作,但是这里就有一个问题,都在客户端做这些事情的话,数据安全性,数据有效性的验证我们如何去做呢?
比方说,页面上一个表单,如果我们直接对表单进行绑定数据源,提交表单直接对数据库进行对应事件的操作
如果页面上某个text在业务逻辑里应该是存放一个float,而用户提交的时候text却是字母,而用户又别有用心的调试然后跳过你的js验证,甚至于某个页面展示的值实际是参与到最后的insert操作中的,而这个值可能是一个hidden可能是其他的element但是用户在提交前给你改了,直接绑定数据源就会很恐怖了
以上是我项目中有一个模块是N年以前写的,就是抛兄说的,vbs直接绑定数据源,呵呵,出过很大问题的
不过楼主的想法是好的,struts确实也是该有点更好的东西拿出来了,MVC也确实好多年了

你前台直接绑定数据源,那数据源是从哪儿来的?说到底不还是从后台service获取的。验证也是如此,前端是需要做验证的,但service层的验证也是必不可少的。所以您说的这个问题应该不会是个问题,原来在action中做的,现在在后台绑定类(相当于service层)里做了,只是将原来action去除,原来是正对.do做权限控制的,现在在service层做权限控制还是一样,另外可能根据不同情况,写些正对.JSP后缀的权限过滤,这里只是举个例子,也可能是.html之类,注意:后缀其实只是个标识,.jsp并不一定就是JSP,.html不一定就是html,事实上权限控制最终还是交由service层来控制的,验证亦是如此.


那么如果service验证失败了呢?这时候通常应该跳转到失败页面吧?这样的话实际上和struts的区别又会有多大呢?另外既然一个动作会有两个甚至N个结果,MVC的弱势又体现在哪里了呢?
42 楼 shaomeng95 2010-10-30  
mvc只是程序设计的思路而已
41 楼 depravedangel 2010-10-30  
qjtttt 写道

我倒是觉得RIA的发展和struts本身没什么很大的冲突,我只是对楼主的想法有个疑虑
虽说页面跳转的话确实RIA技术也可以做到,包括对于数据的增删改查,或许我们还可以直接对页面上某个组件的事件和数据源进行绑定操作,但是这里就有一个问题,都在客户端做这些事情的话,数据安全性,数据有效性的验证我们如何去做呢?
比方说,页面上一个表单,如果我们直接对表单进行绑定数据源,提交表单直接对数据库进行对应事件的操作
如果页面上某个text在业务逻辑里应该是存放一个float,而用户提交的时候text却是字母,而用户又别有用心的调试然后跳过你的js验证,甚至于某个页面展示的值实际是参与到最后的insert操作中的,而这个值可能是一个hidden可能是其他的element但是用户在提交前给你改了,直接绑定数据源就会很恐怖了
以上是我项目中有一个模块是N年以前写的,就是抛兄说的,vbs直接绑定数据源,呵呵,出过很大问题的
不过楼主的想法是好的,struts确实也是该有点更好的东西拿出来了,MVC也确实好多年了

你前台直接绑定数据源,那数据源是从哪儿来的?说到底不还是从后台service获取的。验证也是如此,前端是需要做验证的,但service层的验证也是必不可少的。所以您说的这个问题应该不会是个问题,原来在action中做的,现在在后台绑定类(相当于service层)里做了,只是将原来action去除,原来是正对.do做权限控制的,现在在service层做权限控制还是一样,另外可能根据不同情况,写些正对.JSP后缀的权限过滤,这里只是举个例子,也可能是.html之类,注意:后缀其实只是个标识,.jsp并不一定就是JSP,.html不一定就是html,事实上权限控制最终还是交由service层来控制的,验证亦是如此.
40 楼 qjtttt 2010-10-29  
depravedangel 写道
kjj 写道
不是本人说mvc,或者鄙视培训,现在那些北大什么鸟,就会教学生配置框架,机械编程,根本不知道mvc之类是咋出来的,这样吧,lz,你什么框架都别用,什么第三方库都别用,然后就用纯粹的servlet+jsp+jdbc 开发一个个真正的大型项目【我也不一定说自己做过的多么大,只是说事】,你坚持用这种方式做上一年试试,看看你能否调入mvc的纠结,或者你可以看看play framework 或者前段时间je上有个大牛开发的douyu,我敢说,你不掉入mvc,就会倾向 play之流【并不是鄙视】,这些事程序技术发展的必经之路,如果你真正学懂了mvc的地位和作用,就不会发这些无聊的想法了,再就推荐你看哪个著名的人叫martin flow 的人写的企业架构模式那本书,相信你看了就不会再想这个问题了,除非你发展衍生出了比mvc更牛,更好的想法,mvc并不是空穴来风,连以前直坚持纯手工的php ,ruby等等动态语言都无可避免的加入mvc,你不要告诉我你理解这些语言逐渐加入mvc的阵营是为了迎合开发者这种想法

Struts这类思想的提出时间比较早,那时候Ajax等技术尚未普及成熟,而如今时代已变,对客户体验的需求已提上日程。
其实这款框架(暂且称之为框架吧)本人早已实现,作为整个技术体系的一部分,而且在公司已经过两年的项目检验了。开发出来的代码相对于struts来说更加简洁、清晰度更高。相对于struts系列的框架来说,更符合RIA发展的需要。


我倒是觉得RIA的发展和struts本身没什么很大的冲突,我只是对楼主的想法有个疑虑
虽说页面跳转的话确实RIA技术也可以做到,包括对于数据的增删改查,或许我们还可以直接对页面上某个组件的事件和数据源进行绑定操作,但是这里就有一个问题,都在客户端做这些事情的话,数据安全性,数据有效性的验证我们如何去做呢?
比方说,页面上一个表单,如果我们直接对表单进行绑定数据源,提交表单直接对数据库进行对应事件的操作
如果页面上某个text在业务逻辑里应该是存放一个float,而用户提交的时候text却是字母,而用户又别有用心的调试然后跳过你的js验证,甚至于某个页面展示的值实际是参与到最后的insert操作中的,而这个值可能是一个hidden可能是其他的element但是用户在提交前给你改了,直接绑定数据源就会很恐怖了
以上是我项目中有一个模块是N年以前写的,就是抛兄说的,vbs直接绑定数据源,呵呵,出过很大问题的
不过楼主的想法是好的,struts确实也是该有点更好的东西拿出来了,MVC也确实好多年了
39 楼 jameswxx 2010-10-29  
struts存在的意义是让程序结构更清晰,mvc只是一种思想而已,何必纠结呢?全部都用jsp,也能做到mvc的模式。
38 楼 depravedangel 2010-10-29  
bigkai13 写道
MVC 这种模式不仅仅WEB中存在,SWING 也到处都是。 其实讨论STRUTS 存在的意义并来也就没意义,你不能拿一个10年前的思想模式套用现在的开发中。当然现在也是铺天盖地的SSH.面试上来用问SSH都有什么功能。感觉就像问一个木匠会不会用某种型号的电动螺丝刀。真正的木匠谁用电动的。非要说某种意义,那就是struts让初学者认识了什么是JAVA框架。一座楼房,我们只是砌砖而已。至于楼为什么这么盖,还是看源代码吧

可能是标题确实容易让人误导。我这边所指的其实是Struts这个MVC框架实现,我相信现在大家还是有好多人在用struts的,Ajax等技术的崛起,于是出现了Struts-JSON Plugin等一些后期处理方案。但这样开发总让人觉得有些别扭,我相信好多公司在结合Ajax、Struts开发的时候,只是将Struts当做一个简单的类来看待的,Action中的方法很多情况下都是返回JSON格式的数据(用的比较多的就是返回List,交由JSON Plugin之类的转化辅助包去处理)。其实在这种情况下struts是可有可无的了。

我相信国内目前的情况并不只是将SSH用来面试,还是有很多公司确确实实是在用SSH做开发的,偶尔也会加一些AJAX效果在里面。在这种情况下,讨论我所说的Strtus的意义何在才是我真正想表达的想法,可能确实是我表述误导大家了,抱歉......
37 楼 bigkai13 2010-10-29  
MVC 这种模式不仅仅WEB中存在,SWING 也到处都是。 其实讨论STRUTS 存在的意义并来也就没意义,你不能拿一个10年前的思想模式套用现在的开发中。当然现在也是铺天盖地的SSH.面试上来用问SSH都有什么功能。感觉就像问一个木匠会不会用某种型号的电动螺丝刀。真正的木匠谁用电动的。非要说某种意义,那就是struts让初学者认识了什么是JAVA框架。一座楼房,我们只是砌砖而已。至于楼为什么这么盖,还是看源代码吧
36 楼 kjj 2010-10-29  
depravedangel 写道
kjj 写道
不是本人说mvc,或者鄙视培训,现在那些北大什么鸟,就会教学生配置框架,机械编程,根本不知道mvc之类是咋出来的,这样吧,lz,你什么框架都别用,什么第三方库都别用,然后就用纯粹的servlet+jsp+jdbc 开发一个个真正的大型项目【我也不一定说自己做过的多么大,只是说事】,你坚持用这种方式做上一年试试,看看你能否调入mvc的纠结,或者你可以看看play framework 或者前段时间je上有个大牛开发的douyu,我敢说,你不掉入mvc,就会倾向 play之流【并不是鄙视】,这些事程序技术发展的必经之路,如果你真正学懂了mvc的地位和作用,就不会发这些无聊的想法了,再就推荐你看哪个著名的人叫martin flow 的人写的企业架构模式那本书,相信你看了就不会再想这个问题了,除非你发展衍生出了比mvc更牛,更好的想法,mvc并不是空穴来风,连以前直坚持纯手工的php ,ruby等等动态语言都无可避免的加入mvc,你不要告诉我你理解这些语言逐渐加入mvc的阵营是为了迎合开发者这种想法

Struts这类思想的提出时间比较早,那时候Ajax等技术尚未普及成熟,而如今时代已变,对客户体验的需求已提上日程。
其实这款框架(暂且称之为框架吧)本人早已实现,作为整个技术体系的一部分,而且在公司已经过两年的项目检验了。开发出来的代码相对于struts来说更加简洁、清晰度更高。相对于struts系列的框架来说,更符合RIA发展的需要。

那么能否把你的框架发上来让大家见识见识!!!!!
35 楼 haojia716 2010-10-29  
我同意楼主,我很久前就开始这么想了。
34 楼 depravedangel 2010-10-29  
jackyandsully 写道
struts 可以说在ssh中 应该是最经典的
这个分离让 跳转明晰  是经典思想

这个需要看系统的整体架构了,跳转多是因为系统是以页面为中心在做开发。
RIA的开发理念则是围绕客户体验、数据等为中心。

从JSP开始我们就围绕页面跳转的方式做开发,ASP.NET是在JSP之后提出的,其设计理念更先进,如果不是JAVA早已占领的大多数领域的市场,或许现在ASP.NET的市场会更多些机会。

我们就不能用拥抱变化的眼光看待技术发展的趋势吗?更佳的客户体验可以赢得更多的市场,简易开发能更快的实现目标,可维护性则是系统运行持久的保障。
33 楼 depravedangel 2010-10-29  
kjj 写道
不是本人说mvc,或者鄙视培训,现在那些北大什么鸟,就会教学生配置框架,机械编程,根本不知道mvc之类是咋出来的,这样吧,lz,你什么框架都别用,什么第三方库都别用,然后就用纯粹的servlet+jsp+jdbc 开发一个个真正的大型项目【我也不一定说自己做过的多么大,只是说事】,你坚持用这种方式做上一年试试,看看你能否调入mvc的纠结,或者你可以看看play framework 或者前段时间je上有个大牛开发的douyu,我敢说,你不掉入mvc,就会倾向 play之流【并不是鄙视】,这些事程序技术发展的必经之路,如果你真正学懂了mvc的地位和作用,就不会发这些无聊的想法了,再就推荐你看哪个著名的人叫martin flow 的人写的企业架构模式那本书,相信你看了就不会再想这个问题了,除非你发展衍生出了比mvc更牛,更好的想法,mvc并不是空穴来风,连以前直坚持纯手工的php ,ruby等等动态语言都无可避免的加入mvc,你不要告诉我你理解这些语言逐渐加入mvc的阵营是为了迎合开发者这种想法

Struts这类思想的提出时间比较早,那时候Ajax等技术尚未普及成熟,而如今时代已变,对客户体验的需求已提上日程。
其实这款框架(暂且称之为框架吧)本人早已实现,作为整个技术体系的一部分,而且在公司已经过两年的项目检验了。开发出来的代码相对于struts来说更加简洁、清晰度更高。相对于struts系列的框架来说,更符合RIA发展的需要。
32 楼 jackyandsully 2010-10-28  
struts 可以说在ssh中 应该是最经典的
这个分离让 跳转明晰  是经典思想

相关推荐

    MVC模式和Struts框架

    MVC模式和Struts框架

    Struts 2 自定义MVC 框架

    自定义Struts 2 MVC框架的过程有助于深入理解其工作原理,从而更好地应用和优化项目。 首先,我们来详细探讨Struts 2的核心组件和它们的角色: 1. **模型(Model)**:模型是应用的核心,负责处理业务逻辑和数据。在...

    Struts和Spring两种MVC框架究竟有什么不同呢?

    Struts是Apache软件基金会的一个开源项目,它最初在2000年代初期流行起来,是Java社区中最早的MVC框架之一。Struts的核心是ActionServlet,它作为请求处理器,通过配置文件(struts-config.xml)来管理动作映射。...

    Struts开源MVC框架

    Struts开源MVC框架,让你更加了解Struts的开源框架的运用

    MVC原理(struts框架详解).

    MVC原理(struts框架详解), Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑

    重构mvc实现struts框架

    **标题解析:** "重构mvc实现struts框架" 这个标题表明了我们要探讨的主题是关于软件开发中的重构过程,特别关注的是如何从一个简单的MVC(Model-View-Controller)模型出发,逐步演进到实现Struts框架的初步形态。...

    基于struts框架mvc模式应用的实现

    ### 基于Struts框架MVC模式应用的实现 #### 概述 本文主要探讨Struts框架在MVC(Model-View-Controller)模式下的应用实现,旨在为读者提供一个深入理解Struts框架及其在Web开发中作用的机会。通过详细解析MVC模式...

    基于MVC模式Struts框架

    Struts框架是一个成熟的开源MVC框架,它利用Servlet、JSP和自定义标签库等技术来实现MVC架构。Struts通过以下组件来实现MVC模式: - **ActionServlet**:作为控制器的核心,负责接收HTTP请求并将请求转发给适当的...

    基于MVC struts框架开发的小型WEB

    【标题】基于MVC Struts框架开发的小型WEB 在Web开发领域,MVC(Model-View-Controller)设计模式是一种广泛采用的架构,而Struts框架是Java平台上的一个实现MVC模式的重要工具。本项目是一个基于MVC Struts框架...

    MVC框架struts1.2.9

    Struts 1.2.9 是一个经典的Java Web开发框架,属于MVC(Model-View-Controller)架构模式的一种实现。MVC模式是软件工程中用于分隔应用程序数据逻辑、用户界面和应用流程控制的常见设计模式。在这个框架中,模型负责...

    MVC与Struts简介

    然而,随着新的技术如Spring MVC的出现,Struts2逐渐被许多开发者认为是过时的技术,因为它相对较重且配置较为繁琐,但作为一个历史性的技术,它对于理解现代Web框架的设计原理仍然具有重要意义。

    基于MVC的Struts框架初探

    ### 基于MVC的Struts框架初探:深入解析与应用 #### 引言:框架的意义与必要性 在JavaWeb应用的早期发展阶段,JSP文件扮演着多重角色,包括业务逻辑处理、控制流程管理以及HTML页面的生成。这种高度耦合的设计导致...

    MVC框架struts1.2.9源码

    Struts1.2.9是Apache软件基金会的一个开源项目,它是Model-View-Controller(MVC)设计模式在Java Web应用程序中的实现。...通过阅读源码,开发者还可以学习到如何设计和实现一个轻量级的MVC框架。

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...

    自定义类似struts的mvc框架

    在IT行业中,构建一个自定义的类似于Struts的MVC框架是一项挑战性的任务,它涉及到对Web开发模式的深入理解,以及对Java、JSP、XML解析等技术的熟练运用。Struts作为Java EE领域中著名的MVC框架,其设计思想和实现...

    JavaEE经典MVC框架Struts(代码测试通过)

    JavaEE经典MVC框架Struts是企业级应用开发中的一个重要组成部分,它为构建基于Web的应用程序提供了一种结构化的解决方案。MVC(Model-View-Controller)模式是一种设计模式,用于将应用程序的业务逻辑、用户界面和...

    论文研究-基于MVC模式的Struts框架的研究与应用 .pdf

    基于MVC模式的Struts框架的研究与应用,李梅,宋泽海,随着面向对象技术、Web技术和J2EE技术的发展,软件框架技术在Web开发中得到了广泛应用。Struts作为一个开源的Web层框架,是MVC及J2EE若干�

    基于MVC模式的Struts框架中Ajax研究与应用.pdf

    ### 基于MVC模式的Struts框架中Ajax研究与应用 #### 一、引言 随着互联网技术的发展,Web应用程序的需求日益增加,对于高效、可维护的应用框架的需求也愈发强烈。MVC(Model-View-Controller)设计模式作为构建Web...

    mystruts简易MVC框架实现 .

    "mystruts"是一个简化版的MVC框架,其设计灵感来源于经典的Struts1.x框架,旨在为开发者提供一个轻量级的解决方案,便于理解和实践MVC思想。 【描述】"实现mvc思想,部分代码参考struts1.x" MVC思想的核心在于将...

Global site tag (gtag.js) - Google Analytics