花了一下午的時間Debug一個Web問題,說是找不到bean,覺得還是列出Web解析過程以免忘記
1.Browser post(get)一個Reqest到後端Web Server.
2.Web Server擷取對映的JSP準備傳回
3.JSP先轉成servlet.java,過程中,<% %>都事先被讀取解析成java code,當然包括標籤如bean tag
  最後才把html的部分變成java code的out.println裡的內容
4.servlet.java編譯成class時若失敗,則只有.java檔
5.servlet.class編譯成功後,被Web Server載入初始化
6.Web Server再根據Browser的Request去調用servlet.class中的doPost或doGet
7.doPost或doGet則將out.println的內容轉成html格式傳至Browser
8.Browser收到html時先將Java Script裡的function內容抽出解析
9.最後再從頭依序解析html與不是function的script內容予以顯示
所以上面過程中就可能犯了以下錯誤:
1.在Java Script裡mark <% %>內容,基本上是無作用的
2.理論上有function的script會事先被Browser抽出,所以function不管位置在哪裡應都可以work,
  反而是呼叫function的位置,順序就很重要
arrow
arrow
    全站熱搜

    Jemmy 發表在 痞客邦 留言(0) 人氣()