IT兄弟连 JavaWeb教程 JSP与Servlet的联系
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进行编译。
最新文章
- red hat安装mysql二进制包
- 第五章:Logistic回归
- Poisson Image Editing
- maven常见错误
- web页面的适配问题
- 【Todo】秒杀系统材料
- 利用KVO监视一个view的frame
- MySQL ProxySQL读写分离实践
- Canal 同步异常分析:Could not find first log file name in binary log index file
- 【BZOJ3531】【SDOI2014】旅行
- OC学习之道:关于Block的初级学习
- 智能指针之 shared_ptr
- Java多线程父子线程关系 多线程中篇(六)
- OS + Windows 10 / office excel vlookup / CredSSP
- tensorflow-softmax
- linux内核分析--操作系统是如何工作的?
- Impala学习–Impala后端代码分析
- SVN服务器与客户端下载地址_搭建使用
- LeetCode: Combination Sum II 解题报告
- struts2学习(9)struts标签2(界面标签、其他标签)
热门文章
- 2015年度新增开源软件排名TOP 100,EasyDarwin开源流媒体服务器排名第17
- javascript Date对象的介绍及linux时间戳如何在javascript中转化成标准时间格式
- for(String s:list)的运行
- linux内核container_of宏定义分析
- vue组件挂载到全局方法
- Codeforces Round #394 (Div. 2) B. Dasha and friends —— 暴力 or 最小表示法
- ckplayer 中的style.swf 中的 style.xml 中的修改方法
- HTML(DOM)与JavaScript嵌套数组之间相互转换
- hdu 1715 大菲波数(大数)
- 使用 WinSCP(下载) 上文件到 Linux图文教程