อ็อบเจ็กต์โดยนัยของ JSP คืออ็อบเจ็กต์ Java ที่จัดทำโดยคอนเทนเนอร์ JSP สำหรับแต่ละเพจ นักพัฒนาสามารถใช้อ็อบเจ็กต์เหล่านั้นได้โดยตรงโดยไม่ต้องมีการประกาศอย่างชัดเจน อ็อบเจ็กต์โดยนัยของ JSP เรียกอีกอย่างว่าตัวแปรที่กำหนดไว้ล่วงหน้า
อ็อบเจ็กต์โดยนัยเก้าอ็อบเจ็กต์ที่สนับสนุนโดย JSP:
วัตถุ | อธิบาย |
---|---|
ขอ | อินสแตนซ์ของคลาส HttpServletRequest |
การตอบสนอง | อินสแตนซ์ของคลาส HttpServletResponse |
ออก | อินสแตนซ์ของคลาส PrintWriter ใช้เพื่อแสดงผลผลลัพธ์ไปยังเว็บเพจ |
การประชุม | อินสแตนซ์ของคลาส HttpSession |
แอปพลิเคชัน | อินสแตนซ์ของคลาส ServletContext ที่เกี่ยวข้องกับบริบทของแอปพลิเคชัน |
กำหนดค่า | อินสแตนซ์ของคลาส ServletConfig |
บริบทของหน้า | อินสแตนซ์ของคลาส PageContext ที่ให้การเข้าถึงอ็อบเจ็กต์และเนมสเปซทั้งหมดของเพจ JSP |
หน้าหนังสือ | คล้ายกับคีย์เวิร์ดนี้ในคลาส Java |
ข้อยกเว้น | อ็อบเจ็กต์ของคลาส Exception แสดงถึงอ็อบเจ็กต์ข้อยกเว้นที่สอดคล้องกันในหน้า JSP ที่เกิดข้อผิดพลาด |
วัตถุคำขอเป็นอินสแตนซ์ของคลาส javax.servlet.http.HttpServletRequest เมื่อใดก็ตามที่ไคลเอนต์ร้องขอเพจ JSP กลไก JSP จะสร้างออบเจ็กต์คำขอใหม่เพื่อเป็นตัวแทนของคำขอ
วัตถุคำขอมีชุดวิธีการเพื่อรับข้อมูลส่วนหัว HTTP, คุกกี้, วิธี HTTP ฯลฯ
อ็อบเจ็กต์การตอบสนองเป็นอินสแตนซ์ของคลาส javax.servlet.http.HttpServletResponse เมื่อเซิร์ฟเวอร์สร้างออบเจ็กต์คำขอ เซิร์ฟเวอร์จะสร้างออบเจ็กต์ตอบกลับเพื่อตอบสนองต่อไคลเอ็นต์ด้วย
วัตถุตอบสนองยังกำหนดอินเทอร์เฟซสำหรับการประมวลผลโมดูลส่วนหัว HTTP ผ่านออบเจ็กต์นี้ นักพัฒนาสามารถเพิ่มคุกกี้ใหม่ การประทับเวลา รหัสสถานะ HTTP ฯลฯ
อ็อบเจ็กต์ out เป็นอินสแตนซ์ของคลาส javax.servlet.jsp.JspWriter และใช้เพื่อเขียนเนื้อหาในอ็อบเจ็กต์ตอบกลับ
อ็อบเจ็กต์คลาส JspWriter เริ่มต้นดำเนินการสร้างอินสแตนซ์ที่แตกต่างกัน ขึ้นอยู่กับว่าเพจถูกแคชไว้หรือไม่ การแคชสามารถปิดได้อย่างง่ายดายโดยใช้แอตทริบิวต์ buffered='false' ในคำสั่งหน้า
คลาส JspWriter มีเมธอดส่วนใหญ่ในคลาส java.io.PrintWriter อย่างไรก็ตาม JspWriter ได้เพิ่มวิธีการใหม่บางอย่างที่ออกแบบมาเพื่อจัดการแคชโดยเฉพาะ นอกจากนี้คลาส JspWriter จะส่ง IOExceptions แต่ PrintWriter จะไม่ส่ง
ตารางต่อไปนี้แสดงวิธีการสำคัญที่เราจะใช้ส่งออกข้อมูลบูลีน, ถ่าน, int, ดับเบิล, สตริง, อ็อบเจ็กต์ และข้อมูลประเภทอื่นๆ:
วิธี | อธิบาย |
---|---|
out.print(dataType dt) | ค่าประเภทเอาต์พุต |
out.println(dataType dt) | ส่งออกค่าของ Type type แล้วตัดบรรทัด |
ออก.ล้าง() | ล้างกระแสเอาต์พุต |
วัตถุเซสชันเป็นอินสแตนซ์ของคลาส javax.servlet.http.HttpSession มีพฤติกรรมเหมือนกับวัตถุเซสชันใน Java Servlets
วัตถุเซสชันใช้เพื่อติดตามเซสชันระหว่างคำขอของลูกค้า
วัตถุแอปพลิเคชันล้อมรอบวัตถุของคลาส ServletContext ของเซิร์ฟเล็ตโดยตรงและเป็นอินสแตนซ์ของคลาส javax.servlet.ServletContext
อ็อบเจ็กต์นี้แสดงถึงเพจ JSP ตลอดวงจรการใช้งานทั้งหมด อ็อบเจ็กต์นี้ถูกสร้างขึ้นเมื่อเพจ JSP ถูกเตรียมใช้งาน และถูกลบออกเมื่อเรียกใช้เมธอด jspDestroy()
โดยการเพิ่มคุณสมบัติให้กับแอปพลิเคชันของคุณ คุณสมบัติเหล่านี้จะสามารถเข้าถึงไฟล์ JSP ทั้งหมดที่ประกอบขึ้นเป็นเว็บแอปพลิเคชันของคุณ
อ็อบเจ็กต์การกำหนดค่าเป็นอินสแตนซ์ของคลาส javax.servlet.ServletConfig ซึ่งล้อมรอบอ็อบเจ็กต์ของคลาส ServletConfig ของเซิร์ฟเล็ตโดยตรง
ออบเจ็กต์นี้อนุญาตให้นักพัฒนาเข้าถึงพารามิเตอร์การเริ่มต้นของเอ็นจิ้น Servlet หรือ JSP เช่น เส้นทางไฟล์ ฯลฯ
ต่อไปนี้คือวิธีการใช้วัตถุการกำหนดค่า ซึ่งไม่สำคัญมากนัก ดังนั้นจึงไม่ค่อยมีการใช้กันโดยทั่วไป:
config.getServletName();โดยส่งคืนชื่อเซิร์ฟเล็ตที่มีอยู่ในองค์ประกอบ <servlet-name> โปรดทราบว่าองค์ประกอบ <servlet-name> ถูกกำหนดไว้ในไฟล์ WEB-INFweb.xml
อ็อบเจ็กต์ pageContext เป็นอินสแตนซ์ของคลาส javax.servlet.jsp.PageContext และใช้เพื่อแสดงเพจ JSP ทั้งหมด
ออบเจ็กต์นี้ใช้เพื่อเข้าถึงข้อมูลเพจเป็นหลักในขณะที่กรองรายละเอียดการใช้งานส่วนใหญ่ออกไป
วัตถุนี้เก็บการอ้างอิงไปยังวัตถุคำขอและวัตถุตอบสนอง วัตถุแอปพลิเคชัน วัตถุการกำหนดค่า วัตถุเซสชัน และวัตถุออกสามารถส่งออกได้โดยการเข้าถึงคุณสมบัติของวัตถุนี้
ออบเจ็กต์ pageContext ยังมีข้อมูลคำแนะนำที่ส่งไปยังเพจ JSP รวมถึงข้อมูลแคช URL หน้าข้อผิดพลาด ขอบเขตของหน้า ฯลฯ
คลาส PageContext กำหนดฟิลด์บางฟิลด์ รวมถึง PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE และ APPLICATION_SCOPE นอกจากนี้ยังมีวิธีการมากกว่า 40 วิธี ซึ่งครึ่งหนึ่งสืบทอดมาจากคลาส javax.servlet.jsp.JspContext
หนึ่งในวิธีการที่สำคัญคือ RemoveArribute() ซึ่งยอมรับพารามิเตอร์หนึ่งหรือสองตัว ตัวอย่างเช่น pageContext.removeArribute("attrName") จะลบแอตทริบิวต์ที่เกี่ยวข้องในขอบเขตสี่ขอบเขต แต่วิธีการต่อไปนี้จะลบเฉพาะแอตทริบิวต์ที่เกี่ยวข้องในขอบเขตที่ระบุเท่านั้น:
pageContext.removeAttribute("attrName", PAGE_SCOPE);วัตถุนี้มีการอ้างอิงถึงอินสแตนซ์ของหน้า ถือได้ว่าเป็นตัวแทนของเพจ JSP ทั้งหมด
วัตถุหน้าเป็นคำพ้องสำหรับวัตถุนี้
วัตถุข้อยกเว้นตัดข้อมูลข้อยกเว้นที่ส่งมาจากหน้าก่อนหน้า มักใช้เพื่อสร้างการตอบสนองที่เหมาะสมต่อสภาวะข้อผิดพลาด