关于Struts的问题

原创 2004年10月13日 02:53:00

 帖子主题: 关于Struts的问题 (作者:bird 发表时间:2002-08-23 1:30 AM)

我只是想知道你们对这些问题的看法。Struts的真正的好处是什么?每个Web应用程序都应该编写成这个形式吗?它是否提供更好的性能,还是只是更好的组织结构?
为什么在JSPs中含有Java不好?它只是分离了Java和HTML吗?从我个人的角度来说,我更喜欢在HTML中包含Java,而不是在Java (servlets/beans)中包含HTML。
谢谢
 回复主题:Re: 关于Struts的问题(作者:飞鹰 发表时间:2002-08-25 2:27 PM)

根据我的经验,以及我读过的一些文章,是否运用Struts取决于应用程序的大小。如果你只有两个或三个JSP页面,而且你不需要构架提供的所有的东西,我认为那就没必要运用像Struts的一个会带来很多管理费用的构架,但一个大的应用程序可以从中受益。
我认为将显示层同商业逻辑层分离开是很重要的。我所做的第一个Java Web应用程序项目中用了beans和JSPs,但在JSP中有许多关于路由和数据操作的条件逻辑,这就使调试变得非常非常困难,更不用提当路由改变时,我们必须首先找到代码,然后对它做改变了。从那以后,我们就根据MVC观念购买/构建了一个应用程序构架,它迫使我们运用组件和结果(模式和视图),而不是在JSP中编码所有的东西。路由也在属性文件中,所以当一个路径改变时,不用改变代码,或重启应用程序服务器。
这些只是我的想法……
 
 回复主题:Re: 关于Struts的问题(作者:jintooth 发表时间:2002-09-06 11:39 AM)

web开发的确存在这样一个问题:是在JSP中写java代码,还是在java servlet中写html代码?两种经历我都有。在java servlet中写html代码,对一个复杂的显示页面来说,简直就是一场噩梦,特别是有很多修饰页面的html代码,而且有的还不知道是干什么的。无论从什么角度来看,这都不是一种有效的方法。在JSP中写java代码,目前大部分公司都采用的方法。它的效果还依赖于设计者的能力。好的设计者可以使JSP中大部分是html,java的代码只是一些简单的嵌入数据provider。至于控制,会另外写JSP页面专门管理,并且这些控制页是没有html代码的,功能有点象Servlet。其实,这种设计已经类似Struts了,只是没从理论上提升。没准你已经在不知不觉中实现了MVC,虽然不是用Struts。我认为,真正提高效率的是MVC思想,Struts只是它的一个实现,我们完全可以自己实现一个MVC,可能更能适合自己。这可以根据项目的大小,来决定。  
 回复主题:Re: 关于Struts的问题(作者:lrfly 发表时间:2002-12-04 1:38 PM)

非常同意 jintooth 的观点,我曾经做过一个系统,是用jsp+javabeans实现,其中jsp文件的命名分为以 “文件名” + “form” + “.jsp” 和 “文件名” + “prg” + “.jsp”两种,前一种主要负责界面显示(jsp + html),后一种负责流程控制(纯jsp),而javabeans实现业务逻辑封装。现在才明白,这是一种简单的MVC实现,呵呵。对于是否使用MVC设计模式或Struts,我认为只有到了真正理解了(而不只是熟练应用)的深度,再去使用可能更好,否则最快速、最有效的方法就是最好的(对于做项目,使用html嵌java成本会更低、更有效)。  
 回复主题:回复:关于Struts的问题(作者:programboy 发表时间:2003-02-16 12:30 AM)

采用mvc是被证明的有效的开发手段,struts是一个实现了mvc的框架,使用它确实可以提高开发的速度和质量,但是我在开发中常常感觉到有时候它有点太死板了,使得一些原本非常简单的事情变得很复杂,所以我的建议是,根据程序的规模和复杂程度来决定使用的技术。像一个典型struts程序中从一个form中提交数据到数据库操作,需要从页面->action类->BO类->DAO类->form bean这对一个小网站来说实在是太麻烦了,而且更讨厌的是如果这个操作中不止是数据库操作的话,上面的方面就更显得笨拙不堪了。所以说我认为struts适用于那些entity与数据库表对应明确,且数据库操作量大的web应用。这只是我的一点看法,因为使struts的时间不长,也可能是我还未能完全领会它的真髓,反正现在是这样一种感觉:如果网页中提取、显示数据的操作较多的话,使用struts真是即不方便也不高效!  
 回复主题:回复:关于Struts的问题(作者:nikita 发表时间:2003-02-17 12:09 PM)

BO类->DAO类不是structs要求的吗。struts最有用的就是action的思想。其次actionform也不错,别的东西看你自己需求进行取舍了,没有必要一定要严格遵循,那叫教条主义!  
 回复主题:回复:关于Struts的问题(作者:huyuefox 发表时间:2003-06-23 3:39 PM)

是啊,structs完全可以有很多变通的方式来实现mvc.  

一些关于Struts的面试题

你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer...
  • robbin2117
  • robbin2117
  • 2014年05月15日 17:09
  • 346

关于struts2-spring整合的问题

之前一朋友问我strut2和spring集成时使用aop后造成注入失败:关于struts2-spring整合的问题,我就分析一下struts2如果和spring集成的,并解决这个问题。 此问题已经提...
  • scholar_man
  • scholar_man
  • 2015年09月08日 10:28
  • 647

struts 2 漏洞学习总结

struts2最近几个漏洞分析&稳定利用payload http://drops.wooyun.org/papers/902 0x00 背景 看到网上关于struts2利用的文章...
  • bcbobo21cn
  • bcbobo21cn
  • 2016年07月05日 14:03
  • 1267

关于struts2

最近下载了struts2.0.6,可真大,解压后大约150M,仔细看了一下,跑了其自带几个demo,并看了一下代码,可以说基本和webwork2一样的,核心基本没改,感觉就修改了包名,说是struts...
  • wangjian5748
  • wangjian5748
  • 2007年03月11日 22:27
  • 1388

关于产品推荐的10个问题

许多零售商使用自动的产品推荐技术来增加他们的销售额和转化率。这些推荐的物品通常是商业站点上动态生成的,通常基于特定客户或一组客户的购买习惯。 Strands Recommender 是一个领先的...
  • ozhaohuafei
  • ozhaohuafei
  • 2014年07月05日 19:58
  • 1785

升级struts2漏洞的方法

最近公司上头发了一封邮件,说是struts2又检测出新漏洞了,虽然新项目已经对使用struts2的意愿不太高了,但原先的项目还是要升级下的。 升级不只是对struts*-core.jar进行替换那么...
  • guomainet309
  • guomainet309
  • 2016年06月30日 14:00
  • 476

Struts2 配置文件传递参数

/bm/engine/pumpListAll.do?pumpType=${pumpType}/pumpListAll.do?pumpType=${pumpType}pumpType在action中必须...
  • hahalzb
  • hahalzb
  • 2010年10月21日 23:32
  • 6043

关于读书的几个问题

读书,并不是穷酸秀才秀穷秀酸的时候才出来卖弄于人的。笛卡儿说:“读一切好书,就是和许多高尚的人谈话。”读书中的愉悦和享受,体现在精神、境界上的享受和在慎思方面的提升,自不是网络冲浪中能够获得的。“书中...
  • sxhelijian
  • sxhelijian
  • 2013年09月30日 08:19
  • 4212

struts2开发中经常遇到的问题

在struts2开发中总遇到这个问题,No result defined for action: 原因:Action中的属性值为空的时候,Struts2的默认拦截器会报错,但是又找不到input的R...
  • cuiwei1026522829
  • cuiwei1026522829
  • 2014年04月12日 09:42
  • 1569

关于struts线程问题

 Re: 关于struts线程问题  2006年06月14日 23:37        Servlet是在多线程环境下的。即可能有多个请求发给一个servelt实例,每个请求是一个线程。struts下...
  • ronek
  • ronek
  • 2008年10月05日 11:18
  • 289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Struts的问题
举报原因:
原因补充:

(最多只允许输入30个字)