精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2004-03-24
我的确没有做过类似于BBS这样的系统,不过看了,公司也不需要这种系统,因为大家都只想一进来就知道自己喜欢的东东/看到自己想看到的(亦可以讲是工作区,通知等),而不是所有的功能或者菜单(如果要用redirect的话,那可能要在页面进行一些代码操作,相对于forward等来讲页面代码量可能要多一些,除非你redirect到一个处理的地方再进行forward).
就算我说是BBS也好吧,其实你每次进来BBS的主页都会看到最近谁发的贴(例如:本BBS的右边会显示nick name等.). 那就是说,进行登录后-->redirect到主页-->主页内进行一些操作(可能给一些类操作再得到结果,因为redirect是不能传送集合或者对象等东东的),但是这样子还是用了页面调用了类的逻辑,那页面就是不单单地只显示结果,还有点逻辑),看下面的见解. 对于我们一般地都是用这种方法/模式: 用户-->控制器(servlet/other)-->处理(command或者更多的其它层)-->转发(有两种,第一种是没有结果返回的,可以用redirect或者forward,第二种有结果返回的,那只能用forward,当然用redirect加session/application也可以)-->页面进行显示 请指教 |
|
返回顶楼 | |
发表时间:2004-03-24
lunawing 写道 更正[login.do forward login.jsp] submit [afterLogin.do] redirect [main.do forward main.jsp]
有这样子做的吗?? 如果是这样子的话,效率(包括开发时和访问时)是不是很低呢?? 其实应该是这样吧: <do> <id>login.do</id> <class>Login</class> <success><id>main.do</id></success> <!-- 可以指定页面 --> <!-- 例如: <success><page>main.jsp</page></success> --> <fail><id>fail.do<id></fail> <!-- 可以指定页面 --> </do> 上面的不是那个框架的东东,只是想说明,如果是成功的话,应该直接调用其它的行为,而不应该再转一次.. |
|
返回顶楼 | |
发表时间:2004-03-25
muziq 写道 不要陷入技术细节的纠缠,学会关注语义,很多问题都会迎刃而解。
嗯,同感! |
|
返回顶楼 | |
发表时间:2004-03-25
其实如果是为了防止刷新的话,有很多办法都比这个好呀..
嘻嘻.. 其实也没有什么,我们只是讨论讨论而罢了(我是有点执着,是因为我对技术并不太了解,请原谅) |
|
返回顶楼 | |
发表时间:2005-07-15
xiaoyu 写道 其实如果是为了防止刷新的话,有很多办法都比这个好呀..
嘻嘻.. 其实也没有什么,我们只是讨论讨论而罢了(我是有点执着,是因为我对技术并不太了解,请原谅) 快说啊,有什么好办法,为这个问题我都烦死了。3x |
|
返回顶楼 | |
发表时间:2005-07-15
还是用redirect好吧.我一直这么用
1.防止刷新 2.可以收藏正确的地址,不会误导用户 3.可以用"操作完成"类似的页面进行提示,然后转向另外一个页面 |
|
返回顶楼 | |
发表时间:2005-07-25
拿系统登录举个例子,这里用了Struts。
1,用户在主页面选择刷新的话,会重新触发登录的动作,这对于系统增加了不必要的负担 有点困惑 |
|
返回顶楼 | |
发表时间:2005-07-25
xiaoyu 写道 forward只能是在相同的context中才行,但redirect就不一定啦.
当然如果可以的话尽可能得用forward. forward是不用再经过filter的,forward是可以访问到受保护资源的(在WEB-INF目录下的资源). 用forward安全性会更高一点(不过新增的时候刷新就会有点麻烦啦,不知道各位高手有什么好办法呢??). 在新的Servlet 2.4规范中,支持Forward的filter. Pls refers to: SRV.6.2.5 Filters and the RequestDispatcher |
|
返回顶楼 | |