วันนี้เรามาลุยเรื่อง 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");
ฝึกใช้กันเยอะๆ นะครับ เพราะเด๋วจะเจออีกเยอะครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น