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

اريد المساعده لاضافة حقل في قواعد البيانات عن طريق Servlet & java Bean

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

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

عندي استفسار سريع وضروري

عندي صفحة تسجيل عبارة عن فورم ادخال بيانات

وصفحة servlet لاستقبال البيانت

وملف جافا كلاس عادي عباره عن دالتين.. دالة بناء ودالة اضافة الى الداتا بيز حقل

لما استدعي الكلاس واسوي اضافة من السيرفلت لايقبل

فسويت ملف جافا برنامج عادي يستدعي الكلاس بين واضاف البيانت بشكل طبيعي

فماهو الاشكال؟؟ مشكورين

تم تعديل هذه المشاركة بواسطة أبوعابد العمري في 1 ديسمبر 2011 في 20:45

#2

السلام عليكم ..

اقتباس
لما استدعي الكلاس واسوي اضافة من السيرفلت لايقبل

  1. ما هي رسالة الخطأ التي تظهر .. أم لا يظهر شي
  2. ممكن وضع الكود ..كي يساعدك الاعضاء

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 1 ديسمبر 2011 في 20:55

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

ملف servlet اسمه Register.java


package com.files.web;

import com.files.model.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class Register extends HttpServlet{
public void doGet(HttpServletRequest req,HttpServletResponse res)throws IOException,ServletException{
PrintWriter out = res.getWriter();

String id = req.getParameter("uname");
String pass = req.getParameter("pass");
String email = req.getParameter("email");
String type = req.getParameter("type");
String fname = req.getParameter("fname");
String lname = req.getParameter("lname");

try{
user u1 = new user();
String c = u1.newUser("88022","","","cc","ff","Student");
out.println(c);
}catch(Exception e){
res.setContentType("text/html");
out.println("error");

}


}

public void doPost(HttpServletRequest req,HttpServletResponse res)throws IOException,ServletException{
doGet(req,res);

}
}

ملف الجافا بين اسمه user.java


package com.files.model;

import java.util.*;
import java.sql.*;
/**
* @(#)user.java
*
*
* @author
* @version 1.00 2011/12/1
*/


public class user {
public Connection con ;
private String id;
private String First_name;
private String Last_name;
private String email;
private String password;
private String User_type;
private String state ;
public user() throws SQLException {
try
{
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/mydb", "root", "root");
}
catch(Exception e){

}
}
public String newUser(String id1,String first,String last,String email1,String pass,String type){

id=id1;
First_name = first;
Last_name = last;
email = email1;
User_type = type;
password = pass;
state = "no";
try{
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/mydb", "root", "root");
PreparedStatement s;
s = con.prepareStatement("INSERT INTO users (idUsers,f_Name,l_Name,email,password,user_Type, active) VALUES(?,?,?,?,?,?,?)");
s.setString(1,id);
s.setString(2,First_name);
s.setString(3,Last_name);
s.setString(4,email);
s.setString(5,password);
s.setString(6,User_type);
s.setString(7,state);
s.executeUpdate();
s.close();
return "ok";
}catch(SQLException e){
return e.getMessage();
}catch(Exception e){

return e.getMessage();
}

}


}

ملف كتبته لاختبار العمل وهو عباره عن برنامج عادي وفعلا نجح في استدعاء الدالة واضافة الحقل اسمه testing.java


package com.files.model;

import java.util.*;
import java.sql.*;
import com.files.model.*;
/**
* @(#)user.java
*
*
* @author
* @version 1.00 2011/12/1
*/


public class testing {
public static void main(String arg[]) throws SQLException {
try
{ user u1 = new user();
String c = u1.newUser("88022","","","cc","ff","Student");
System.out.println(c);
}
catch(SQLException e){
System.out.println(e.getMessage());
}catch(Exception e1){

}
}


}

حينما استدعي الدالة من صفحة servlet تخرج لي رسالة

com.mysql.jdbc.Driver

او

احينانا

null

#4

السلام عليكم ..

  1. المثال يعمل على NetBeans و السيرفر Tomcat 6 بلا مشاكل كــ (Web Application) ..
  2. لكن يجب إضافة ملف الــ Jar الخاص بــ MySql ..و هو mysql-connector-java-5.1.6-bin.jar (أو أي الاصدار المتوافق مع السيرفر المثبت) إلى الــ Libraries في المشروع ..
  3. العنوان الصحيح للــ Servlet هو
    http://localhost:8081/ArabTeamWeb/Register

    .. حيث ArabTeamWeb هو اسم المشروع .

  4. ربما الخطأ ان الحقل IdUsers هو مفتاح رئيسي للجدول و بالتالي لا يمكن تكراره .. حاول تغيير القيمة المحددة في الكود من 88022 إلى أي قيمة أخرى غير موجودة سابقا ..
  5. إذا لم تحل المشكلة .. انسخ لنا كامل رسالة الخطأ ..

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 1 ديسمبر 2011 في 23:16

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#5

اشكرك ياعزيزي

اضافة الحقل تعمل وتضيف الداتا بيز ولكن اذا استدعيت الدالة في برنامج عادي

لكن اذا استدعيتها في صفحة سيرفلت لاتعمل وتخرج لي رسالة " com.mysql.jdbc.Driver"

اما بالنسبة للمفتاح فانا حاسب حساب الامر هذا وفي كل مره اغير القيم والدليل انه اضاف في الداتا بيز ولكن على شكل برنامج وليس على شكل صفحة servlet

المشكله فقط انه لايقبل اضافة الحقل من السيرفلت بينما اضاف وبشكل صحيح في البرنامج

#6

السلام عليكم ..

ممكن صورة للشاشة حيث تظهر رسالة الخطأ .. screenshot بالــ prtSc أو Print Screen

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#7

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

اشكرك اخي حسام على الاهتمام والمساعده

للاسف غيرت البرنامج واستخدمت اسلوبا اخر لضيق الوقت

كنت بالبداية ناوي اكمل مشروع بوابة الكترونية ببنية mvc لكن للاسف لم تنفع لا ادري لماذا

ولكن فقط استغنيت عن البين واستخدمت السيرفلت فقط مع صفحات الــ view

دمت بحفظ الباري

تم تعديل هذه المشاركة بواسطة أبوعابد العمري في 2 ديسمبر 2011 في 13:48

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…