服务时间:8:30-18:00

首页 >java学习网

Servlet和JSP的区别与联系

发布时间:2022-11-28 13:39 字数:807字 阅读:181

请描述Servlet和JSP的区别与联系

考点:考察求职者对JSP机制的认识。

出现频率:★★★★

【面试题解析】

这里简单介绍Servlet和JSP的区别。Sun首先发展出Servlet,Servlet功能比较强劲,体系设计也很先进,只是Servlet输出HTML语句还是采用了CGI方式,一句一句输出,编写和修改HTML非常不方便。

Sun随后推出了类似于ASP的JSP技术,把JSP嵌套到HTML语句中,大大简化和方便了网页的设计和修改。图1所示是JSP程序的流程图。

一个网络项目至少分3 层:数据层、业务层和表现层。Servlet用来编写业务层程序是非常强大,但是处理表现层就很方便。

JSP则主要是为了方便处理表现层而设计的。JSP应该存放与表现层有关的内容,也就是说,只放输出HTML网页的部分。所有的数据计算、数据分析、数据库联结的处理,统统是属于业务层的处理范围,应该放在Java Beans中。通过JSP调用Java Beans,可以实现表现层和业务层的整合。这与微软公司的ASP+COM/DCOM技术类似。

JSP程序流程图

图1 JSP程序流程图

纯脚本语言将表现层和业务层混在一起,代码不能重复利用。如果想修改某些业务功能,经常会牵涉到大量的页面代码,而采用组件技术想修改某些业务功能,修改组件就可以了。

综上所述,Servlet适合编写业务层,处理层并不适合。在Java Web程序中使用JSP+Java Beans,由JSP处理表现层,用Java Beans处理业务层。

参考答案:

JSP是Servlet技术的扩展,更强调表现层的处理。Servlet和JSP最主要的不同点在于,服务器端有一个JSP容器,主要处理JSP页面请求,容器首先把JSP转换成一个Servlet,所有的JSP元素都会被转换为Java代码,再编译这个Servlet类。JSP侧重于视图,Servlet主要用于控制逻辑。