日期:2014-05-17  浏览次数:20735 次

新手求教:我们为什么使用jsp页面而不是html呢?
小弟新学java web 编程,对jsp页面的地位与作用觉得有些不理解。
小弟的理解是,如果是作为视图,那他的作用和html应该是一样的,区别是jsp页面可以嵌入java代码。但是嵌入java代码这种做法违反了高内聚低耦合的设计方法。所以才出现了javabean,将java代码分离出去,可是我看到的例子实际上没有完全分离出去,在jsp页面中,还是要使用java代码实例化javabean的类,然后直接输出了,我看书的例子都是这样的。
如果不作为表现层,jsp就变成servlet了,那我们直接编写servlet不是更加纯粹一些?
在同样都是表现层的时候,我们为什么不使用html+servlet+javabean呢?这样不就将java代码完全分离出来了吗?比如从数据库中提取数据,我们是不是可以用servlet调用DAO层,然后返回响应数据,用javascript在客户端处理,显示呢?一个页面的数据量通常也不会很大吧。我感觉这样很清晰的样子。这和jsp页面+servlet+javabean比较,使用jsp的优势在哪里呢?
新手学习,多谢指点。

------解决方案--------------------
业务分离,分层分职责,解耦和,立于扩展维护
------解决方案--------------------
是可以做到,但 html 你维护起来岂不很不方便。
一般极少变动的页面采用静态的。
------解决方案--------------------
书上的有些例子是为方便初学者入门才这么写的
------解决方案--------------------
楼主说的意思我明白,但你说的只适合一些简单的页面布局,像一些大型的社区网站,还有一些导航之类的网站,那岂不是很麻烦,页面布局麻烦,后期维护也非常的麻烦,而且现在jsp页面根本就不需要嵌入java代码就可以完全实现的。像jstl,struts标签,el...等等,都是用来替代嵌入java代码的。
实际开发中要求速度和效率,你在追求代码的完美同时有没有考虑过效率问题?而且有时候为了简单快捷,页面嵌入java代码能省掉很多的时间,虽然代码不完美,但效率却大大的提高了。
------解决方案--------------------
jsp基于动态的方式编写,可以喝后台代码结合开发,
而html是一种静态的,只能用静态的展示,如果想动态的并且结合html开发,那么就的用第三方开发框架结合html开发这样的功能
------解决方案--------------------
jsp中隐藏了request,response,session。你用html怎么交互数据这么方便呢?