Jsp 和 Servlet 的对比学习
来源:互联网 发布:欲知大道 编辑:程序博客网 时间:2024/06/10 09:59
JSP 和 SERVLET
JSP(JavaServlet Page)实际上它也是从Servlet继承而来。只不过它在Servlet当中又添加/修改了一些方法,作了新的封装。具体到Tomcat Web应用服务器中,它通过一个多重继承,分别从Java的HttpJspPage和HttpServlet两个类那里继承和实现一些方法,然后封装一个叫做HttpJspBase的类从而实现了一个通用化的JSP类,用户在开发自己的JSP时,只需要从HttpJspBase继承一个自己的类,然后根据需要去实现相应的方法即可。
因此这也是为什么JSP的代码中总是闪现Servlet代码框架影子的原因,其实它们只是为实现同样的功能而进行了不同封装的组件而已,底层都是一样的。
了解两个问题
JSP是什么
JSP就是嵌入了Java代码的HTMLSERVLET是什么
Servlt就是嵌入了HTML的Java类
区别
那肯定是因为JSP有它更高明的地方。
servlet
使用Servlet产生动态网页,需要在代码中打印输出很多HTML的标签
此外,在Servlet中,我们不得不将静态现实的内容和动态产生内容的代码混合在一起。
使用Servlet开发动态网页,程序员和网页编辑人员将无法一起工作,为了解决这些问题,Sun公司就推出了JSP技术。
jsp
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。
JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。
相同
- JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,
- Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。
- 对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
- Tomcat根据JSP页面生成对应Servlet的Java文件及class文件。
JSP过程
- JSP文件必须在JSP服务器内运行。JSP文件必须生成Servlet才能执行。每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。被tomcat编译为servlet,存放在work目录
- JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
- 当客户请求一个JSP页面的时候,Tomcat服务器自动生成Java文件、编译Java文件,并用编译得到的字节码文件在服务器端创建一个Servlet。
生命周期对比流程图
送上jsp的生命周期流程图
对比servlet的生命周期流程图
总结
- servlet是在web服务器上的java程序,它提供服务,由它来传递给你html的格式。Servlet API为Servlet提供了统一的编程接口
- Servlet必须部署在Servlet容器,才能响应客户端的请求 对外提供服务。要对外统一接口,由容器来调用。
- jsp侧重显示;servlet侧重控制逻辑。
参考0
参考1
参考2
- Jsp 和 Servlet 的对比学习
- servlet和JSP 对比区别
- jsp和servlet 学习
- servlet和JSP学习
- JSP学习笔记-03-Servlet和JSP的关系
- CGI和Servlet的对比
- JSP和SERVLET学习笔记
- Servlet和JSP学习笔记
- 怎么学习Servlet和JSP
- Servlet 与jsp 区别对比 php中 的 view 和 controller
- Servlet/JSP学习笔记(1)-tomcat和eclipse的安装
- JSP学习笔记。servlet的调用和配置xml
- 关于servlet和jsp的学习总结一(详细)
- 关于servlet和jsp的学习总结二(详细)
- 关于servlet和jsp的学习总结三(详细)
- JSP学习 --- servlet的生命周期
- Servlet与Jsp对比区别
- Servlet和jsp的区别
- 关于sql server 2016安装
- 汉诺塔
- C++内存对齐
- Lintcode140 Fast Power solution 题解
- HDU5918 Sequence I(kmp,间隔匹配)
- Jsp 和 Servlet 的对比学习
- Java 字符串操作、基本运算方法等优化策略
- sum(欧拉函数之和)
- 数据结构|创建学生成绩的双链表(实验2.3)
- FreeRTOS-二值信号量
- 告别
- Oracle创建数据表实例
- 410. Split Array Largest Sum
- [java]微服务架构连载No6 服务保护门之网关Zuul