一、定义
JSP全称是Java Server Pages,和servle技术一样,都是用于开发动态web资源的技术。jsp通过在html或xml中嵌套Java代码实现动态网页,为用户实现动态数据。
二、jsp生命周期
Jsp页必须转换成Servlet,才能对请求进行服务,因此Jsp的底层完全是Servlet。这样看来Jsp的生命周期就包括六个阶段:转换、编译、加载并实例化、jspInit()调用(即初始化)、jspService()调用(即请求处理)、jspDestroy()调用(即销毁)。
-
(1)编译阶段:
servlet容器编译servlet源文件,生成servlet类
- (2)初始化阶段:
加载与JSP对应的servlet类,创建其实例,并调用它的初始化方法
- (3)执行阶段:
调用与JSP对应的servlet实例的服务方法
- (4)销毁阶段:
调用与JSP对应的servlet实例的销毁方法,然后销毁servlet实例
-
三、JSP与HTML
HTML(Hypertext Markup Language)文本标记语言,一种静态解释性语言,能直接被浏览器识别,不需要编译工具。
JSP是动态的,须经过jdk编译。JSP必须先转为Servlet才能编译,在tomcat服务器上才可以打开。
JSP页面包含html代码。
四、JSP与ASP
同:JSP与ASP(Active Server Pages)都是常用的动态网页技术,都可以签入HTML代码
异:
(1)开放性
JSP技术基于平台和服务器的互相独立,输入支持来自广泛的,专门的,各种工具包,服务器的组件和数据库产品开发商所提供。而ASP技术主要依赖微软的技术支持。(2)组件模型:
JSP是建立在可重用的、跨平台的组件(如:JavaBeans、EnterprisesJavaBeans和用户定制的标签库等组件)
之上的,而ASP使用的是基于Win32的COM组件模型。
(3)用户定制标签
JSP可以使用用户定制标签库进行扩充,而ASP中没有用户定制标签库,ASP是不能扩充的。
五、JSP与Servlet
(1)JSP在本质上就是SERVLET简易方式,是Servlet技术的扩展。
(2)Servlet完全是JAVA程序代码构成,擅长于流程控制和事务处理,通过Servlet来生成动态网页很不直观。JSP由
HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中采用Servlet来控制业务流程,而采用JSP来
生成动态网页。 (3)Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP是Java和HTML组合成一个扩展名为.jsp的文件。
(4)JSP侧重于视图,Servlet主要用于控制逻辑。在struts1框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。
总结:
以上是对jsp的简单总结,从开始的网上商城开始到后面的DRP以及项目中接触了一段时间的jsp,在对比之前.NET项目中的cshtml更是有很多的相似之处,接触起来就更容易了好多。像老师之前说过的,我们学过的知识从来没有旧知识都是对原来知识的变形,找到联系我们的学习兴趣会更加浓烈也会更加轻松。