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

connection database with servlet

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

مساالخير للجميع أنا محتاجه للمساعد لو سمحتوا .......................

بدي أسأل كيف أعمل connection for database with servlet on jdeveloper لحتى أعمل التحقق من صحة اسم المستخدم وكلمة السر دخلت ضد تلك التي تم استردادها من قاعدة البيانات؟ يعني لما انا بدخل username and password و أتحقق من صحتهم مع usernames اللي موجده عندي في database.?..................... شكرا و تحياتي

#2

السؤال مش واضح كثير .. بس اللي فهمته أن المستخدم يدخل بياناته في فورم ونقوم بالتحقق من صحة البيانات من خلال الاتصال بقاعدة البيانات .. إن كان كذلك فالمثال الآتي يوضح ذلك:

Servlet :

package servlet;

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 Admin
 */
public class ibrahim extends HttpServlet {
    private String p;
 private void login(HttpServletResponse res, boolean status)
    throws ServletException, IOException {
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
    out.println("<html><head>");
    out.println("<title>Login Form</title>");
    out.println("</head><body>");
    if(status){out.println("<p style=color:red>Login failed!! try agian!!</p><br/>");}

    out.println("<form method=post>"
            + "Name: <input name=name type=text size=40/><br/>"
            + "Password: <input name=password type=password size=40/><br/>"
            + "<input type=submit value=send/><br/>"
            + "</form></body></html>");
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        login(response, false);
    }



    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        db d = new db();
        d.setUser_name(name);
        d.setUser_pss(password);
        if(name != null && password != null && d.check() == true){
        response.sendRedirect("./index.jsp");
        }
 else{
 login(response , true);
 }
    }

}

عندما يأتينا الطلب "request" في دالة "doGet"تقوم بتحويله إلى دالة قمنا بإنشائها وأسميناها "login" مهمة الدالة عرض فورم "POST" لتسجيل الدخول ، بعد ارسال البيانات بهذا الفورم تأتي مهمة دالة "doPost" وفيها يتم استخدم فئة الاتصال بقاعدة البيانات ..

فئة الاتصال بقاعدة البيانات :

package servlet;
import java.sql.*;
/**
 *
 * @author Admin
 */
public class db {
private String user_name;
private String user_pss;

public db(){}

    /**
     * @return the user_name
     */
    public String getUser_name() {
        return user_name;
    }

    /**
     * @param user_name the user_name to set
     */
    public void setUser_name(String user_name) {
        this.user_name = user_name;
    }

    /**
     * @return the user_pss
     */
    public String getUser_pss() {
        return user_pss;
    }

    /**
     * @param user_pss the user_pss to set
     */
    public void setUser_pss(String user_pss) {
        this.user_pss = user_pss;
    }
public Connection con(){
Connection c =null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("Driver loaded..");
c = DriverManager.getConnection("jdbc:odbc:db");
System.out.println("Connected..");
}catch(Exception e){e.printStackTrace();}
return c;
}
public boolean check(){
boolean auth = false;
try{
Connection c = con();
Statement s = c.createStatement();
String sql = "select * from USERS where USER = '"+this.getUser_name()+"' and PASS = '"+this.getUser_pss()+"';";
ResultSet r = s.executeQuery(sql);
int i = 0;
while(r.next()){i++;}
if(i == 1){auth = true;}
 else{auth = false;}
}catch(Exception e){
e.printStackTrace();}
return auth;
}
}

أعتقد الباقي واضح :)

تحياتي

1

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

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

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