1. วัตถุหน้า
อ็อบเจ็กต์เพจแสดงถึง JSP เอง และแม่นยำยิ่งขึ้นคือแสดงถึง Servlet ที่แปลแล้วของ JSP ซึ่งสามารถเรียกเมธอดที่กำหนดโดยคลาส Servlet
2. กำหนดค่าวัตถุ
วัตถุ config เก็บโครงสร้างข้อมูลเริ่มต้นของ Servlet บางส่วน
ออบเจ็กต์การกำหนดค่าถูกนำไปใช้ในอินเทอร์เฟซ javax.servlet.ServletConfig ซึ่งมีสี่วิธีต่อไปนี้:
สตริงสาธารณะ getInitParameter (ชื่อ)
java.util.Enumeration getInitParameterNames( ) สาธารณะ
ServletContext สาธารณะ getServletContext()
public Sring getServletName()
3. ร้องขอวัตถุ
ออบเจ็กต์คำขอประกอบด้วยข้อมูลที่ร้องขอทั้งหมด เช่น แหล่งที่มาของคำขอ ส่วนหัว คุกกี้ ค่าพารามิเตอร์ที่เกี่ยวข้องกับคำขอ เป็นต้น
ออบเจ็กต์คำขอใช้อินเทอร์เฟซ javax.servlet.http.HttpServletRequest และวิธีการที่ให้ไว้สามารถแบ่งออกเป็นสี่ประเภท:
1. วิธีการจัดเก็บและรับคุณลักษณะ
เป็นโมฆะ setAttribute (ชื่อสตริง, ค่าวัตถุ) ตั้งค่าของแอตทริบิวต์ชื่อเป็นค่า
การแจงนับ getAttributeNamesInScope(ขอบเขต int) รับแอตทริบิวต์ของขอบเขตทั้งหมด
วัตถุ getAttribute(ชื่อสตริง) รับค่าของแอตทริบิวต์ชื่อ
void removeAttribute(String name) ลบค่าของแอตทริบิวต์ name
2. วิธีการรับพารามิเตอร์คำขอ
String getParameter(ชื่อสตริง) รับค่าพารามิเตอร์ของชื่อ
การแจงนับ getParameterNames() รับชื่อพารามิเตอร์ทั้งหมด
String [] getParameterValues(ชื่อ String) รับค่าพารามิเตอร์ของชื่อทั้งหมด
Map getParameterMap() รับแผนที่ที่ต้องใช้พารามิเตอร์
3. วิธีการขอรับส่วนหัว HTTP คำขอ
String getHeader(ชื่อสตริง) รับส่วนหัวของชื่อ
การแจงนับ getHeaderNames() รับชื่อส่วนหัวทั้งหมด
การแจงนับ getHeaders(ชื่อสตริง) รับส่วนหัวของชื่อทั้งหมด
int getIntHeader(ชื่อสตริง) รับส่วนหัวของชื่อประเภทจำนวนเต็ม
long getDateHeader(ชื่อสตริง) รับส่วนหัวของชื่อประเภทวันที่
คุกกี้ [] getCookies() รับคุกกี้ที่เกี่ยวข้องกับคำขอ
4. วิธีการอื่นๆ
สตริง getContextPath() รับเส้นทางบริบท (เช่น ชื่อไซต์)
สตริง getMethod() รับวิธี HTTP (GET, POST)
String getProtocol() รับโปรโตคอลที่ใช้ (HTTP/1.1, HTTP/1.0)
สตริง getQueryString() รับสตริงพารามิเตอร์ของการร้องขอ อย่างไรก็ตาม วิธี HTTP จะต้องเป็น GET
สตริง getRequestedSessionId() รับรหัสเซสชันของไคลเอ็นต์
สตริง getRequestURI() รับ URL ที่ร้องขอ แต่ไม่รวมสตริงพารามิเตอร์คำขอ
สตริง getRemoteAddr() รับที่อยู่ IP ของผู้ใช้
สตริง getRemoteHost() รับชื่อโฮสต์ของผู้ใช้
int getRemotePort() รับพอร์ตโฮสต์ของผู้ใช้
สตริง getRemoteUser() รับชื่อผู้ใช้
void etCharacterEncoding(การเข้ารหัสสตริง) กำหนดรูปแบบการเข้ารหัสเพื่อแก้ปัญหาการส่งสัญญาณภาษาจีนในรูปแบบ
4. วัตถุตอบสนอง
ออบเจ็กต์การตอบสนองจะส่งผลลัพธ์ของการประมวลผลข้อมูล JSP กลับไปยังไคลเอนต์เป็นหลัก
วัตถุตอบสนองใช้อินเทอร์เฟซ javax.servlet.http.HttpServletResponse วิธีการจัดทำโดยวัตถุตอบสนอง
1. วิธีการตั้งค่าส่วนหัว
เป็นโมฆะ addCookie(คุกกี้คุกกี้) เพิ่มคุกกี้
เป็นโมฆะ addDateHeader (ชื่อสตริง, วันที่แบบยาว) เพิ่มค่าแบบยาวให้กับส่วนหัวของชื่อ
เป็นโมฆะ addHeader (ชื่อสตริง ค่าสตริง) เพิ่มค่าประเภทสตริงให้กับส่วนหัวของชื่อ
เป็นโมฆะ addIntHeader (ชื่อสตริง, ค่า int) เพิ่มค่าประเภท int ให้กับส่วนหัวของชื่อ
เป็นโมฆะ setDateHeader (ชื่อสตริง วันที่แบบยาว) ระบุค่าแบบยาวให้กับส่วนหัวของชื่อ
เป็นโมฆะ setHeader (ชื่อสตริง ค่าสตริง) ระบุค่าชนิดสตริงให้กับส่วนหัวของชื่อ
เป็นโมฆะ setIntHeader (ชื่อสตริง, ค่า int) ระบุค่าของประเภท int ไปยังส่วนหัวของชื่อ
2. วิธีตั้งรหัสสถานะการตอบกลับ
เป็นโมฆะ sendError (int sc) ส่งรหัสสถานะ (รหัสสถานะ)
void sendError(int sc, String msg) ส่งรหัสสถานะและข้อมูลข้อผิดพลาด
เป็นโมฆะ setStatus(int sc) ตั้งรหัสสถานะ
3. วิธีการใช้สำหรับการเขียน URL ใหม่
สตริง encodeRedirectURL(String url) เข้ารหัส URL โดยใช้เมธอด sendRedirect()
5.ออกวัตถุ
วัตถุออกสามารถส่งออกผลลัพธ์ไปยังหน้าเว็บ
out ส่วนใหญ่จะใช้เพื่อควบคุมและจัดการบัฟเฟอร์เอาต์พุตและสตรีมเอาต์พุต
void clear() ล้างเนื้อหาของบัฟเฟอร์เอาต์พุต
void clearBuffer() ล้างเนื้อหาของบัฟเฟอร์เอาต์พุต
void close() ปิดเอาต์พุตสตรีมและล้างเนื้อหาทั้งหมด
int getBufferSize() รับขนาดบัฟเฟอร์ปัจจุบัน (KB)
int getRemaining() รับขนาดบัฟเฟอร์ที่เหลือ (KB) หลังจากใช้งานปัจจุบัน
boolean isAutoFlush() ส่งคืน true เพื่อระบุว่าบัฟเฟอร์จะถูกล้างโดยอัตโนมัติเมื่อเต็ม; false เพื่อระบุว่าจะไม่ถูกล้างโดยอัตโนมัติและข้อยกเว้นจะถูกสร้างขึ้น
6. วัตถุเซสชัน
วัตถุเซสชันแสดงถึงสถานะเซสชันปัจจุบันของผู้ใช้แต่ละราย
วัตถุเซสชันใช้อินเทอร์เฟซ javax.servlet.http.HttpSession และวิธีการที่ได้รับจากอินเทอร์เฟซ HttpSession
long getCreationTime() รับเวลาเมื่อมีการสร้างเซสชัน หน่วยเป็นมิลลิวินาที
String getId() รับ ID ของเซสชัน
long getLastAccessedTime() รับเวลาที่ผู้ใช้ส่งคำขอครั้งล่าสุดผ่านเซสชันนี้
long getMaxInactiveInterval() รับเวลาสูงสุดที่ไม่มีกิจกรรมใดๆ หากเกินเวลานี้ เซสชันจะหมดอายุ
void invalidate() ยกเลิกวัตถุเซสชันและละทิ้งเนื้อหาที่เก็บไว้ในวัตถุโดยสมบูรณ์
boolean isNew() กำหนดว่าเซสชันนั้นเป็น "ใหม่" หรือไม่
ถือเป็นโมฆะ setMaxInactiveInterval(int ช่วง) ตั้งเวลาการไม่ใช้งานเซสชันสูงสุด หากเกินเวลานี้ เซสชันจะไม่ถูกต้อง
7. วัตถุแอปพลิเคชัน
ออบเจ็กต์แอปพลิเคชันมักใช้ในการเข้าถึงข้อมูลเกี่ยวกับสภาพแวดล้อม
เนื่องจากข้อมูลสภาพแวดล้อมมักจะถูกเก็บไว้ใน ServletContext วัตถุแอปพลิเคชันจึงมักจะใช้เพื่อเข้าถึงข้อมูลใน ServletContext
วัตถุแอปพลิเคชันใช้อินเทอร์เฟซ javax.servlet.ServletContext และวิธีการที่จัดทำโดยคอนเทนเนอร์อินเทอร์เฟซ ServletContext
int getMajorVersion() รับเวอร์ชันหลักของ Servlet API ของคอนเทนเนอร์
int getMinorVersion() รับคอนเทนเนอร์เวอร์ชันรองของ Servlet API
String getServerInfo() รับชื่อและเวอร์ชันของคอนเทนเนอร์
String getMimeType(ไฟล์ String) รับประเภท MIME ของไฟล์ที่ระบุ
ServletContext getContext(String uripath) รับบริบทแอปพลิเคชันของ URL ในเครื่องที่ระบุ
String getRealPath(String path) รับเส้นทางสัมบูรณ์ของเส้นทางภายในเครื่อง
บันทึกเป็นโมฆะ (ข้อความสตริง) เขียนข้อมูลลงในไฟล์บันทึก
บันทึกเป็นโมฆะ (ข้อความสตริง, Throwable Throwable) เขียนข้อมูลข้อยกเว้นที่สร้างโดยการติดตามสแต็กลงในไฟล์บันทึก
8. วัตถุ pageContext
วัตถุ pageContext สามารถเข้าถึงวัตถุโดยนัยอื่น ๆ
1. วิธีการของวัตถุ pageContext ในการเข้าถึงแอตทริบิวต์วัตถุโดยนัยอื่นๆ จำเป็นต้องระบุช่วงของพารามิเตอร์
วัตถุ getAttribute (ชื่อสตริง ขอบเขต int)
การแจงนับ getAttributeNamesInScope (ขอบเขต int)
เป็นโมฆะ RemoveAttribute (ชื่อสตริง ขอบเขต int)
เป็นโมฆะ setAttribute (ชื่อสตริง ค่าวัตถุ ขอบเขต int)
มีพารามิเตอร์ช่วงสี่ช่วงซึ่งแสดงถึงสี่ช่วง: PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, APPLICATION_SCOPE
2. วิธีการสำหรับวัตถุ PageContext เพื่อรับวัตถุโดยนัยอื่น ๆ
ข้อยกเว้น getException() ส่งคืนข้อยกเว้นของหน้าเว็บปัจจุบัน แต่หน้าเว็บนี้ต้องเป็นหน้าข้อผิดพลาด
JspWriter getOut() ส่งคืนเอาต์พุตสตรีมของหน้าเว็บปัจจุบัน เช่น: out
วัตถุ getPage() ส่งคืนเอนทิตี Servlet (อินสแตนซ์) ของหน้าเว็บปัจจุบัน ตัวอย่างเช่น: หน้า
ServletRequest getRequest() ส่งคืนคำขอของหน้าเว็บปัจจุบัน เช่น: request
ServletResponse getResponse() ส่งคืนการตอบกลับของหน้าเว็บปัจจุบัน เช่น: การตอบกลับ
ServletConfig getServletConfig() ส่งคืนออบเจ็กต์ ServletConfig ของหน้าเว็บปัจจุบัน ตัวอย่างเช่น: config
ServletContext getServletContext() ส่งคืนสภาพแวดล้อมการดำเนินการปัจจุบัน (บริบท) ของหน้าเว็บนี้ ตัวอย่างเช่น: แอปพลิเคชัน
HttpSession getSession() ส่งคืนเซสชันที่เกี่ยวข้องกับหน้าเว็บปัจจุบัน ตัวอย่างเช่น: session
3.วัตถุ PageContext ให้วิธีการรับแอตทริบิวต์
วัตถุ getAttribute(String name, int scope) ส่งคืนแอตทริบิวต์ชื่อ ขอบเขตคือวัตถุแอตทริบิวต์ของขอบเขต และประเภทการส่งคืนคือ Object
การแจงนับ getAttributeNamesInScope(int scope) ส่งคืนชื่อแอตทริบิวต์ของแอตทริบิวต์ทั้งหมดในขอบเขต และประเภทการส่งคืนคือการแจงนับ
int getAttributesScope(String name) ส่งคืนขอบเขตแอ็ตทริบิวต์ที่มีชื่อแอ็ตทริบิวต์คือ name
เป็นโมฆะ RemoveAttribute (ชื่อสตริง) ลบวัตถุแอตทริบิวต์ที่มีชื่อแอตทริบิวต์เป็นชื่อ
เป็นโมฆะ RemoveAttribute (ชื่อสตริง, ขอบเขต int) ลบวัตถุแอตทริบิวต์ที่มีชื่อแอตทริบิวต์เป็นชื่อและขอบเขตเป็นขอบเขต
เป็นโมฆะ setAttribute (ชื่อสตริง ค่าวัตถุ ขอบเขต int) ระบุชื่อของวัตถุแอตทริบิวต์เป็นชื่อ ค่าเป็นค่า และขอบเขตเป็นขอบเขต
วัตถุ findAttribute(ชื่อสตริง) ค้นหาวัตถุแอตทริบิวต์ที่มีชื่อแอตทริบิวต์เป็นชื่อในทุกขอบเขต
9. วัตถุข้อยกเว้น
หากต้องการใช้วัตถุข้อยกเว้น จะต้องตั้งค่าในคำสั่งหน้า <%@ หน้า isErrorPage="true" %> สามารถใช้ได้
มีสามวิธีที่มีข้อยกเว้น:
รับข้อความ( )
รับข้อความท้องถิ่น( ),
printStackTrace (java.io.PrintWriter ใหม่ (ออก))