الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن ال response ب ال servlet

بدأه WilliamRoma في 16 مايو 2011 · 3 رد · 708 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا

اذا عندي سيرفر وحطيت فيه سيرفليت وبدي ابعث لهالسيرفر داتا صيغتها Get

فالإستقبال من جهة السيرفر رح يكون بسيرفليت وفيها التابع doget

يلي بياخد باراميترين request و response

بال response فيني ابعث الرد للكلاينت

بس المشكلة اذا كان ال response يجب أن يحوي داتا تُدخل من قبل المستخدم ف لما يدخل المستخدم هالداتا بيكون ال response مات , في حل للمشكلة إنو كل كم ثانية الكلاينت يسأل السيرفر إذا أُدخلت البيانات بس هيك بعطل السيرفر عالفاضي وبيكلف الكلاينت مصاري زيادة

فشو الحل لحتى خلّي ال response يستنى لتجي الداتا ؟

أو أي إقتراحات تانية ممكن تكون مفيدة ؟

ومشكورين كتير

#2

الصراحة السؤال غير واضح .. :unsure:

انت تبعث الـبيانات للسيرفر عن طريق الـ request ... مادخل بيانات العميل بـ response ؟

هل تريد الـ response تعود بالبيانات المدخلة من العميل؟

أرجو توضيح السؤال ..

تحياتي

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#3

السلام عليكم و رحمة الله و بركاته ...

هناك عدة طرق لحل الفكرة التي ذكرت أخي

أن تستخدم مثود خاصة بالrequest وهي getParameter(String param)

و قيمة param تكون اسم النص الذي في الفورم

عندك Form

هذا Form سوف تبعث من خلاله بيانات معينة ...

و من ثم ترسل إلى سيرفليت و تنقلك بعد ذلك إلى الصفحة التي تريد ..

<html>
	<head>
	</head>
		<body bgcolor="lavender">
			<form action="/MySerlvet.do" method="get">
				<table>
					<tr>
						<td>Name :</td>
						<td><input type="text" name="UserName" /></td>
					</tr>
					<tr>
						<td>Salary :</td>
						<td><input type="text" name="Sal" /></td>
					</tr>
					</tr>
				</table>
			</form>
		</body>
</html>

بعد ذلك نذهب إلى ملف DD

و الذي اسمه web.xml

لنضيف بيانات السيرفليت القادم

و الخطوة التالية برمجة السيرفلت ...

كالتالي :

نستخدم ميثود خاصة في الrequest

public void doGet(..., ...)
{
	response.setContentType("text/html");

	String x = request.getParameter("UserName");
		String y = request.getParameter("Sal");
         PrintWriter out = response.getWriter();
         out.println("<br/>"+ x);
           out.println("<br/>"+ y);
}

Senior JEE Developer

IBM WebSphere Speccialist

logo_ibm_certified.gif

#4

مثال آخر استخدام نمط MVC

تقوم بإنشاء Java Bean - java Class-

تكون كالتالي

package com.example.model

public class UserData
{
	private String userName;
	private String sal;

	public String getName()
	{
		return name;
	}
	public String getSal()
	{
		return sal;
	}

	public void setName(String n)
	{
		userName = n;
	}
	public void setSal(String s)
	{
		sal= s;
	}
}

ثم ننشئ الform

<html>
        <head>
        </head>
                <body bgcolor="lavender">
                        <form action="/MySerlvet.do" method="get">
                                <table>
                                        <tr>
                                                <td>Name :</td>
                                                <td><input type="text" name="UserName" /></td>
                                        </tr>
                                        <tr>
                                                <td>Salary :</td>
                                                <td><input type="text" name="Sal" /></td>
                                        </tr>
                                        </tr>
                                </table>
                        </form>
                </body>
</html>

ثم نقوم ببرمجة السيرفلت كالتالي :

public void doGet(..., ...)
{
        response.setContentType("text/html");

        UserData uc = new UserData();

		String n = request.getParameter("UserName");
		String s = request.getPararmeter("Sal");

		uc.setName(n);
		uc.setSal(s);

		request.setAttribute("UserInfoAttribute", uc);

		RequestDispatcher view = request.getRequestDispatcher("/view.jsp");

		view.forward(request, response);
}

بعد ذلك في صفحة ال

view.jsp

نقوم بالتالي

<%@page import="com.example.model" %>
<html>
	<body bgColor="lime">
		<%
			UserData uc = (UserData) request.getAttribute("UserInfoAttribute"); // this Attribute created in Servlet ..
		%>
		<p>The Employee Name is : </p>
		<p><%= uc.getName %>
		<p> and Have the Salary is : </p>
		<p><%= uc.getSal %>
	</body>
</html>

أتمنى أن الفائدة قد تحققت و أن هذا ما كنت تصبو إليه

Senior JEE Developer

IBM WebSphere Speccialist

logo_ibm_certified.gif

مواضيع مشابهة