Latest web development tutorials

طلبات العميل JSP

عندما يطلب المتصفح صفحة، فإنه سيتم ارسال مجموعة من المعلومات التي لا يمكن قراءتها مباشرة إلى خادم الويب، لأن هذه المعلومات كجزء من معلومات رأس HTTP لإرسالها. يمكنك التحقق من بروتوكول HTTP للحصول على مزيد من المعلومات.

يسرد الجدول التالي بعض من محتويات هامة من رأس المتصفح، بعد برمجة الشبكات سوف كثيرا ما نرى هذه المعلومات:

معلومات وصف
استعرض يحدد نوع MIME من متصفح أو عميل آخر يمكن التعامل معها. قيمتها عادة صورة / بابوا نيو غينيا أو صورة / الحياة السياسية في فرنسا
استعرض-محارف يحدد مجموعة أحرف استخدام متصفح. على سبيل المثال، ISO-8859-1
استعرض ترميز تحديد نوع الترميز. قيمته عادة GZIP أو ضغط
قبول اللغة تحديد اللغة المفضلة للعميل، وبريمج إعطاء الأولوية لإرجاع مجموعة النتائج إلى اللغة الحالية للدستور، وإذا كان بريمج يدعم هذه الكلمات لغة. على سبيل المثال داخلي وحمامات لنا، رو الخ
ترخيص تحديد مختلف وصول المستخدمين إلى محمية بكلمة مرور صفحة ويب
صلة فهو يشير إلى ما إذا كان العميل يمكن التعامل مع HTTP اتصال مستمر. اتصال مستمر يسمح للعميل أو متصفح بجلب ملفات متعددة في طلب واحد. المحافظة على الحياة يدل على تمكين الاتصالات المستمرة
طول المحتوى فقط لطلبات الوظائف، وعدد من وحدات البايت من نشر بيانات
كوكي عودة إرسالها سابقا لملفات تعريف الارتباط بالمتصفح إلى الخادم
مضيف وأشار إلى أن URL الأصلي اسم المضيف ورقم المنفذ
إذا كانت تم تعديلها منذ مشاهدة فقط عندما تكون الصفحة تم تعديل على العميل التاريخ المحدد يحتاج هذا الموقع فقط. خادم يرسل 304 ياردة إلى العميل أنه لا توجد الموارد المستكمل
إذا كانت معدلة-منذ وإذا كانت تم تعديلها منذ العكس من ذلك، لم يتم تعديل فقط الوثيقة بعد التاريخ المحدد، وهذه العملية ستكون ناجحة
التحويلية عنوان URL للصفحة التي تميزت مرجعية. على سبيل المثال، إذا كنت في الصفحات 1، ثم وصلة إلى الصفحة 2، ثم الصفحة URL 1 سيتم تضمينها في المتصفح تطلب رأس الصفحة 2
عامل المستخدم وهي تستخدم للتمييز بين المتصفحات المختلفة أو طلب إرسالها من قبل العميل، وأنواع مختلفة من المتصفح للعودة محتوى مختلف

الطبقة HttpServletRequest

javax.servlet.http.HttpServletRequest كائن طلب هو مثيل للفئة. عندما يطلب العميل صفحة، ومحرك JSP إنتاج كائن جديد لتمثيل الطلب.

يوفر كائن طلب مجموعة من الأساليب للحصول على معلومات رأس HTTP، بما في ذلك بيانات النموذج، الكوكيز، وأساليب HTTP، وهلم جرا.

في اليوم التالي سوف أعرض بعض مشترك الحصول على رأس HTTP في أساليب البرمجة JSP. لمزيد من التفاصيل، يرجى الاطلاع على الجدول أدناه:

لا. طريقة ووصف
1 كوكي [] getCookies ()

بإرجاع صفيف من كل من كوكي العميل
2 getAttributeNames تعداد ()

إرجاع جمع كل خصائص أسماء الكائنات طلب
3 getHeaderNames تعداد ()

إرجاع جمع كل أسماء رأس HTTP
4 getParameterNames تعداد ()

إرجاع مجموعة من جميع المعلمات من الطلب
5 HttpSession getSession ()

طلب إرجاع الكائن جلسة المقابلة، إذا لم يكن كذلك، إنشاء
6 HttpSession getSession (منطقية خلق)

طلب عائدات الكائن جلسة المقابلة إذا لم المعلمات وخلق غير صحيح، بإرجاع كائن جلسة عمل جديدة
7 لغة getLocale ()

إرجاع ويمكن الحصول على هذا الكائن صفحة الإعدادات المحلية في الاستجابة
8 كائن getAttribute (اسم سلسلة)

يعود اسم اسم قيمة السمة، وإذا لم يكن هناك لاغية العودة.
9 ServletInputStream getInputStream ()

بإرجاع طلب دفق الإدخال
10 getAuthType سلسلة ()

إرجاع اسم نظام التوثيق المستخدمة لحماية بريمج، مثل "BASIC" أو "SSL" أو إذا لم تتخذ تدابير وقائية فارغة JSP
11 getCharacterEncoding سلسلة ()

إرجاع طلب الطابع اسم مجموعة الترميز
12 getContentType سلسلة ()

إرجاع نوع MIME الطلب الرئيسي، أو لاغية إذا لم يعرف
13 سلسلة getContextPath ()

إرجاع المسار السياق المحدد في طلب URI
14 سلسلة getHeader (اسم سلسلة)

إرجاع الاسم المحدد في رأس الرسالة
15 سلسلة getMethod ()

إرجاع طريقة طلب HTTP، مثل GET ،، وظيفة، أو PUT
16 سلسلة getParameter (اسم سلسلة)

يعود اسم طلب المعلمة المحددة، أو لاغية إذا لم يكن موجودا
17 سلسلة getPathInfo ()

يعود أي عنوان مسار إضافي يرتبط مع هذا الطلب
18 سلسلة getProtocol ()

يعود اسم ونسخة من البروتوكول المستخدم من قبل هذا الطلب
19 getQueryString سلسلة ()

وهذا يعود يحتوي عنوان الطلب سلسلة الاستعلام
20 سلسلة getRemoteAddr ()

إرجاع عنوان IP للعميل
21 سلسلة getRemoteHost ()

عودة الاسم الكامل للعميل
22 سلسلة getRemoteUser ()

إرجاعها إلى العميل من خلال المصادقة تسجيل دخول المستخدم، إذا لم مصادقة المستخدم أو باطل
23 سلسلة getRequestURI ()

إرجاع طلب URI
24 سلسلة getRequestedSessionId ()

إرجاع طلب معرف جلسة محددة
25 سلسلة getServletPath ()

مسار بريمج الخلفي طلب
26 سلسلة [] getParameterValues (اسم سلسلة)

يعود تحدد المعلمة اسم من كل القيم، أو لاغية إذا لم يكن موجودا
27 منطقية isSecure ()

يعود ما إذا كان طلب تشفير القناة، مثل HTTPS
28 الباحث getContentLength ()

إرجاع عدد البايتات الواردة في متن الطلب، أو إذا لم يكن معروفا -1
29 الباحث getIntHeader (اسم سلسلة)

تحدد القيمة التي تم إرجاعها اسم رأس طلب
30 الباحث getServerPort ()

يعود رقم منفذ الملقم

أمثلة رأس HTTP

في هذا المثال، سوف نستخدم طريقة getHeaderNames HttpServletRequest فئة () لقراءة رأس HTTP. هذا الأسلوب بإرجاع تعداد معلومات رأس طلب HTTP الحالي.

بعد الحصول على كائن التعداد، والطريقة القياسية لاجتياز الكائن التعداد، طريقة hasMoreElements () لتحديد موعد التوقف عن استخدام طريقة nextElement () للحصول على اسم كل معلمة.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>
<h2>HTTP 头部请求实例</h2>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>Header Name</th><th>Header Value(s)</th>
</tr>
<%
   Enumeration headerNames = request.getHeaderNames();
   while(headerNames.hasMoreElements()) {
      String paramName = (String)headerNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getHeader(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

الإنجليزية main.jsp الوصول، وسوف تحصل على النتائج التالية:

يمكنك محاولة أساليب أخرى من الدرجة HttpServletRequest في رمز أعلاه.