JSP处理

来源:互联网 发布:淘宝代购链接怎么做 编辑:程序博客网 时间:2024/06/16 13:38

Web服务器是如何使用JSP来访问网页的:

   --和其他普通的网页一样,您的浏览器发送一个http请求给服务器

   --web服务器识别出这是一个对jsp网页的请求,并且将该请求传递给jsp引擎。通过使用URl或者.jsp文件来实现

   --jsp引擎从磁盘中载入jsp文件,然后将他们转化为 servlet。这种转化只是将所有模板文本改用println()语句,并且将所有的jsp元素转化为Java代码

   --JSP引擎将servlet编译成可执行类,并且将原始请求传递给servlet引擎。

   --Web服务器的某组件将会调用servlet引擎,然后载入并执行servlet类。在执行过程中,servlet产生HTML格式的输出并将其内嵌于HTTP response中上交给Web服务器。

   --Web服务器以静态HTML网页的形式将HTTP response返回到您的浏览器中

   --最终,Web浏览器处理HTTP response中动态产生的HTML网页,就好像在处理静态网页一样。


JSP生命周期

   --JSP编译:当浏览器请求jsp网页时,jsp引擎会先去检查是否需要编译这个文件,如果这个文件没有被编译过,或者这个文件编译后被修改了,则编译这个jsp文件。编译过程包括三个步骤:

     --解析jsp文件

      --将jsp文件转化为servlet

      --编译servlet

   --JSP初始化:容器载入jsp文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的jsp初始化任务,复写jspInit()方法就行了,如下

public void jspInit(){  // 初始化代码}
 一般来讲程序只初始化一次,servlet也是如此。通常情况下您可以在jspInit()方法中初始化数据库连接、打开文件和创建查询表。

  --JSP执行:这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。当JSP网页完成初始化后,JSP引擎将会调用_jspService()方法。_jspService()方法需要一个HttpServletRequest对象和一个HttpServletResponse对象作为它的参数,就像下面这样:

void _jspService(HttpServletRequest request,                 HttpServletResponse response){   // 服务端处理代码}


  --JSP清理:SP生命周期的销毁阶段描述了当一个JSP网页从容器中被移除时所发生的一切。jspDestroy()方法在JSP中等价servlet中的销毁方法。当您需要执行任何清理工作时复写jspDestroy()方法,比如释放数据库连接或者关闭文件夹等等。jspDestroy()方法的格式如下:

public void jspDestroy(){   // 清理代码}