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

servlet

بدأه H!Ba في 12 مارس 2011 · 3 رد · 1,035 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مسا الخير أنا عضو جديد بدرس في American university و باخد course web2عن servlet وبصراحه الموضوع مو مفهوم كتير و بتمنى اجد المساعده شو هو servlet؟ و كمان ليش لما رابطه html مع servlet لما أدخل username and password ....then submit form بيكتب اللي welcome null ليش ما بظهر username الي انا دخلته........ PLZ help me..thnx

#2

باختصار شديد : هو class له القدرة على التواصل مع البروتوكول http، وتستطيع من خلاله إنشاء تطبيق ويب ..

يحتوي في الغالب على دالتين "الأهم" :

  • doPost
  • doGet

وأيضا يحتوي دوال أخرى مثل :

  • init
  • service
  • destroy

doPost تستقبل البيانات المرسلة إلى السيرفر عن طريق فورم من نوع POST

والأخرى "doGet" تستقبل البيانات المرسلة عن طريق فورم من نوع Get

مثال بسيط:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {

  private String message;

  public void init() throws ServletException
  {
      // Do required initialization
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }

  public void destroy()
  {
      // do nothing.
  }
}

في دالة init هيأنا الرسالة ..

ثم في دالة doGet قمنا بطباعة الرسالة بين وسمي html ..

اقتباس

ليش لما رابطه html مع servlet لما أدخل username and password ....then submit form بيكتب اللي welcome null ليش ما بظهر username الي انا دخلته.

تأكد من اسماء المتغيرات ..

أو اعرض الكود هنا ..

تحياتي

تم تعديل هذه المشاركة بواسطة JavaPorgrammer في 13 مارس 2011 في 01:47

1

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

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

#3

هل من الممكن عرض الكود الخاص بالعمليه التى تظهر لك welcome null

لتوضيح الخطأ

او استخدمى الكود هذا

فهو مثال صغير على ذلك

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Mahmoud Kelany
 */
public class LoginServlet extends HttpServlet {

	/** 
 	* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 	* @param request servlet request
 	* @param response servlet response
 	* @throws ServletException if a servlet-specific error occurs
 	* @throws IOException if an I/O error occurs
 	*/
	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        	throws ServletException, IOException {
    	response.setContentType("text/html;charset=UTF-8");
    	PrintWriter out = response.getWriter();
    	try {
        	out.println("<html>");
        	out.println("<head>");
        	out.println("<title>Servlet LoginServlet</title>");
        	out.println("</head>");
        	out.println("<body>");
        	out.println("<form name=\"login\" action=\"ComfirmServlet\">");
        	out.println("<input type=\"text\" name=\"username\" value=\"\" size=\"30\" />");
        	out.println("<input type=\"password\" name=\"password\" value=\"\" size=\"30\" />");
        	out.println("<input type=\"submit\" value=\"Submit\">");
        	out.println("</form>");
        	out.println("</body>");
        	out.println("</html>");
    	} finally {
        	out.close();
    	}
	}

	// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
	/** 
 	* Handles the HTTP <code>GET</code> method.
 	* @param request servlet request
 	* @param response servlet response
 	* @throws ServletException if a servlet-specific error occurs
 	* @throws IOException if an I/O error occurs
 	*/
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
        	throws ServletException, IOException {
    	processRequest(request, response);
	}

	/** 
 	* Handles the HTTP <code>POST</code> method.
 	* @param request servlet request
 	* @param response servlet response
 	* @throws ServletException if a servlet-specific error occurs
 	* @throws IOException if an I/O error occurs
 	*/
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
        	throws ServletException, IOException {
    	processRequest(request, response);
	}

	/** 
 	* Returns a short description of the servlet.
 	* @return a String containing servlet description
 	*/
	@Override
	public String getServletInfo() {
    	return "Short description";
	}// </editor-fold>
}

ودى صفحه الـتأكيد وظهور البيانات المدخله

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Mahmoud Kelany
 */
public class ComfirmServlet extends HttpServlet {

	/** 
 	* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 	* @param request servlet request
 	* @param response servlet response
 	* @throws ServletException if a servlet-specific error occurs
 	* @throws IOException if an I/O error occurs
 	*/
	protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        	throws ServletException, IOException {
    	response.setContentType("text/html;charset=UTF-8");
    	PrintWriter out = response.getWriter();
    	try {
        	String username = request.getParameter("username");
        	String password = request.getParameter("password");
        	out.println("<html>");
        	out.println("<head>");
        	out.println("<title>Servlet ComfirmServlet</title>");
        	out.println("</head>");
        	out.println("<body>");
        	out.println("<h1>Username " + username + " , Password " + password + "</h1>");
        	out.println("</body>");
        	out.println("</html>");
    	} finally {
        	out.close();
    	}
	}

	// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
	/** 
 	* Handles the HTTP <code>GET</code> method.
 	* @param request servlet request
 	* @param response servlet response
 	* @throws ServletException if a servlet-specific error occurs
 	* @throws IOException if an I/O error occurs
 	*/
	@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
        	throws ServletException, IOException {
    	processRequest(request, response);
	}

	/** 
 	* Handles the HTTP <code>POST</code> method.
 	* @param request servlet request
 	* @param response servlet response
 	* @throws ServletException if a servlet-specific error occurs
 	* @throws IOException if an I/O error occurs
 	*/
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
        	throws ServletException, IOException {
    	processRequest(request, response);
	}

	/** 
 	* Returns a short description of the servlet.
 	* @return a String containing servlet description
 	*/
	@Override
	public String getServletInfo() {
    	return "Short description";
	}// </editor-fold>
}

Software Developer
Mahmoudkelany.com


 

#4
JavaPorgrammer كتب:

باختصار شديد : هو class له القدرة على التواصل مع البروتوكول http، وتستطيع من خلاله إنشاء تطبيق ويب ..

يحتوي في الغالب على دالتين "الأهم" :

  • doPost
  • doGet

وأيضا يحتوي دوال أخرى مثل :

  • init
  • service
  • destroy

doPost تستقبل البيانات المرسلة إلى السيرفر عن طريق فورم من نوع POST

والأخرى "doGet" تستقبل البيانات المرسلة عن طريق فورم من نوع Get

مثال بسيط:

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {

  private String message;

  public void init() throws ServletException
  {
      // Do required initialization
      message = "Hello World";
  }

  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      // Set response content type
      response.setContentType("text/html");

      // Actual logic goes here.
      PrintWriter out = response.getWriter();
      out.println("<h1>" + message + "</h1>");
  }

  public void destroy()
  {
      // do nothing.
  }
}

في دالة init هيأنا الرسالة ..

ثم في دالة doGet قمنا بطباعة الرسالة بين وسمي html ..

تأكد من اسماء المتغيرات ..

أو اعرض الكود هنا ..

تحياتي

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