上篇博客已经简介了下Servlet。从上篇博客中能够看到。Servlet获得返回来的数据后。显示给client时,须要不断的拼串。从而构成完整的html页面,这就在无形中加大了程序猿的压力和劳动力。而今天要介绍的JSP正好攻克了这个问题。
事实上JSP也是J2EE的12中规范之中的一个,它的本质是Servlet,仅仅只是JSP对Sservlet进行了封装,使它更加倾向于表现层,跟html页面接轨。既能进行业务逻辑处理也能进行网页的动态显示,相比Servlet,提高了工作效率,减轻了程序猿的劳动力和压力。
既然Servlet有生命周期。相同,JSP也有生命周期,JSP的生命周期类似于Sservlet,其差别在于JSP的生命周期还包含JSP生成Servlet。
生命周期
编译
包含三阶段:解析JSP;将JSP转为Servlet;编译Servlet。
初始化
JSP仅仅初始化一次。容器在加载JSP后。创建事实上例。调用jspInit()方法进行初始化。假设须要运行自己定义的JSP初始化任务,能够复写jspInit()方法。
运行
当JSP网页完毕初始化后,将会调用_jspService()方法。此须要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的參数。_jspService()方法在每一个request中被调用一次而且负责产生与之相相应的response。
销毁
销毁Servelet实例。当JSP网页从容器中被移除时,会调用jspDestroy()方法,等价于servlet中的销毁方法。当有其它须要时。能够复写jspDestroy()方法,比方释放数据库连接或者关闭目录等。
实例
JSP文件
<html> <head> <title>HelloWorld</title> </head> <body> <% String strhw="Hello ZhuDan!"; out.println(strhw); %> </body> </html>
运行结果
JSP与Servlet
JSP是Web开发技术。而Servlet是server端执行的小程序,当訪问JSP页面时。会将其编译成Servlet,然后交互得到结果返回给client。
JSP很多其它的着重于页面的显示,而Servlet注重于业务的处理,即JSP相当于页面。而Servlet来实现JSP。
两者在显示页面时,在JSP中嵌入java代码,在Servlet中嵌入HTML代码。
总结
JSP跟HTML页相似。相同能够用于网页的显示,仅仅只是JSP中嵌入了Java代码,HTML页面不能嵌入某种语言代码;JSP本质是Servlet,在执行时首先将JSP编译成Servlet,然后再处理来自client的请求。