各位高手,我是菜鸟,请教一个比较弱的问题,不要拍我啊:使用java+jsp+html做动态网页的时候,永远都避不开browser和sever之间的通信、数据传递问题,我就简称这个是BS数据传递吧。在BS之间做数据传递的时候,我熟悉的是ajax。当然也可以使用struts1。我对ajax和struts的理解:
ajax:
1) 向上,可以向服务器发送所有的数据。
2) 向下,服务器可以通过response向browser下发所有的数据,在browser收到数据后,可以通过DOM编程,将数据实时显示。struts1:
1) 使用标签,将html:form中的数据进行封装,发送到服务器;
2) 服务器使用mapping、forward等对象,进行跳转,并且将数据封装到request或者是response中,下发到跳转的页面。我的问题:
1) struts1做的工作,ajax完全能够胜任,而且,ajax能够更好的完成struts1做的工作。甚至,struts1的很多标签中使用的变量,完全就是jsp的方法(EL表达式,或者是<%= %>),这样,使用struts1代码显得很乱,从这个角度上来说,ajax也比struts1更好。
2) 如果ajax与struts1结合使用,我试过了,可以通过指定ajax的url,从而访问struts1的action,但是这种做法的前提是,要使用struts1的标签,否则,form中的数据不会被封装并传递到action。那么我的问题是,ajax与struts1如何结合,有好的办法吗?3) 关于MVC构架,或者说browser端隐藏代码的问题:使用ajax有一个不好的方面,那就是ajax在browser使用的js代码,用户全部能看到,这一点不是很好。但是,使用struts的时候,虽然browser端看不到代码,但是,在做开发的时候,不仅显得代码结构很乱,而且,功能也处处受到限制。请问高手们,出了使用struts和ajax之类的方法,有更好的方法实现吗?4) 对SSH中,我最熟悉的是hibernate,我也最喜欢它,我觉得他是真的有用。其次就是spring,我觉得struts最没有用,功能也不完善,而且较难使用。请教高手,我的理解对吗?目前对于MVC框架,或者说,对于在browser端隐藏代码,有更好的构架、方法吗?我是菜鸟,请高手们不要拍我,耐心一点回答我的问题啊。
感谢!
ajax:
1) 向上,可以向服务器发送所有的数据。
2) 向下,服务器可以通过response向browser下发所有的数据,在browser收到数据后,可以通过DOM编程,将数据实时显示。struts1:
1) 使用标签,将html:form中的数据进行封装,发送到服务器;
2) 服务器使用mapping、forward等对象,进行跳转,并且将数据封装到request或者是response中,下发到跳转的页面。我的问题:
1) struts1做的工作,ajax完全能够胜任,而且,ajax能够更好的完成struts1做的工作。甚至,struts1的很多标签中使用的变量,完全就是jsp的方法(EL表达式,或者是<%= %>),这样,使用struts1代码显得很乱,从这个角度上来说,ajax也比struts1更好。
2) 如果ajax与struts1结合使用,我试过了,可以通过指定ajax的url,从而访问struts1的action,但是这种做法的前提是,要使用struts1的标签,否则,form中的数据不会被封装并传递到action。那么我的问题是,ajax与struts1如何结合,有好的办法吗?3) 关于MVC构架,或者说browser端隐藏代码的问题:使用ajax有一个不好的方面,那就是ajax在browser使用的js代码,用户全部能看到,这一点不是很好。但是,使用struts的时候,虽然browser端看不到代码,但是,在做开发的时候,不仅显得代码结构很乱,而且,功能也处处受到限制。请问高手们,出了使用struts和ajax之类的方法,有更好的方法实现吗?4) 对SSH中,我最熟悉的是hibernate,我也最喜欢它,我觉得他是真的有用。其次就是spring,我觉得struts最没有用,功能也不完善,而且较难使用。请教高手,我的理解对吗?目前对于MVC框架,或者说,对于在browser端隐藏代码,有更好的构架、方法吗?我是菜鸟,请高手们不要拍我,耐心一点回答我的问题啊。
感谢!
解决方案 »
- 关于栈与堆的问题,求解释!
- Java编译原理
- JVM相关,.Class文件格式问题
- 别人介绍这里有过火龙果斑竹正则很厉害,不知道正则能否解决我的问题呢!所以专门注册来问!以前都是上javaeye的
- 请教JSP如何获得表单中列表框的值
- 一个大家都比较感兴趣的问题
- 我的程序中使用了"Metal", "Motif", "Window"三种外观,有一个奇怪的问题。在不同的外观下,打开的对话框的大小也不一样。请问如何解决这
- TCP 问题求解答
- 这个程序先是顺序输出接着是反序输出,previous用错在哪里
- 出现这样的cannot resolve symbol的错误怎么办?
- 带安全策略文件的程序如何用installanywhere打包
- JAVA问题求解
这是2个完全不一样的东西,struts是MVC 控制层的东西
而ajax可以说只是表现层的产物
struts 和 servlet 比较还差不多
SSH 整合中作用最大的不是hibernate 而是Spring
其次是struts。
hibernate才是可有可无的,作用没有spring和struts明显
建议你多用用struts再来说
SSH中使用最广的框架恰恰是你口中所说的struts
反正我待的几家公司中所有的都用了struts
而spring和hibernate只有1家用了
2.ajax的js代码是可以封装的,只要前台符合html标准,用户看到的只会是生成的静态的html页面和元素
3.struts1和ajax其实是没有可比性的2楼你以你待的几家公司所使用的技术来评定什么有用什么没用。。真是太坑爹了。
2:AJAX 与 MVC 是背离的
恩,呵呵。
(1)ajax从名字就可以看出是一种前端的技术,而struts作为一种mvc模式的实现,更关注的是后台的框架,struts标签只是一种辅助;
(2)正如楼主所有,ajax可以请求action,只要指定url就行,同时ajax的request对象也提供了向服务器发送请求参数的方法。
(3)struts标签可以起到减少页面中的代码量,是页面更加整洁的作用。但是在J2EE的相关技术中标签体系比较多,struts 1、struts 2和jstl等等,用好这些标签不是一件容易的事。当然也存在一些模板技术如veloctiy等,页面装饰技术sitemesh等等,使得页面更为整洁,更好复用。
(4)SSH中,我更为偏向于Spring,当然仁者见仁智者见智,应用场景的不同,使得技术的重要性也不同,不能一概而论。楼主不能将MVC等同于browser代码隐藏,那只是struts中的标签做的一部分工作,struts的重点不在这里。
还有什么更好的吗?
我是不是可以说,目前使用struts实现MVC其实还不是很成熟,还需要改善?