Implicit Object ในภาษา JSP (Java Server Pages)
ข่าวสาร
เริ่มต้นใช้งานFacebook ทำความรู้จักเฟสบุ๊ค ตอนที่1
เริ่มต้นใช้งานFacebook ทำความรู้จักเฟสบุ๊ค ตอนที่1
   เฟสบุ๊ค Facebook จัดว่าเป็นเว็บไซต์โซเชียลเน็ตเวิร์ดอันดับต้นๆที่มีคนใช้งานเป็นจำนวนมาก เรียกว่าเป็นโลกแห่งสังคมออนไลน์ที่มีผู้คนหลากหลายเชื้อชาติศาสนา
Instagram แอพพลิเคชั่นแชร์ภาพออนไลน์| Android Apps
Instagram แอพพลิเคชั่นแชร์ภาพออนไลน์| Android Apps
   แอพพลิเคชั่นInstagram เปิดให้ดาวน์โหลดฟรีโดยAndroid Apps โดยถือเป็นแอพพลิเคชั่นแชร์ภาพถ่ายในแต่ละช่วงเวลา รวมทั้งติดตามภาพถ่ายของเพื่อนๆ
Autodesk Pixlr – photo editor ตกแต่งภาพถ่าย | Android Apps
Autodesk Pixlr – photo editor ตกแต่งภาพถ่าย | Android Apps
   แอพพลิเคชั่นAutodesk Pixlr – photo editor แอพฟรีจากAndroid Appsที่จะพาคุณไปตกแต่งภาพอย่างมีประสิทธิภาพ ด้วยฟังก์ชั่นต่างๆดังนี้Make Beautiful Collages
ไวรัสคอมพิวเตอร์ (Computer Virus)
ไวรัสคอมพิวเตอร์ (Computer Virus)
   เป็นโปรแกรมชนิดหนึ่งที่ถูกเขียนขึ้นโดยมีจุดมุ่งหมายที่จะสร้างผลลัพธ์อันไม่พึงประสงค์ ให้กับคอมพิวเตอร์ที่เรียกใช้โปรแกรมนี้
รับแปลรายงานประจำปี
รับแปลรายงานประจำปี
   รับแปลรายงานประจำปี โดยบริษัททีไอเอสผู้เชี่ยวชาญด้านการรับแปลภาษา เปิดดำเนินการมามากกว่า10ปี ซึ่งมีนักแปลที่เชี่ยวชาญในการรับแปลเอกสาร
โน๊ตบุ๊ค รุ่นต่างๆ กล้องประเภทต่างๆ

วีดีโอน่ารู้ : โปรเจคคำนวณค่าไฟฟ้า Project PHP


แจกโปรเจคPHPฟรี
การเขียนโปรแกรม >> ภาษา JSP >> Implicit Object ในภาษา JSP (Java Server Pages)

Implicit Object ในภาษา JSP (Java Server Pages) 

Implicit Object ในภาษา JSP (Java Server Pages)

อัพเดทวันที่: 13 ก.พ. 2557

วีดีโอน่ารู้ : โปรเจคคำนวนเงินทอนว่าต้องมีธนบัตร Project PHP


Implicit Object คือ ออปเจ็คที่ Web container เป็นผู้ประกาศขึ้นและกำหนดค่าเริ่มต้นให้เรียบร้อยแล้ว สามารถเรียกใช้งานได้ทันทีโดยไม่ต้องประกาศออบเจ็คขึ้นมาก่อน

Implicit Object  มีทั้งหมด 9 ตัว คือ application , config, exception, out, page, pageContext, request, response และsession

ขอบเขต(Scope)ของ Implicit object  แบ่งออกเป็น 4 ขอบเขต คือ

1.Application scope 
      -ออปเจ็ค application เป็น implicit object ที่อยู่ในขอบเขตนี้
      -เป็นขอบเขตภายใน web application เดียวกัน หมายถึง ออบเจ็คที่อยู่ในขอบเขตนี้จะถูกใช้งานได้เฉพาะภายใน web application เดียวกันเท่านั้น
      -ขอบเขตของ application scope จะสิ้นสุดลงเมื่อ web server ถูกปิดการทำงานลง (Tomcat ถูก shutdown)

2.Page scope
      -ออบเจ็ค config, exception, out, page, pageContext, response เป็น implicit object ที่อยู่ในขอบเขตนี้
      -เป็นขอบเขตภายใน page เดียวกัน ออบเจ็คที่อยู่ในขอบเขตนี้จะถูกใช้งานได้เฉพาะภายใน page ของมันเองเท่านั้น จะนำไปใช้งานนอก page ที่กำหนดมันขึ้นไม่ได้

3.Request scope
       -ออบเจ็ค request เป็น implicit object ที่อยู่ในขอบเขตนี้
       -เป็นขอบเขตภายใน request หนึ่งๆ ออกเจ็คที่อยู่ในขอบเขตนี้จะถูกใช้งานได้เฉพาะใน request หนึ่งๆ เท่านั้น โดยเมื่อ request นั้นได้รับ response กลับมาแล้วออกเจ็คจะใช้งานไม่ได้อีกต่อไป

4.Session scope
       -Session เป็น implicit object ที่อยู่ในขอบเขตนี้
       -เป็นขอบเขตของข้อมูลภายใน session หนึ่งๆ ออบเจ็คที่อยู่ในขอบเขตนี้จะถูกใช้งานได้เฉพาะภายใน session หนึ่งๆเท่านั้น หาก session ถูกปิดลงก็จะใช้งานออกเจ็คไม่ได้อีกต่อไป

Implicit object

Implicit object รายละเอียด
application เป็นออบเจ็ดที่ implement เมธอดจากอินเทอร์เฟส javax.servlet.ServletContext
config เป็นออบเจ็ดที่ implement เมธอดจากอินเทอร์เฟส javax.servlet.ServletConfig
exception เป็นออบเจ็คของคลาส java.lang.Throwable
out เป็นออบเจ็คของคลาส javax.servlet.jsp.JspWriter
page เป็นออบเจ็คของคลาส java.lang.Object
pageContext เป็นออบเจ็คของคลาส javax.servlet.jsp.PageContext
request เป็นออบเจ็คที่ implement เมธอดอินเทอร์เฟส javax.servlet.http.HttpServletRequest
response เป็นออบเจ็คที่ implement เมธอดจากอินเทอร์เฟส javax.servlet.http.HttpServletResponse
session เป็นออบเจ็คที่ implement เมธอดจากอินเทอร์เฟส javax.servlet.http.HttpSession

หมายเหตุ   สามารถเรียกใช้งาน implicit object ได้จากทุกส่วนของโปรแกรมภาษา JSP ยกเว้นในส่วนของแท็ก declaration <%!   %>  

ออปเจ็ค Application

สามารถนำออปเจ็ค application มาใช้สำหรับ share ข้อมูลระหว่าง page ต่างๆ ของ JSP ซึ่งอยู่ภายใน web application เดียวกัน โดยสามารถเก็บออปเจ็คไว้ในไฟล์ JSP หนึ่งและออปเจ็คนั้นจะถูกเรียกใช้งานโดยไฟล์ JSP อีกไฟล์หนึ่งด้วยชื่อเดียวกัน เพื่อดึงเอาข้อมูลจากออปเจ็คนั้นออกมา

ออปเจ็ค Config

ออปเจ็ค config ประกอบด้วยเมธอดที่ใช้สำหรับดึงค่าเริ่มต้นต่างๆ ของ servlet ออกมาจากค่า config ใน DD  DD(Deployment Descriptor) ก็คือ XML ไฟล์ที่กำหนดการ deploy Servlet สำหรับ web container หรือ DD ก็คือ web.xml

ออปเจ็ค exception

การจัดการกับข้อผิดพลาดที่เกิดขึ้นใน JSP ได้คือ ทำการเขียน error page ขึ้นมาโดยใช้ page directive ระบุแอตทริบิวต์ errorPage ให้กับ page ที่ก่อให้เกิด exception และระบุแอตทริบิวต์ isErrorPage ให้กับ page ที่จะจัดการกับ exception ที่ถูกโยนมาจาก page อื่น

ออปเจ็ค exception จะใช้งานได้กับ page ที่ระบุแอตทริบิวต์ isErrorPage ของ page directive เป็น true เท่านั้น
(การจัดการข้อผิดพลาด)

ออปเจ็ค out

สามารถใช้เมธอด println ในออปเจ็ค out เพื่อส่งข้อมูลผ่าน output stream ไปแสดงผลบนบราวเวอร์ของ client โดยที่ไม่ต้องประกาศออปเจ็ค out ขึ้นมาก่อน

ออปเจ็ค page

คือออปเจ็คที่ใช้อ้างอิงตัวของ JSP เอง

ตัวอย่างการ ใช้ page directive กำหนดค่าแอตทริบิวต์ info เป็น “JSP Simplified to create dynamic  web content” สามารถดึงค่าแอตทริบิวต์ info ออกมาได้ ดังนี้
<%=((javax.servlet.jsp.HttpJspPage)page). getServletInfo() %>

ออปเจ็ค pageContext

ออปเจ็ค pageContext ประกอบด้วยเมธอดที่สามารถใช้อ้างอิงไปยัง implicit object ตัวอื่นได้ ดังตาราง

เมธอด

Implicit object ที่อ้างอิงได้

getOut()

out

getException()

exception

getPage()

page

getRequest()

request

getResponse()

response

getServletConfig()

config

getServletContext()

application

getSession

session

ปกติเวลาส่งข้อมูลไปแสดงผลบนเว็บบราวเซอร์ของ client จะเรียกใช้เมธอด println ในออปเจ็ค out ดังนี้
   <% out.print(“Test”); %>

แต่เนื่องจากออปเจ็ค pageContext มีเมธอดสำหรับอ้างอิงไปยัง implicit object ตัวอื่นได้ ดังนั้นหากจะอ้างอิงไปยังออปเจ็ค out สามารถใช้วิธีเรียกเมธอด getOut ในออปเจ็ค pageContext ได้ดังนี้
    <% pageContext.getOut().print(“Test”); %>

ออปเจ็ค pageContext สามารถกำหนดขอบเขตข้อมูลที่จะ share ได้ว่าต้องการให้ข้อมูลถูกจำกัดการใช้งานอยู่ในขอบเขตใด เช่น 

<% pageContext.setAttribute(“banner”,”JSP”,PageContext.PAGE_SCOPE);  %> 
หมายถึงออปเจ็ค banner ซึ่งมีค่าเป็น JSP จะถูกเรียกใช้งานได้เฉพาะภายใน page หนึ่งๆ เท่านั้น

<% pageContext.setAttribute(“banner”, “JSP”,PageContext.APPLICATION_SCOPE);  %>
หมายถึงออปเจ็ค banner ซึ่งมีค่าเป็น JSP จะถูกเรียกใช้งานได้เฉพาะภายใน web application เดียวกันกับ page ที่กำหนดออปเจ็ค banner ขึ้น

<% pageContext.setAttribute(“banner”, “JSP”,PageContext.SESSION_SCOPE);  %>
หมายถึงออปเจ็ค banner ซึ่งมีค่าเป็น JSP จะถูกเรียกใช้งานได้เฉพาะภายใน session หนึ่งๆเท่านั้น ซึ่งหาก session ถูกปิดลงเมื่อใด ออปเจ็ค banner ก็จะใช้งานไม่ได้อีกต่อไป

<% pageContext.setAttribute(“banner”, “JSP”,PageContext.REQUEST_SCOPE);  %>
หมายถึงออปเจ็ค banner ซึ่งมีค่าเป็น JSP จะถูกเรียกใช้งานได้เฉพาะภายใน request หนึ่งๆ เท่านั้น

<% pageContext.setAttribute(“banner”, “JSP”);  %>
การไม่ระบุขอบเขต จะหมายถึงเป็นขอบเขตของ PAGE_SCOPE

ออปเจ็ค request

เมื่อ client ส่ง request เข้ามา  request นั้น จะถูกส่งมาที่ออบเจ็คนี้ โดยออบเจ็คนี้จะถูกส่งเป็นพารามิเตอร์ไปยังเมธอด _jspService อีกที่หนึ่ง  ความสามารถของออบเจ็คนี้ เช่น สามารถอ่านค่า HTTP header ได้  สามารถดึงค่าพารามิเตอร์ของ request ที่ส่งเข้ามาได้ รวมถึงสามารถดึงค่า request method ได้

ออปเจ็ค response

เป็นออปเจ็คที่ใช้ส่ง response กลับไปยัง client โดยออปเจ็คนี้จะถูกส่งเป็นพารามิเตอร์ไปยังเมธอด _jspService เช่นเดียวกับออบเจ็ค request  ความสามารถของออปเจ็คนี้เช่น  สามารถเซ็ต MIME type(content type) และ content length ได้สามารถเซ็ต HTTP header เป็นต้น

ออปเจ็ค session

Session เป็นสิ่งที่จะถูกสร้างขึ้นเมื่อมี client ส่ง request เข้ามายัง web server โดยเมื่อ web server ได้รับ request แล้ว web server ก็จะสร้าง session ID ขึ้นมาให้กับ client นั้นๆ เพื่อให้เป็นหมายเลขประจำตัวของ client ในการที่จะติดต่อกับ web server ซึ่งจัดการกับ session ต่างๆ ของ client จะใช้ออปเจ็ค session เป็นตัวจัดการ

Tag : Implicit Object ขอบเขต(Scope) Application scope Page scope Request scope Session scope

หน้าหลัก
ความตั้งใจ
กว่าจะเป็นเว็บไซต์
แผนผังเว็บไซต์

คุยกับผู้ทำเว็บไซต์
-เริ่มต้นสาขาวิทยาการคอมพิวเตอร์
ติดตามข่าวสาร กด Like เลย
เกี่ยวกับเรา
e-mail : support@rangforever.com


ได้รับการสนับสนุนโดย


----
รวบรวมข่าวสารไอที เทคนิคการเขียนโปรแกรมภาษาphp css javascript jsp c# แจกโปรแกรมที่เขียน แจกระบบ แจกโค้ดฟังก์ชันต่างๆ สอนการใช้งานโปรแกรมออฟฟิศ word excel โปรแกรมตกแต่ง ตัดต่อ สร้างภาพ adobe photoshop adobe Illustrater จัดเต็มกับความรู้ในเนื้อหาโปรแกรมเมอร์แบบเจาะลึก พร้อมวีดีโอสอนการใช้งานโปรแกรม การเขียนโปรแกรม เพิ่มความรู้ ปูทักษะการเขียนโปรแกรมแบบฟรีๆ พร้อมเรียนรู้ไปกับเราได้ที่ www.rangforever.com