JSP动态网页开拓技能概述

  在动态web项目标开拓中,常常需要动态生成HTML内容(如系统中的当前在耳目数需要动态生成)。假如利用Servlet实现HTML页面数据的统计,则需要利用大量的输出语句。同时,假如静态内容和动态内容殽杂在一起,那么也将导致措施很是臃肿。为了客服Servlet的这些缺点,Oracle(Sun)公司推出了JSP技能。

1.JSP概述

  JSP(Java Server Pages)是成立在Servlet类型之上的动态网页开拓技能,其实质是一个简化的Servlet。在JSP文件中,HTML和Java代码配合存在,个中,HTML代码用于实现网页中静态内容的显示,Java代码用于实现网页中动态内容的实现。为了和传统的HTML有所区别,JSP文件扩展名为jap。

  JSP技能所开拓的Web应用措施是基于Java的,其具有以下特征:

  (1)预编译

  预编译指在用户第一次通过欣赏器会见JSP页面时,处事器将对JSP页面代码举办编译,而且仅指向一次编译。编译好的代码将被生存,在用户下一次会见时会直接执行编译好的代码。这样不只节省了处事器的CPU资源,还大幅度晋升了客户端的会见速度。

  (2)业务代码相疏散

  在利用JSP技能开拓Web应用时,可以将界面的开拓和应用措施的开拓疏散。

  (3)组件重用

  JSP可以利用JavaBean编写业务组件,也就是利用一个JavaBean类封装业务处理惩罚代码可能将其作为一个数据存储模子,在JSP页面甚至整个项目中,都可以反复利用这个JavaBean,同时,JavaBean也可以应用带其他Java应用措施中。

  (4)跨平台

  由于JSP是基于Java语言的,它可以利用Java API,所有它也是跨平台的,可以应用与差异的系统,如Windows和Linux。

JSP 运行道理

  JSP的事情模式是请求/响应模式,客户端首先发出HTTP请求,JSP措施收到请求后将举办处理惩罚并返回处理惩罚功效。在一个JSP文件第一次请求时,JSP引擎(容器)把该JSP文件转化成一个Servlet,而这个引擎自己也是一个Servlet。

  JSP运行进程:
  (1)客户端发出请求,请求会见JSP文件。

  (2)JSP容器先将JSP文件转化成一个Java源文件(Java Servlet源措施),在转换进程中,假如发明JSP文件存在任何语法错误,则间断转换进程,并向处事器和客户端返回堕落信息。

  (3)假如转换乐成,则JSP容器会将生成的Java源文件编译成相应的字节码文件*.class。该class文件就是一个Servlet,Servlet容器会像处理惩罚其他Servlet一样处理惩罚它。

  (4)有Servlet容器加载转换后的Servlet类(class文件)建设该Servlet(JSP页面的转换功效)的实例,并执行Servlet的jspInit()要领。jspInit()要领在Servlet的整个生命周期只会执行一次。

  (5)执行jspService()要领处理惩罚客户端的请求。对付每一个请求,JSP容器城市建设一个新的线程处理惩罚它。假如多个客户端同时请求该JSP文件,则JSP容器会建设多个线程,使每一个客户端请求都对应一个线程。

  (6)假如JSP文件被修改了,则处事器将按照配置抉择是否对该文件从头举办编译,假如需要从头编译,则利用从头编译后的功效代替内存中的Servlet,并继承上述处理惩罚进程。需要留意的是,固然JSP效率很高,但在第一次挪用时往往需要转换和编译,所以会发生一些轻微的延迟。

  (7)假如系统呈现资源不敷等问题,JSP容器大概会以某种不确定的方法将Servlet从内存中移除,产生这种环境时,首先会挪用jspDestroy()要领,然后Servlet实例会被作为垃圾举办处理惩罚。

  (8)当请求处理惩罚完成后,响应工具由JSP容器吸收,并将HTML名目标响应信息送回客户端。

JSP动态网页开辟技术概述

  因此:欣赏器向处事器发送请求,不管会见的是什么资源啊,其实都是在会见Servlet,所有当会见一个jsp页面时,其实也是在会见一个Servlet,处事器在执行jsp的时候,首先把jsp翻译成一个Servlet,所有会见jsp时,其实不是在会见jsp,而是在会见jsp翻译事后的谁人Servlet。譬喻:

C1.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> This is my first JSP <% out.print("你好啊C1"); %> </body> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsddjf.html