这几天开始学习JSP和Servlet,写些博客,记录自己的学习过程,算是自己从业开始的一个见证。
一、什么是JSP
JSP的全称是Java Service Page,一种动态的网页开发技术,区别于静态网页。(静态和动态网页的区别:是否随着时间,地点和用户操作的改变而改变。举个例子例如QQ和微信,如果服务器更新,全部软件都需要升级,需要重新安装。但是网页版的,例如京东服务器和各种浏览器,随着用户的操作的变化而变化。)JSP是一种 Java Servlet,主要用于实现Java Web应用程序的用户界面部分。
我们一般可以通过结合HTML代码,XHTML代码,XML元素以及嵌入JSP操作和命令来编写JSP。
二、JSP的生命周期
JSP的生命周期就是从创建到销毁的整个过程。类似Servlet的生命周期,与Servlet的生命周期的区别在于JSP生命周期包括将JSP文件编译成Servlet。
具体阶段:1编译阶段:Servlet容器编译成Servlet源文件,生成Servlet类。
2初始化阶段:加载与jsp对应的Servlet类,创建其实例,并调用它的初始化方法
3执行阶段:调用与JSP对应的Servlet实例的service方法。
4销毁阶段调用与JSP对应的Servlet实例对应的销毁方法,然后销毁Servlet实例。
三、JSP的执行流程
1、形态过程:jsp ——> java(servlet) ——> class
2、第一次执行服务端将jsp翻译成Java,再将Java编译成class文件,第二次访问直接访问class文件。如果服务端代码修改好了,将会在访问时重新翻译和编译。
四、jsp优势
1、与ASP相比,JSP有两大优势,首先,动态部分用Java编写,而不是VR或其他MS专用语言,所以更加强大与易用。其次是JSP易移植到非MS平台上。
2、与纯Servlet语言相比,JSP可以很方便的编写或修改HTML网页而不用面对大量的println语句。
3、与SSI相比,SSI无法使用表单数据,与数据库进行连接。
4、与JavaScript相比,虽然JavaScript可以在客户端动态生成HTML,但很难与服务器交互,不能提供复杂的服务,比如说访问数据库和图像处理等。
5、与静态HTML相比,静态HTML不包含动态信息。