مسا الخير أنا عضو جديد بدرس في American university و باخد course web2عن servlet وبصراحه الموضوع مو مفهوم كتير و بتمنى اجد المساعده شو هو servlet؟ و كمان ليش لما رابطه html مع servlet لما أدخل username and password ....then submit form بيكتب اللي welcome null ليش ما بظهر username الي انا دخلته........ PLZ help me..thnx
servlet
باختصار شديد : هو 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
عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..
{ لا ينال العلم مستحٍ ولا مستكبر }
هل من الممكن عرض الكود الخاص بالعمليه التى تظهر لك 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>
}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 ..
تأكد من اسماء المتغيرات ..
أو اعرض الكود هنا ..
تحياتي