JSP的全称是Java Server Pages。它的本质其实就是Servlet,在运行的过程中会编译成Servlet代码。在JSP中可以访问数据库,记录用户的选择信息,访问JavaBean组件。
JSP与CGI的差别。一、性能更加优越,JSP可以直接在HTML网页中嵌入动态的元素,而不需要单独引用CGI文件。二、JSP是已经编译好的,持续运行的程序,一次载入可以服务多次请求,而CGI每次都要载入程序再执行,执行完成之后程序就退出了。三、Java是拥有强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等。四、JSP页面可以和servlet一起使用。
JSP处理流程。
JSP的生命周期和Servlet类似,只不过多了一个编译的过程。分为四个阶段:
JSP与CGI的差别。一、性能更加优越,JSP可以直接在HTML网页中嵌入动态的元素,而不需要单独引用CGI文件。二、JSP是已经编译好的,持续运行的程序,一次载入可以服务多次请求,而CGI每次都要载入程序再执行,执行完成之后程序就退出了。三、Java是拥有强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等。四、JSP页面可以和servlet一起使用。
JSP处理流程。
- 首先是服务器收到一个请求。服务器判断这个请求是JSP请求,因此将JSP传递给JSP引擎。
- JSP引擎从磁盘中读取JSP文件并将其转换成Servlet类。这种转换只是简单的把文本替换成println语句,将所有的JSP元素转换成Java代码。
- JSP引擎将Servlet类编译成字节码,然后将原始请求传递给Servlet引擎。
- Web服务器中的某个组件会调用Servlet引擎,然后载入并执行Servlet类。一个Servlet对象可以服务多次请求。
- 在执行的过程中,Servlet产生HTML格式的文本输出并将其存放在HTTP response中上交给服务器。
- Web服务器以静态的HTML网页形式将HTTP response返回到浏览器中。
JSP的生命周期和Servlet类似,只不过多了一个编译的过程。分为四个阶段:
- 编译阶段。Servlet容器将JSP编译成Servlet代码,再将Servlet编译成字节码。
- 初始化阶段。加载对应的Servlet类,调用jspInit()方法。
- 执行阶段。调用\_jspService()方法。
- 销毁阶段。调用jspDestroy()方法。