รับทำเว็บไซต์ครบวงจร
เลือกภาษา Thai English     facebook
รายการหลัก



บทความ


Page Ranking Tool

JSP Lifecycle


สอน JSP
> JSP Lifecycle


     ในวงจรชีวิตของเอกสาร JSP นับตั้งแต่เกิดการ request เอกสารจนถึงการ
ตอบสนองกลับ จากเซิร์ฟเวอร์นั้น JSP Engine จะใช้เมธอดสามตัวคือ jsplnit() ,
jspDestroy() และ jspService() เพื่อจัดการกับเอกสาร JSP เมธอดทั้งสามตัวนี้จะ
เกิดขึ้นในขั้นตอนที่สี่ ซึ่งเอกสาร JSP จะถูกแปลงเป็น Servlet และมีการแทรก
เมธอดต่อไปนี้เข้าไป
Note :
          JSP กำหนดไว้ว่า ห้ามตั้งชื่อตัวแปรหรือเมธอดใดที่ขึ้นต้นด้วย jsp ,_ jsp ,
jspx และ _jspx หากตั้งชื่อซ้ำจะทำให้โปรแกรมทำงานผิดพลาด
jsplnit()
         เมธอดนี้จะทำงานเพียงครั้งเดียวเมื่อมีการเรียกเอกสาร JSP และจะทำ
งานเสร็จก่อนที่จะทำตาม request ที่เกิดขึ้น ประโยชน์ของเมธอดนี้ทำให้ผู้เขียน
โปรแกรมสามารถกำหนดค่าเริ่มต้นให้กับตัวแปรหรือออบเจ็กต์ต่างๆ ได้ เช่น เชื่อมต่อฐานข้อมูล

jspService()
         เมธอดหลักที่ใช้คือ _jspService เมธอดนี้จะถูกสร้างและจัดกรโดย JSP
Engine เอง โดยผู้เขียนโปรแกรมจะไม่สามารถเกี่ยวข้องได้ หน้าที่หลักของเมธอด
ตัวนี้จะทำงานต่างๆที่ผู้เขียนโปรแกรมได้เขียนไว้ในเอกสาร JSP

jspDestroy()
         เมื่อ Servlet ถูกโหลดออกจากหน่วยความจำ เมธอดนี้ก็จะถูกเรียกเพื่อ
ทำงาน แต่เวลาที่จะเริ่มทำงานนั้นยจะไม่แน่นอนเพราะจะทำหลังจากโพรเซส
อื่นทำงานหมดแล้ว หากเกิดการผิดพลาดของโพรเซสอื่นซึ่งทำให้เซิร์ฟเวอร์
เกิดปัญหาขึ้น เมธอดนี้ก็จะไม่ทำงาน ประโยชน์ของเมธอดนี้ก็เพื่อคืนทรัพยากร
ต่างๆที่ได้จองไว้ เช่น ปิดการเชื่อต่อกับฐานข้อมูล เป็นต้น
         ในขั้นตอนที่สี่นั้นผลลัพธ์ที่ได้จะออกมาหน้าตาเป็นอย่างไร สมมุติว่าเอกสาร
JSP ที่ร้องขอไปมีโค้ดเป็นดังนี้

<%!
Public void jspInit() {
// Read ค่า Counter
}
public void jspDestroy() {
// เพิ่มค่า Counter ขึ้น 1
}

%>

<HTML>
<BODY>
<% out.print(Counter); %>
</BODY>
</HTML>

         ผลลัพธ์หลังจากแปลงโคดแล้วจะออกมาเป็น Servlet แบบนี้(โค้ดที่แสดง
ให้ดูเป็นเพียงฉบับย่อที่ตัดมา หากเป็นฉบับโค้ดเต็มจะมีส่วนประกอบอื่นที่ยาว
และซับซ้อนมากกว่านี้)

Import javax.Servlet.*;
Public classname extend HttpJspBase {
         Public init(){
         // Read ค่า Counter
         }
         public service() {
                  out.write(Counter);
         }

         public detroy() {
         // เพิ่มค่า Counter ขึ้น1
         }
}



Short URL click!
<< กลับคืน : เข้าชม 5,505 ครั้ง : ขึ้นไปด้านบน

รับทำเว็บไซต์ รับสร้างเว็บไซต์ รับออกแบบเว็บ รับเขียนเว็บ รับสอนทำเว็บ รับเช่า hosting รับเช่าพื้นที่เว็บไซต์ จดชื่อเว็บ รับโปรโมทเว็บไซต์ รับดูแลเว็บ SiteMap
สปริงเกอร์http://www.xn--22c2c4blb9n.xn--o3cw4h/