วันอังคารที่ 26 มีนาคม พ.ศ. 2556

JAVAEE : Servlet Part 5 Scope

วันนี้เรามาลุยเรื่อง Scope กันเต็มตัวครับ เปรยมาสองตอนด้วยกัน

Scope เป็นศัพท์ที่ใช้เรียกขอบเขตของตัวแปรว่าค่าจะมีชีวิตอยู่ถึงตอนไหนกันแน่ครับ ซึ่งมีด้วยกัน 4 Scope

1. Page Scope
   page Scope เป็น Scope ที่เล็กที่สุดครับ ซึ่งค่าของตัวแปรที่อยู่ใน Scope นี้จะมีค่าอยู่แค่ในหน้าปัจจุบันเท่านั้นครับ
  การใช้งาน ผมเคยเห็นแต่ใน jsp ครับ
   - pageContext.setAttribute("name");
   - pageContext.getAttribute("name");

2. Request Scope
    request Scope เป็น Scope ที่ค่าจะอยู่จนกระทั้ง Request Life Cycle จบลง ใครจำไม่ได้ย้อนอ่านบทก่อนหน้าครับ ใช้บ่อยสุด หากทำตามรูปแบบ MVC ครับ
  - request.setAttrubute("name");
  - request.getAttribute("name");

3. Session Scope
    session Scope เป็น Scope ที่ใช้เก็บข้อมูลของผู้ใช้ เพราะจะอยู่จนกระทั่งปิด browser หรือเราลบออกไปครั
// In Servlet
   - request.getSession().setAttribute("name");
   - request.getSession().getAttribute("name");
   - request.getSession().removeAttribute("name");

// In Jsp
   - session.setAttribute("name");
   - session.getAttribute("name");
   - session.removeAttribute("name");

4. Application Scope
    application Scope ใหญ่มากๆ เพราะเป็นตัวแปรที่อยู่ในระดับของ application ซึ่งไม่เฉพาะของเราคนเดียว ใครก็ตามที่เข้ามาใน application เดียวกัน ก็จะเห็นค่าเดียวกันครับ ลองดูตัวนี้เจ๋งมาก ถึงจะไม่ค่อยได้ใช้ก็เถอะ

// In Servlet
  - request.getServletContext().setAttribute("name");
  - request.getServletContext().getAttribute("name");
  - request.getServletContext().removeAttribute("name");

// In Jsp
  - application.setAttribute("name");
  - application.getAttribute("name");
  - application.removeAttribute("name");

ฝึกใช้กันเยอะๆ นะครับ เพราะเด๋วจะเจออีกเยอะครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น