看板java
标 题Re: 到底该不该学Struts?
发信站SayYA 资讯站 (Tue Aug 22 22:23:26 2006)
转信站ptt!ctu-reader!news.nctu!SayYa
※ 引述《[email protected] ( )》之铭言:
> 我觉得Struts是一个开发web 好用的框架
> 也是最多人用的
> 但是最近一直有很多对手出现
> 加上open的东西可能新旧版本有相容性问题...
> 不知道大家觉得该不该学Struts
> 或是用Struts开发专案 有没有什麽要注意的@@
> 感谢~
> ꔊ
这位施主,您的问题让我想起来曾在课中里读过的一篇文章
http://210.60.194.100/life2000/professer/lifeEthics/LE04.htm
对於web framework好不好用,要看学习者本身入门的观点。
以java来说web application有他的基础必学。
而您竟然问到了structs,那表示基本的Model 1设计方式已经不能满足您。
所以,进而想要在思想层面上有所进展。所以,选用一套web framework
是一个不错的选择。这些web framework大多是提供Model 2的构架(
内涵约为MVC design pattern),所以都是以一个servlet总管所有的request
===================================================== 广告分隔线 ==
Model 1, Model 2
http://www.javaworld.com.tw/jute/post/view?bid=11&id=2567&sty=2
Model 2
http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html
===================================================== 广告分隔线 ==
你用java server face会有FacesServlet
你用struts会有ActionServlet
你用spring mvc会有DispatcherServlet
你用tapestry会有ApplicationServlet
你用Wicket会有WicketServlet
你用foo会有fooServlet ... blah blah blah
呵! 发现了Model 2的特色了吧。
"每个framework,心中都有一个任意门(servlet)"
request --> 任意门(servlet/Controller) --> *(商业逻辑/Model) --> View
^ |
+------------<----------------<---------------------<-----------+
所以,和您之前未曾使用Model 2时,你将遇到第一个难题: 怎麽搞定任意门。
通常和wex.xml有关,这是在学习大部分的web framework会先遇到的一个门槛,
为了跨过这个门除了依手册上的说明设定好,写个hello world之外。
建议您自己动手写写几个servlet来玩玩,会更有sense
===================================================== 广告分隔线 ==
hello servlet 新手练习篇
http://0rz.net/221Kf
===================================================== 广告分隔线 ==
再来要面对的是给Controller读的设定档,通常也是xml。这里就充满了各家
设计的哲学了。在Spring Web Flow你会看到很多的state,Struts你会有很多
form-bean,这里就是特别需要去了解的地方。你心中要有一个念头,这样问
自己,他的request是怎麽送到controller的呢? 您也许写了POJO来放表单,
也许他部分的传值不是用java bean,传值後提供了什麽验证的机制,为了完
成这个验证的功能,使用者需要付出多少的努力呢?
再来针对view所提供的taglib,是否觉得实用。例如spring mvc针对表单就
提供了一组taglib,当使用者填错值的时候可以利用它显示适合的修正提示。
这种功能当然很多framework都有提供,但是用起来是否顺手又因人而已。
像有的人就不喜欢scriplet,也不想用taglib。有这样的web framework能满
足你的需求吗? 其中一种是tapestry,直皆把必要的code塞在html的属性中。
与web framework配合样版引擎是完成不同的感觉。
而也有人考虑地更广泛,希望使用的framework要与现有的工具有良好的整合
。spring似乎就是主打这项--整合力。
当然,还要考虑的是开发时的效率。你就该问问自己这玩意和我常用的ide
契合乎? 千言万语,听听别人的口碑也要自我亲身体验。
你可以自己试试几个framework,列几项自己去评比
for example:
framework form-check ide taglib/view 公司的意向
A
B
C
D
E
======================================================================
等级权重 2 3 1 4
======================================================================
总分
--
※ Origin: SayYA 资讯站 <bbs.sayya.org>
◆ From: 163.26.34.20