Servlet是使用Java Servlet接口(API)运行在Web服务器上的Java程序,其功能十分强大,它不但可以处理HTTP请求中的业务逻辑,而且还可以输出HTML代码来显示指定页面,而JSP是一种在Servlet规范之上的动态网页技术,在JSP页面中,同样可以编写业务逻辑处理HTTP请求,也可以通过HTML代码来编辑页面,在实现功能上,Servlet与JSP貌似相同,实质存在一定的区别,主要表现在以下几方面:

角色不同:

JSP页面可以存在HTML代码与Java代码并存的情况,而Servlet需要承担客户请求与业务处理中间角色,只有调用固定的方法才能将动态内容输出为静态的HTML,所以JSP更具有显示层的角色。

编程方法不同:

Servlet与JSP在编程方法上存在很大的区别,使用Servlet开发Web应用程序需要遵循Java的标准,而JSP需要遵循一定脚本语言规范。在Servlet代码中,需要调用Servlet提供的相关API接口方法,才可以对HTTP请求及业务进行处理,对于业务逻辑方面的处理功能更加强大。然而在JSP页面中,通过HTML代码与JSP内置对象实现对HTTP请求及页面处理,其显示界面的功能更强大。

Servlet需要编译后运行:

Servlet需要在Java编译器编译后才可以运行,如果Servlet在编写完成或修改后没有被重新编译则不能运行在Web容器中,而JSP则与之相反,JSP由JSP Container对其进行管理,它的编辑过程也由JSP Container对JSP进行自动编辑,所以,无论JSP文件被创建还是修改,都不需要对其编译即可执行。

速度不同:

由于JSP页面由JSP Container对其进行管理,在每次执行不同内容的动态JSP页面时,JSP Container都要对其自动编译,所以,它的效率低于Servlet的执行效率。而Servlet在编译完成之后,则不需要再次编译,可以直接获取及输出动态内容。在JSP页面中的内容没有变化的情况下,JSP页面的编译完成之后,JSP Container不会再次对JSP进行编译。

最新文章

  1. red hat安装mysql二进制包
  2. 第五章:Logistic回归
  3. Poisson Image Editing
  4. maven常见错误
  5. web页面的适配问题
  6. 【Todo】秒杀系统材料
  7. 利用KVO监视一个view的frame
  8. MySQL ProxySQL读写分离实践
  9. Canal 同步异常分析:Could not find first log file name in binary log index file
  10. 【BZOJ3531】【SDOI2014】旅行
  11. OC学习之道:关于Block的初级学习
  12. 智能指针之 shared_ptr
  13. Java多线程父子线程关系 多线程中篇(六)
  14. OS + Windows 10 / office excel vlookup / CredSSP
  15. tensorflow-softmax
  16. linux内核分析--操作系统是如何工作的?
  17. Impala学习–Impala后端代码分析
  18. SVN服务器与客户端下载地址_搭建使用
  19. LeetCode: Combination Sum II 解题报告
  20. struts2学习(9)struts标签2(界面标签、其他标签)

热门文章

  1. 2015年度新增开源软件排名TOP 100,EasyDarwin开源流媒体服务器排名第17
  2. javascript Date对象的介绍及linux时间戳如何在javascript中转化成标准时间格式
  3. for(String s:list)的运行
  4. linux内核container_of宏定义分析
  5. vue组件挂载到全局方法
  6. Codeforces Round #394 (Div. 2) B. Dasha and friends —— 暴力 or 最小表示法
  7. ckplayer 中的style.swf 中的 style.xml 中的修改方法
  8. HTML(DOM)与JavaScript嵌套数组之间相互转换
  9. hdu 1715 大菲波数(大数)
  10. 使用 WinSCP(下载) 上文件到 Linux图文教程