1. كائن الصفحة
يمثل كائن الصفحة JSP نفسه، وبشكل أكثر دقة يمثل Servlet المترجم لـ JSP، والذي يمكنه استدعاء الأساليب المحددة بواسطة فئة Servlet.
2. كائن التكوين
يقوم كائن التكوين بتخزين بعض بنيات البيانات الأولية لـ Servlet.
يتم تنفيذ كائن التكوين في واجهة javax.servlet.ServletConfig، التي تحتوي على الطرق الأربع التالية:
سلسلة getInitParameter العامة (الاسم)
java.util.Enumeration العام getInitParameterNames ()
ServletContext العامة getServletContext()
public Sring getServletName()
3. كائن الطلب
يحتوي كائن الطلب على جميع المعلومات المطلوبة، مثل مصدر الطلب، والرؤوس، وملفات تعريف الارتباط، وقيم المعلمات المتعلقة بالطلب، وما إلى ذلك.
يقوم كائن الطلب بتنفيذ واجهة javax.servlet.http.HttpServletRequest، ويمكن تقسيم الطرق المقدمة إلى أربع فئات:
1. طرق تخزين السمات والحصول عليها؛
void setAttribute(String name, Object value) قم بتعيين قيمة سمة الاسم على القيمة
التعداد getAttributeNamesInScope(intscope) يحصل على سمات جميع النطاقات
يحصل الكائن getAttribute(اسم السلسلة) على قيمة سمة الاسم
يزيل void RemoveAttribute(String name) قيمة سمة الاسم
2. طريقة الحصول على معلمات الطلب
String getParameter(String name) تحصل على قيمة معلمة الاسم
التعداد getParameterNames() يحصل على كافة أسماء المعلمات
String [] getParameterValues(String name) يحصل على قيم المعلمات لجميع الأسماء
Map getParameterMap() يحصل على خريطة تتطلب معلمات
3. طرق الحصول على رؤوس طلب HTTP
String getHeader(String name) احصل على رأس الاسم
يحصل التعداد getHeaderNames() على كافة أسماء الرؤوس
التعداد getHeaders(String name) يحصل على رؤوس جميع الأسماء
int getIntHeader(String name) يحصل على رأس اسم النوع الصحيح
getDateHeader الطويل (اسم السلسلة) يحصل على رأس اسم نوع التاريخ
ملف تعريف الارتباط [] getCookies() يحصل على ملفات تعريف الارتباط المتعلقة بالطلب
4. طرق أخرى
String getContextPath() تحصل على مسار السياق (أي اسم الموقع)
String getMethod() احصل على طريقة HTTP (GET، POST)
سلسلة getProtocol() تحصل على البروتوكول المستخدم (HTTP/1.1، HTTP/1.0)
String getQueryString() تحصل على سلسلة معلمات الطلب، ومع ذلك، يجب أن تكون طريقة HTTP هي GET
تحصل String getRequestedSessionId() على معرف الجلسة للعميل
String getRequestURI() تحصل على عنوان URL المطلوب، ولكنها لا تتضمن سلسلة معلمة الطلب
String getRemoteAddr() احصل على عنوان IP الخاص بالمستخدم
String getRemoteHost() تحصل على اسم المضيف الخاص بالمستخدم
int getRemotePort() يحصل على المنفذ المضيف للمستخدم
String getRemoteUser() تحصل على اسم المستخدم
void etCharacterEncoding(String encoding) يقوم بتعيين تنسيق التشفير لحل مشكلة إرسال اللغة الصينية في النموذج
4. كائن الاستجابة
ينقل كائن الاستجابة بشكل أساسي نتائج معالجة بيانات JSP إلى العميل.
يقوم كائن الاستجابة بتنفيذ واجهة javax.servlet.http.HttpServletResponse. الأساليب التي يوفرها كائن الاستجابة.
1. كيفية ضبط الرأس
باطلة addCookie(ملف تعريف الارتباط ملف تعريف الارتباط) إضافة ملف تعريف الارتباط
يضيف void addDateHeader(String name, long date) قيمة طويلة إلى رأس الاسم
void addHeader(String name, String value) يضيف قيمة نوع السلسلة إلى رأس الاسم
void addIntHeader(String name, int value) يضيف قيمة نوع int إلى رأس الاسم
void setDateHeader(String name, long date) يحدد قيمة طويلة لرأس الاسم
void setHeader(String name, String value) يحدد قيمة نوع السلسلة لرأس الاسم
void setIntHeader(String name, int value) يحدد قيمة النوع int لرأس الاسم
2. كيفية ضبط رمز حالة الاستجابة
باطلة sendError (int sc) إرسال رمز الحالة (رمز الحالة)
يرسل void sendError(int sc, String msg) رمز الحالة ومعلومات الخطأ
void setStatus(int sc) قم بتعيين رمز الحالة
3. الطرق المستخدمة لإعادة كتابة عنوان URL
تقوم String encodeRedirectURL(String url) بتشفير عنوان URL باستخدام طريقة sendRedirect()
5. خارج الكائن
يمكن للكائن الخارجي إخراج النتائج إلى صفحة الويب.
يستخدم out بشكل أساسي للتحكم في المخزن المؤقت للإخراج ودفق الإخراج وإدارتهما.
void Clear() يمسح محتويات المخزن المؤقت للإخراج
يقوم void ClearBuffer() بمسح محتويات المخزن المؤقت للإخراج
إغلاق الفراغ () يغلق دفق الإخراج ويمسح جميع محتوياته
int getBufferSize() يحصل على حجم المخزن المؤقت الحالي (KB)
int getRemaining() يحصل على حجم المخزن المؤقت المتبقي (KB) بعد الاستخدام الحالي
ترجع القيمة boolean isAutoFlush() القيمة true للإشارة إلى أنه سيتم مسح المخزن المؤقت تلقائيًا عندما يكون ممتلئًا؛ وترجع القيمة false للإشارة إلى أنه لن يتم مسحه تلقائيًا وسيتم إنشاء استثناء.
6. كائن الجلسة
يمثل كائن الجلسة حالة الجلسة الحالية لمستخدم فردي.
يقوم كائن الجلسة بتنفيذ واجهة javax.servlet.http.HttpSession والطرق التي توفرها واجهة HttpSession.
long getCreationTime() يحصل على الوقت الذي يتم فيه إنشاء الجلسة بالمللي ثانية
تحصل String getId() على معرف الجلسة
long getLastAccessedTime() يحصل على الوقت الذي أرسل فيه المستخدم طلبًا آخر مرة خلال هذه الجلسة
تحصل getMaxInactiveInterval() الطويلة على الحد الأقصى لوقت عدم نشاط الجلسة. إذا تم تجاوز هذا الوقت، فستنتهي صلاحية الجلسة.
voidvoidate() يلغي كائن الجلسة ويتجاهل المحتويات المخزنة في الكائن تمامًا
boolean isNew() يحدد ما إذا كانت الجلسة "جديدة"
void setMaxInactiveInterval (intinterval) يعين الحد الأقصى لوقت عدم نشاط الجلسة. إذا تم تجاوز هذا الوقت، فستصبح الجلسة غير صالحة
7. كائن التطبيق
يتم استخدام كائن التطبيق بشكل شائع للوصول إلى معلومات حول البيئة.
نظرًا لأن معلومات البيئة يتم تخزينها عادةً في ServletContext، فغالبًا ما يتم استخدام كائن التطبيق للوصول إلى المعلومات الموجودة في ServletContext.
يقوم كائن التطبيق بتنفيذ واجهة javax.servlet.ServletContext والطرق التي توفرها حاوية واجهة ServletContext
int getMajorVersion() يحصل على إصدار Servlet API الرئيسي للحاوية
int getMinorVersion() يحصل على إصدار Servlet API الثانوي للحاوية
String getServerInfo() احصل على اسم الحاوية وإصدارها
String getMimeType(String file) يحصل على نوع MIME للملف المحدد
ServletContext getContext(String uripath) يحصل على سياق التطبيق لعنوان URL المحلي المحدد
String getRealPath(String path) يحصل على المسار المطلق للمسار المحلي
سجل فارغ (رسالة سلسلة) يكتب المعلومات إلى ملف السجل
يكتب السجل الفارغ (رسالة السلسلة، القابلة للرمي) معلومات الاستثناء التي تم إنشاؤها بواسطة تتبع المكدس في ملف السجل
8. كائن pageContext
يمكن لكائن pageContext الوصول إلى كائنات ضمنية أخرى.
1. تتطلب طريقة كائن pageContext للوصول إلى سمات الكائن الضمنية الأخرى تحديد نطاق من المعلمات.
كائن getAttribute (اسم السلسلة، نطاق int)
التعداد getAttributeNamesInScope (نطاق int)
إزالة السمة باطلة (اسم السلسلة، نطاق int)
مجموعة باطلة (اسم السلسلة، قيمة الكائن، نطاق int)
هناك أربعة معلمات للنطاق، تمثل أربعة نطاقات: PAGE_SCOPE، REQUEST_SCOPE، SESSION_SCOPE، APPLICATION_SCOPE
2. أساليب كائن PageContext للحصول على كائنات ضمنية أخرى
يُرجع الاستثناء getException() استثناء صفحة الويب الحالية، ولكن يجب أن تكون صفحة الويب هذه صفحة خطأ.
تقوم JspWriter getOut() بإرجاع دفق الإخراج لصفحة الويب الحالية، على سبيل المثال: out
يقوم الكائن getPage() بإرجاع كيان Servlet (مثيل) لصفحة الويب الحالية، على سبيل المثال: page
يقوم ServletRequest getRequest() بإرجاع طلب صفحة الويب الحالية، على سبيل المثال: request.getRequest()
تقوم ServletResponse getResponse() بإرجاع استجابة صفحة الويب الحالية، على سبيل المثال: Response
يقوم ServletConfig getServletConfig() بإرجاع كائن ServletConfig لصفحة الويب الحالية، على سبيل المثال: config
يقوم ServletContext getServletContext() بإرجاع بيئة التنفيذ الحالية (السياق) لصفحة الويب هذه، على سبيل المثال: التطبيق
تقوم HttpSession getSession() بإرجاع الجلسة المتعلقة بصفحة الويب الحالية، على سبيل المثال: session
يوفر كائن 3.PageContext طرقًا للحصول على السمات
يقوم الكائن getAttribute (اسم السلسلة، نطاق int) بإرجاع سمة الاسم، والنطاق هو كائن سمة النطاق، ونوع الإرجاع هو كائن
التعداد getAttributeNamesInScope(intscope) يُرجع أسماء السمات لجميع السمات في النطاق، ونوع الإرجاع هو التعداد
int getAttributesScope(String name) يُرجع نطاق السمة الذي يكون اسم السمة الخاص به هو الاسم
void RemoveAttribute(String name) يزيل كائن السمة الذي يكون اسم السمة هو الاسم
إزالة الفراغ (اسم السلسلة، نطاق int) يزيل كائن السمة الذي يكون اسم السمة هو الاسم والنطاق هو النطاق
يحدد void setAttribute (اسم السلسلة، قيمة الكائن، نطاق int) اسم كائن السمة كاسم، والقيمة كقيمة، والنطاق كنطاق
الكائن findAttribute(اسم السلسلة) يبحث عن كائن السمة الذي يكون اسم السمة الخاص به هو الاسم في جميع النطاقات
9. كائن الاستثناء
لاستخدام كائن الاستثناء، يجب تعيينه في توجيه الصفحة. يمكن استخدام <%@ page isErrorPage="true" %>.
ثلاث طرق مقدمة بالاستثناء:
الحصول على الرسالة ()
الحصول على رسالة محلية ()،
printStackTrace(new java.io.PrintWriter(out))