jsp页面的相关复习

1.jsp页面的实质是一个Servlet,跟Servlet的周期一样子,同样子有init(),service(),destory()三种方法。在jsp页面用c标签或者<%...%>嵌入java代码,相当于在jsp页面生成的servlet中执行对应的代码。生成相应的html页面在前台展示出来

  语法:<%! ........%>则该代码servlet中被当做全局变量执行, <%=......%>被当做service()方法里面的变量执行。

  

<script>

 function loading()

{ document.write("JavaScript输出"); }

</script>
</head>
<!-- 这里的loading事件在页面加载完毕以后 -->
<body onLoad="loading()">
    <!-- 下面的代码直接在页面输出jsp输出 -->
    <%="jsp输出"%>
    <%-- <%! int a=0; %>  
    <%  
        int b=0;  
        a++;  
        b++;  
    %>  
    a:<%=a %><br>  
    b:<%=b %> --%>  
</body>

下面代码打开后,a随刷新次数逐渐增加,b的值不变化

2.jsp页面的加载顺序:

  

<script>  
    //执行顺序4. 这个是整个页面加载完毕后再执行  
    /* document.onload(function(){  */       
        /**jsp表达式赋值**/  
       /*  alert("444"+test1);               
        alert("444"+test2);  
  
    });   */
  
    //在js里,执行顺序1,这块代码先执行  
    var test1= "<%=request.getAttribute("test1")%>";  
    var test2= "<%=request.getAttribute("test2")%>";  
    alert("111" + test1);  
    alert("111" + test2);  
  
<%   
    request.setAttribute("test2", "333");  
%>  
</script>  
</head>
<body>
     <!-- 执行顺序2 -->  
    <p>222</p>  
</body>
<script>   
    //执行顺序3  
    alert("333" + test1);  
    alert("333" + test2);  
</script>  

代码的执行顺序如上面所示:执行结果依次alert:

111222

111null

333222

333null

(由于自己document.onload()写错,暂时不管随后补充),由此可以看出执行的顺序是先执行java代码,补充页面,然后按html执行的顺序执行页面代码。这里看出补充代码后,由于request.getAttribute("test2")在开始的时候还没有设定值,所以,执行var test2结果为null

posted @ 2017-10-31 19:53  小飞vsKK  阅读(148)  评论(0)    收藏  举报