Latest web development tutorials

JSP وتجهيز شكل

نحن تصفح الويب، وغالبا ما تحتاج إلى تقديم معلومات إلى الخادم، والسماح للعملية الخفي. يستخدم متصفح GET و POST طريقة لتقديم البيانات إلى الخادم.


الحصول على الطريقة

الحصول على طريقة ترميز طلب المعلومات إضافة إلى URL، معلومات ترميز URL من خلال "؟" مفصولة. على النحو التالي:

http://www.w3big.com/hello?key1=value1&key2=value2

طريقة GET هي طريقة لتمرير المستعرض الافتراضي المعلمات، معلومات حساسة، مثل كلمات السر وغيرها من المستحسن عدم استخدام الأسلوب GET.

التعود، وحجم نقل البيانات محدودة (لاحظ عدد من المعلمات لا يقتصر)، وتصل إلى 1024 بايت.


أسلوب POST

معلومات حساسة مثل كلمات السر وحتى نتمكن من تمرير الأسلوب POST، POST إلى تقديم بيانات غير الضمني.

POST إلى تقديم بيانات غير مرئية، GET يتم تمريرها من خلال رابط داخل (يمكنك أن تبحث في شريط عنوان المتصفح الخاص بك).

JSP باستخدام getParameter () للحصول على المعلمة التي تم تمريرها، يتم استخدام طريقة getInputStream () لمعالجة تيار طلب البيانات الثنائية من العملاء.


قراءة JSP بيانات النموذج

  • getParameter (): طريقة استخدام request.getParameter () للحصول على قيمة المعلمة النموذج.

  • getParameterValues (): الحصول عن بيانات الطبقة مربع (نفس الاسم، ولكن تعدد القيم).تلقي مجموعة من المتغيرات، مثل مربع نوع

  • getParameterNames (): وهذه الطريقة يمكن الحصول على أسماء جميع المتغيرات، وطريقة إرجاع Emumeration.

  • getInputStream (): يسمى هذا الأسلوب لقراءة دفق البيانات الثنائية من العميل.


أمثلة على استخدام أسلوب URL GET

ما يلي هو عنوان بسيط، ويستخدم الأسلوب GET لتمرير المعلمات في URL:

http://localhost:8080/testjsp/main.jsp?name=本教程&url=http://ww.w3big.com

عنوان testjsp للمشروع.

وفيما يلي ملف الإنجليزية main.jsp برنامج التخطيط الاستراتيجي المشترك لبيانات النموذج المعالجة المقدمة من قبل العميل، ونحن نستخدم طريقة getParameter () للحصول على البيانات المقدمة:

<%@ 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>
<h1>使用 GET 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
   <%= request.getParameter("name")%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

بعد ذلك قمنا بزيارة متصفح HTTP: // المضيف المحلي: 8080 / testjsp / اسم الإنجليزية main.jsp = هذا البرنامج التعليمي وURL = HTTP :؟ //ww.w3big.com النتائج الناتج كما يلي:


استخدام الأسلوب شكل GET من مثال

ما يلي هو شكل HTML بسيطة، والتي ستقدم من خلال طريقة GET إلى الإنجليزية main.jsp ملف بيانات العميل:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

حفظ الكود أعلاه في ملف test.htm. وضع الملف في الدليل الحالي في إطار مشروع WebContent التخطيط الاستراتيجي المشترك (مع الإنجليزية main.jsp نفس الدليل).

بالانتقال إلى http: // المضيف المحلي: 8080 / testjsp / test.html الإنجليزية main.jsp تقديم بيانات النموذج إلى ملف المتحركة التجريبي هو مبين أدناه:

في ملء المعلومات في "اسم الموقع" و "URL" اثنين من شكل، وانقر على زر "إرسال"، أنه سيتم إخراج النتائج.


ومن الأمثلة على أسلوب POST النموذج

دعونا استخدام الأسلوب POST لنقل بيانات النموذج، وتعديل الإنجليزية main.jsp Hello.htm كود الملف كما يلي:

كود ملف الإنجليزية main.jsp:

<%@ 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>
<h1>使用 POST 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
<%
// 解决中文乱码的问题
String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8");
%>
   <%=name%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

كود نستخدم سلسلة جديدة ((request.getParameter ( "اسم ")). GetBytes ( "ISO-8859-1")، "UTF-8") لتحويل كود، ومنع وقوع مشوه الصينية.

هنا هو test.htm رمز معدل:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

بالانتقال إلى http: // المضيف المحلي: 8080 / testjsp / test.html الإنجليزية main.jsp تقديم بيانات النموذج إلى ملف المتحركة التجريبي هو مبين أدناه:


تمرير البيانات خانة الاختيار لبرنامج التخطيط الاستراتيجي المشترك

مربع مربع يمكن أن تمر على المزيد من البيانات.

ما يلي هو رمز HTML بسيطة، ويتم تخزين التعليمات البرمجية في ملف test.htm:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="w3big"  /> 本教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

رمز أعلاه في المتصفح للوصول إلى ما يلي:

وفيما يلي كود ملف الإنجليزية main.jsp مربع معالجة البيانات ل:

<%@ 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>
<h1>从复选框中读取数据</h1>
<ul>
<li><p><b>Google 是否选中:</b>
   <%= request.getParameter("google")%>
</p></li>
<li><p><b>本教程是否选中:</b>
   <%= request.getParameter("w3big")%>
</p></li>
<li><p><b>淘宝是否选中:</b>
   <%= request.getParameter("taobao")%>
</p></li>
</ul>
</body>
</html>

بالانتقال إلى http: // المضيف المحلي: 8080 / testjsp / test.html الإنجليزية main.jsp تقديم بيانات النموذج إلى ملف المتحركة التجريبي هو مبين أدناه:


قراءة جميع معلمات النموذج

أدناه سوف نستخدم getParameterNames HttpServletRequest () لقراءة جميع المعلمات من شكل، وطريقة يمكن الحصول على أسماء جميع المتغيرات، وطريقة إرجاع التعداد.

مرة واحدة لدينا تعداد (تعداد)، يمكن أن نطلق 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>
<h1>读取所有表单参数</h1>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>参数名</th><th>参数值</th>
</tr>
<%
   Enumeration paramNames = request.getParameterNames();

   while(paramNames.hasMoreElements()) {
      String paramName = (String)paramNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getParameter(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

ما يلي هو ملف test.htm المحتوى:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="w3big"  /> 本教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

ونحن الآن إرسال ملفات البيانات من خلال نتائج الإخراج متصفح الوصول test.htm هي كما يلي:

بالانتقال إلى http: // المضيف المحلي: 8080 / testjsp / test.html الإنجليزية main.jsp تقديم بيانات النموذج إلى ملف المتحركة التجريبي هو مبين أدناه:

يمكنك محاولة استخدام أكثر من كود JSP قراءة أشياء أخرى، مثل مربعات النص، أزرار الراديو، وصناديق المنسدلة أو ما شابه غيرها من أشكال البيانات.