jsp生命周期以及基本用法

<%@ page language="java" contentType="text/html;charset=utf-8"
   pageEncoding="utf-8"
   %>

<!-- 一个JSP页面相当于是一个Java的工作类 -->
<!-- JSP中&lt;%!和 %!的区别在于
  &lt;%!中可以定义方法、静态方法和静态属性以及
  属性等,但是&lt;%中不可以,而且%中的out指的
  并不是System.out而是PrintWriter写到页面的out
  实例对象-->
<html>
  <head>
    <title>JSP 实例的生命周期</title>
  </head>
  <body>
    <!--初始化测试变量,和类里面的域声明操作相同-->
    <!--注意这里使用&lt;%! -->
    <%!
    private int initVar=0;
    private int serviceVar=0;
    private int destoryVar=0;
    %>
    
    <%!
    int instanceVar=0;
    %>


    <!--_jspInit()初始化,对应servlet类中的_jspInit()-->
    <!注意这里使用&lt;%!-->
    <%!
    public void jspInit(){
      initVar++;
      System.out.println("jspInit(): JSP被初始化:"+initVar+"次");
    }
    %>

    <%!
    public String getName(){
      return "davidsu33";
    }
    %>
    
    <!注意这里使用&lt;%!-->
    <!--对应servlet类中的_jspDestory()-->
    <%!
    public void jspDestory(){
      destoryVar++;
      System.out.println("jspDestory(): JSP被销毁:"+destoryVar+"次");
      }
     %>
     
     <!--对应servlet类中的_jspService()-->
     <%
     //在_jspService中可以直接用out.println,但是在
     //_jspInit和_jspDestory中不行,为啥?
     serviceVar++;
     instanceVar++;
     //这里的out并不是System.out而是PrintWriter的一个实例对象
     //如果写成System.out.println则是将数据输出到了控制台
     out.println("_jspService():JSP共响应了"+serviceVar+"次请求");
     out.println("<br/>");
     out.println("JSP的作者是:" + getName());
     String c1 = "初始化次数:" + initVar;
     String c2 = "响应客户请求次数:"+serviceVar;
     String c3 = "销毁次数:"+destoryVar;
     String c4 = "InstanceVar:"+instanceVar;
     %>

     <h1>菜鸟教程 JSP实例测试</h1>
     <!--要注意的是&lt;%=中间不能有空格 -->
     <p><%=c1 %></p>
     <p><%=c2 %></p>
     <p><%= c3 %></p>
     <p><%= c4 %></p>
  </body>
</html>




      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章