锁定老帖子 主题:请牛人讨论一下SSh框架的原理和作用呗。
精华帖 (1) :: 良好帖 (3) :: 新手帖 (5) :: 隐藏帖 (7)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-27
tterry 写道 C.T 写道 aa87963014 写道 ltian 写道 agao1985 写道 ltian 写道 SSH还在这么广泛的应用,我只能说两个字,杯具!
那你说用什么 我用RIA+EJB3.1 看来需要看下你说的 RIA+EJB3.1 是什么了 能让你如此的有优越感 说得好,不是会这样的一个技术就可以变成牛B的 哥们也声援你,那种家伙不知到从哪听个ria就跑到这而装来了 我也支持,而且这人连概念也还没弄懂。 RIA是一种技术吗?!是一个框架吗?! 如果是,那么web2.0也就是技术了。 |
|
返回顶楼 | |
发表时间:2011-04-27
隐不了了,发表我的一些看法吧。大家喷把。
struts2 1-1:为什么每次请求都要创建一个Action对象? 是出于对线程安全的考虑,每个request都不会相互影响 1-2:ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题? 先把旧的model对象从ValueStack中移除,然后再把新的model对象压入ValueStack! 官方解释: set to true if you want the model to be refreshed on the value stack after action execution and before result execution. The setting is useful if you want to change the model instance during the action execution phase, like when loading it from the data layer. This will result in getModel() being called at least twice. 一般不需要配,顺便骂句谁出的这么坑爹的问题。详细的请访问http://szcs10138456.iteye.com/admin/blogs/1018738 |
|
返回顶楼 | |
发表时间:2011-04-27
szcs10138456 写道 隐不了了,发表我的一些看法吧。大家喷把。
struts2 1-1:为什么每次请求都要创建一个Action对象? 是出于对线程安全的考虑,每个request都不会相互影响 1-2:ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题? 先把旧的model对象从ValueStack中移除,然后再把新的model对象压入ValueStack! 官方解释: set to true if you want the model to be refreshed on the value stack after action execution and before result execution. The setting is useful if you want to change the model instance during the action execution phase, like when loading it from the data layer. This will result in getModel() being called at least twice. 一般不需要配,顺便骂句谁出的这么坑爹的问题。详细的请访问http://szcs10138456.iteye.com/admin/blogs/1018738 非常感谢,太经典了。 |
|
返回顶楼 | |
发表时间:2011-05-11
这些问题问不来的。自己研究吧
|
|
返回顶楼 | |
发表时间:2011-05-12
xiaobing 写道 回答问题本身没有太大意义
前提是你会回答 |
|
返回顶楼 | |
发表时间:2011-05-12
chrislee1982 写道 tterry 写道 C.T 写道 aa87963014 写道 ltian 写道 agao1985 写道 ltian 写道 SSH还在这么广泛的应用,我只能说两个字,杯具!
那你说用什么 我用RIA+EJB3.1 看来需要看下你说的 RIA+EJB3.1 是什么了 能让你如此的有优越感 说得好,不是会这样的一个技术就可以变成牛B的 哥们也声援你,那种家伙不知到从哪听个ria就跑到这而装来了 我也支持,而且这人连概念也还没弄懂。 RIA是一种技术吗?!是一个框架吗?! 如果是,那么web2.0也就是技术了。 再次说明,显摆的人先想好自己说的话是否有bug |
|
返回顶楼 | |
发表时间:2011-05-12
magneu 写道 magneu 写道 liuzhaolst 写道 action是servlet的实现而已,负责进行dispatch,也就是说查找下一个方法的执行
拦截器servlet标准2.3以后出现,顾名思义拦截,在tomcat的实现中有详细介绍,不再这里啰嗦。 (标准编号有些记不清了,见谅) filter的原理清楚后,你就明白了 查看api 如何实现,servlet完成了控制层的工作也就是action,m的代表方式将逻辑处理放置,v也即是对jsp的一个重定向而已。 spring米用过,原理很清晰,解决注入,实例化,插件化的开发,目的就是提升开发效率。 学习下注入与切面的原理你就明白了 spring对数据库事务有相应的实现类,你要用他的功能,就必须让他知道。 定义为readonly就是为了不启动事务,(Connection startTranscation) or的理解,就是为了提升开发效率,减小开发过程中重复性的编码 hb学习过他的设计思路,没在项目中使用过,理由,不喜欢全封装的东西。 要通过标识完成update动作。(包括insert、update和delete) 参见jdk对hashcode和equal的设计思路,就能明白 save方式源码中包含了insert和update情况,查看源码 ………………………… 一些建议,不管是ssh还是其他的框架,都是在jdk的基础上进行了,其设计目的就是为了降低开发成本,提升开发效率,把最基础的jdk熟悉和理解,你不管用什么框架才能得心应手。 hb的持久化设计,设计的出发点是什么。实现过程中用到的核心是什么,比你问使用中的一些东东更重要。 spring号称是轻量级的j2ee,那他的设计目的,也值得好好研究 struct也就是对serlet的一种扩展,学习tomcat源码对你意义更为深远。 你说的勉强能够看懂。 您的意思是说Struts2就是对servlet的封装,是这样吗? 既然楼上的老兄说了, 我也谈谈我的理解, 有什么不对的地方,请帮忙指正一下, 谢谢了。 Struts: Struts2完成了控制层的工作, 在控制层,他会把V层的请求,以及请求相关的信息,以bean的形式封装好, 然后传给action。 然后将action执行的结果,再以bean的形式传给V(jsp页面)。 开发人员可以不关注,或者很少关注 servlet相关的API,只需要对jsp以及j2se的api熟悉就可以了。 对于Spring, 我的想法是通过依赖注入,来解决类之间的依赖关系,以此来做到松耦合的目的。这样不同模块之间的关联会减少, 可以有效的提高开发的效率。(纯属个人理解, 请指正) 对于 spring对数据库事务有相应的实现类,你要用他的功能,就必须让他知道。 定义为readonly就是为了不启动事务,(Connection startTranscation) 这个确实没有接触过, 不过对这句话的理解是这样的: Spring中的将实体类和持久层的数据进行同步,当定义为readonly时, 就不将实体类和持久层数据进行同步了。 对于hb >通过标识完成update动作 我的想法是,根据类名和变量名, 直接映射到数据库的表名和列名。 它的save方法把jdbc的api全部封装起来了。 save方式源码中包含了insert和update情况。 这个确实听说过。 我想应该是根据该实体类是否在数据库中存在来判断是插入一条新的数据还是更新到旧的数据中吧。 对于 参见jdk对hashcode和equal的设计思路,就能明白。 hashcode和equal方法大家都熟知, 但是对于他的设计思路,不知道指的是什么。 有点迷糊。 >一些建议,不管是ssh还是其他的框架,都是在jdk的基础上进行了,其设计目的就是为了降低开发成本,提升开发效率,把最基础的jdk熟悉和理解,你不管用什么框架才能得心应手。 所有的框架和类库都是在jdk的基础上建立起来的, 其基础是jdk。 这些框架的作用是将项目中经常用到的共通的东西提炼出来,做成共通的包,减少重复的操作,提高开发的效率。 >spring号称是轻量级的j2ee,那他的设计目的,也值得好好研究. 我想对于学习spring, 更重要的是学习他面向切面的思想吧。 >struct也就是对serlet的一种扩展,学习tomcat源码对你意义更为深远。 学习tomcat源码, 应该能够清楚serlet的调用过程, 其实拨开这些表象就是在后台用java动态的生成html文件然后传给前台。 只不过为了减轻编程的复杂性以及 实现可见即可得, 所以才引入了serlet 和 jsp。 tomcat是动态解析serlet 和 jsp生成html的容器。 楼主的砖头引出点好东西来了 |
|
返回顶楼 | |
发表时间:2011-05-12
在我博客里面有一个培训的日志,有两个ppt,就是介绍MVC产生的背景和原理的。您看看有没有帮助,具体地址不想找了。。。。
|
|
返回顶楼 | |
发表时间:2011-05-13
谢谢各位大哥的回答, 个人感觉对这个问题的探讨还不够深入。
我想使用这些东西的前辈们肯定对这些技术有一些自己的理解的。 呵呵只不过如果具体说出来可能会有些困难。 对于j2ee中的技术,他的最原始的东西都是jsdk,但是我提出以上的问题是想问这些框架的设计思路是怎样的,解决了什么样的问题, 给我们开发人员带来了那些方便。 呵呵。 可能有点好高骛远了, 各位大哥不要见怪。 |
|
返回顶楼 | |
发表时间:2011-05-16
等你认清这些问题背后设计外,你就发现ssh多么烂的东西,这个世界本来可以很简单了,不再会被这些卖概念的框架给绑架了
|
|
返回顶楼 | |