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

أول تطبيق فهل هو صحيح أم لا

بدأه Black_Drag0n في 5 أغسطس 2011 · 10 رد · 838 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

هذا أول تصميم لى jsp و servlets

الكود بالكامل كبير لم أستطع أرفاقه

سوف أقوم بوضعه وتقولوا لى هل أنا صح أم لا

فكرتى فى أرسال البيانات الى القاعدة قدتكون مختلفة شوية

لكن هذا فكرتى فلم أقم بأنشاء Class لتعريف المتغيرات ووضعتها فى نفس ال servlet الخاص بالأضافة للقاعدة

الله وأعلم الفكرة صحيحة أم لا لكنها فكرة ومحاولة

ملحوظة المشروع تم شرحة فى القسم ولكنى غيرت الفكرة كما ذكرت

أولا نبدا بملف index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">
        function checkRequiredFields(frm){
                if (frm.usernameTxt.value.length == 0 ){
                        alert ("يجب دخال الأسم");
                        return false;
                }
                      if (frm.passwdTxt.value.length == 0){
                        alert ("قم بإدخال كلمة المرور");
                        return false;
                }
                      if (frm.fullNameTxt.value.length == 0){
                        alert ("قم بأدخال الأسم كاملا");
                        return false;
                }
                      if (frm.emailTxt.value.length == 0){
                        alert ("قم بإدخال البريد ");
                        return false;
                }
        }
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>تسجيل</title>
</head>
<body dir="rtl">
<form action="AddServle" method="post" onsubmit="return checkRequiredFields(this)">
<table>
        <tr>
                <td>إسم المستخدم</td><td><input type="text" name="usernameTxt"/> </td>
        </tr>
        <tr>
                <td>كلمة المرور</td><td><input type="password" name="passwdTxt"/> </td>
        </tr>
        <tr>
                <td>الإسم الكامل</td><td><input type="text" name="fullNameTxt"/> </td>
        </tr>
        <tr>
                <td>البريد الإلكتروني</td><td><input type="text" name="emailTxt"/> </td>
        </tr>
        <tr>
                <td colspan="2"> <input type="submit" value="تسجيل" /> </td>
        </tr>

</table>
</form>
</body>
</html>

ملف web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <listener>
        <listener-class>DBMySite.AddServle</listener-class>
    </listener>
    <servlet>
        <servlet-name>AddServle</servlet-name>
        <servlet-class>DBMySite.AddServle</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>DBconnect</servlet-name>
        <servlet-class>DBMySite.DBconnect</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AddServle</servlet-name>
        <url-pattern>/AddServle</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>DBconnect</servlet-name>
        <url-pattern>/DBconnect</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <jsp-config>
    </jsp-config>
</web-app>

ملف AddServle

package DBMySite;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;




public class AddServle extends HttpServlet {
        private static final long serialVersionUID = 1L;
        private static final String ENCODING = "UTF-8";
String User ;
String Password ;
String Fullname ;
String Email;
        protected void doadd(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                request.setCharacterEncoding(ENCODING);
                response.setCharacterEncoding(ENCODING);

                   String nextView ;
                    User = request.getParameter("usernameTxt");
                    Password = request.getParameter("passwdTxt");
                    Fullname = request.getParameter("fullNameTxt");
                    Email= request.getParameter("emailTxt");

             Connection Connection = null;
            PreparedStatement ps = null;

        try {
            Connection = new DBConnect().getConnection();
            String query = "INSERT INTO aas(name, Password, Fullname ,Email)"
                    + "values (?, ?, ?, ?);";

            ps = Connection.prepareStatement(query);

            ps.setString(1, User);
            ps.setString(2,Password);
            ps.setString(3, Fullname );
            ps.setString(4, Email);
            ps.executeUpdate();


        } catch (SQLException ex) {

        nextView = "index.jsp" + ex.getMessage();
        }

        }
}

كلا DBConnect

/*
 * DB Manger
 */

package DBMySite;

import java.sql.*;


/**
 * @public class DBConnect
 */

public class DBConnect {


    // <editor-fold defaultstate="collapsed" desc="Connection Detels">
    private final String DRIVER = "com.mysql.jdbc.Driver";
    private final String URL = "jdbc:mysql://localhost:3306/register";
    private final String USER_NAME = "root";
    private final String PASS_WORD = "root";
    private Connection connection;
    private Statement statement;

    private ResultSet resultSet;// </editor-fold>


    // <editor-fold defaultstate="collapsed" desc="DBConnect connetion">
    public DBConnect() {
        try {
            Class.forName(DRIVER);
            connection = DriverManager.getConnection(URL, USER_NAME, PASS_WORD);
        } catch (SQLException ex) {

        } catch (ClassNotFoundException ex) {

        }
    }// </editor-fold>


    // <editor-fold defaultstate="collapsed" desc="return DB connection">
    public Connection getConnection() {
        return connection;
    }// </editor-fold>


}

فهل هذا صحيح

أفيدونا

ولو صحيح يبقى دى فكرتى فى أضافة البيانات

والى بيفكر يلطشها ( حلال عليه ) :lol:

تم تعديل هذه المشاركة بواسطة Black_Drag0n في 5 أغسطس 2011 في 02:54

#2

اخى الكريم

ارفق كود المشروع كاملا

كى نتمكن من عملية التجربه

وايضا قاعده البيانات

Software Developer
Mahmoudkelany.com


 

#3

حاضر أخى سوف أقوم بمحاولة رفعه على سيرفر خارج المنتدى لأن الملف حجمة أكثر من 16 ميجا

والنت عندى ضعيف

قاعدة البيانات من نوع MYSQL

أسم القاعدة register

وبقية المعلومات من هنا

String query = "INSERT INTO aas(name, Password, Fullname ,ُEmail)"

أسم الجدول aas

الحقول

name

Password

Fullname

ُEmail

وأن شاء الله أحاول أرفع الملف لأنى أستخدم USB MODEM والنت عندى 64 كيلو :mad:

#4

نعم ؟؟؟ 16 ميجا ليه ؟؟؟

Software Developer
Mahmoudkelany.com


 

#5
Black_Drag0n كتب:

فهل هذا صحيح

أفيدونا

ولو صحيح يبقى دى فكرتى فى أضافة البيانات

والى بيفكر يلطشها ( حلال عليه ) :lol:

انت اللى هتحدد بقا

اتفضل

Register Web.zip

بس اوعى تلطشها ROFL.gif

Software Developer
Mahmoudkelany.com


 

#6

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

أسف جدا أخى الغالى على التأخر فى الرد

وأشكرك جزيل الشكر على ما أرفقته لى ففد تعلمت منه كثير

فى البدايا لم أكن أعلم كيفية توجيه السلفرتى ولكنى تعلمته من مشروعك بارك الله فيك

فكرتى هى كانت الأستغناء عن بعض الكلاسات مثل كلاس Users الموجود فى jdbc فى مشروعك المرفق الذى يقوم تعريف الحقول قبل أدخالها

لقد قمت بالتجربةكثيرا حتى أقوم بالأستغناء عنه وتقليل الكود بقدر الأمكان أولا عشان الكسل فى كتابة الكود :lol:

ثانياا لأن أى مبتدأ مثلى قد يجده صعبا ويجعله متشتت بين الأكواد

لقد قمت بالتجربة على برنامج SE هذه الطريقة وهى طريقة جميلة جدا وسريعة وتقلص الكود والأن أقوم ببناء تطبيق EE بها

والحمد لله قمت بعمل ذلك

والمشروع فى المرفقات

فأريد رأى محترفى وخبارء الجافا رأيهم فى هذه الطريقة وما هي عيوبها

فأنا مبتدأ وأبتديت تعلم الجافا من أسبوعين فقط أو أقل

فلا تبخلوا على بأى ملحوظة أو معلومة

فقد تروا أن هذه المعلومه لا قيمة لها لكنى من الممكن ألأستفادة منها كثير

وأسف أخى محمود على لطش الكود confused_smile.gif

وجذاك الله كل خير على ما علمتنى ايه من هذا الكود

وشكرا

وتقبل تحياتى

أخوك خالد

تم تعديل هذه المشاركة بواسطة Black_Drag0n في 5 أغسطس 2011 في 17:28

#7

هههههههههههههههه

مش حد يفكرنى بأرفاق المشروع

الواحد جاله الزهيمر :lol: :lol:

قم بأضافة ملف mysql-connector-java-5.1.6-bin فى المسار

MYWeb1\build\web\WEB-INF\lib

لأن حجم الملف أكثر من 600 كيلو

والحد الأقصى المسموح بيه ليا هو 600 كيلو

فى تفرقة عنصرية فى المنتدى ده :lol:

محمود رافع أكثر من واحد ميجا ايه الكوسة دى :lol:

أحنا فى حالة ثورة مفروض كله زى بعض

أنا هشتكى المنتدى ده فى بيت بيت ودار دار وزنجا زنجا وفرد فرد

الى الأمام الى الأمام ثورة ثورة :haha:

MYWeb1.rar

تم تعديل هذه المشاركة بواسطة Black_Drag0n في 5 أغسطس 2011 في 17:27

#8
Black_Drag0n كتب:

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

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

أسف جدا أخى الغالى على التأخر فى الرد

لا ولايهمك

وأشكرك جزيل الشكر على ما أرفقته لى ففد تعلمت منه كثير

العفو دا واجبنا :)

فى البدايا لم أكن أعلم كيفية توجيه السلفرتى ولكنى تعلمته من مشروعك بارك الله فيك

انت لم تعلم لكن البحث والاجتهاد هيعرفك كل حاجه :)

فكرتى هى كانت الأستغناء عن بعض الكلاسات مثل كلاس Users الموجود فى jdbc فى مشروعك المرفق الذى يقوم تعريف الحقول قبل أدخالها

تعالى بقا اما نتكلم فى الجزئيه دى شويه

انت بتستغنى عن Users كلاس لكن كدا انت بتكتب كود هيشتغل دلوقتى

لكن لم تعدل فيه هتلاقى كل حاجه داخله فى بعضها

ثانينا فى طريقه تانيه بسيطه جدا ممكن تعبىء البيانات كلها من JSP page بطريقه الـ useBean ( ابحث عنها )

ثالثا الطريقه المستخدمه MVC ( اقرا عنها هتلاقيها احسن لانها بتفصل كل شىء عن الاخر الكود واللوجيك والبرزنتيشن عن بعض )

لقد قمت بالتجربةكثيرا حتى أقوم بالأستغناء عنه وتقليل الكود بقدر الأمكان أولا عشان الكسل فى كتابة الكود :lol:

بلاش كسل , الكسل بيؤدى الى انك هتعمل البرنامج النهارده وهترميه بكرا لانك مش هتعرف تعدل فيه

وكمان لو كنت شغال فى فريق عمل مش هتعرف تقسم الشغل عليهم

ثانياا لأن أى مبتدأ مثلى قد يجده صعبا ويجعله متشتت بين الأكواد

مفيش تشتت ولا حاجه دا كدا انت بتسهل على نفسك الموضوع بدل ما كل حاجه فوق بعضها( سمك لبن تمر هندى)

لقد قمت بالتجربة على برنامج SE هذه الطريقة وهى طريقة جميلة جدا وسريعة وتقلص الكود والأن أقوم ببناء تطبيق EE بها

نصيحه لا تعتمد على الطريقه اللى ذكرتها دى اللى هى ( سمر لبن تمر هندى ) ROFL.gif

والحمد لله قمت بعمل ذلك

والمشروع فى المرفقات

فأريد رأى محترفى وخبارء الجافا رأيهم فى هذه الطريقة وما هي عيوبها

ذكرت لك عيوبها

فأنا مبتدأ وأبتديت تعلم الجافا من أسبوعين فقط أو أقل

ربنا معاك ان شاء الله

فلا تبخلوا على بأى ملحوظة أو معلومة

نحن لا نبخل على من يريد التعلم لكن من يريد حل الاسئله ولا يتعب نفسه فنحن لا نتعاون معه

فقد تروا أن هذه المعلومه لا قيمة لها لكنى من الممكن ألأستفادة منها كثير

وأسف أخى محمود على لطش الكود confused_smile.gif

ماشى ياعم خالد الطشه

وجذاك الله كل خير على ما علمتنى ايه من هذا الكود

واياكم يارب

وشكرا

وتقبل تحياتى

أخوك خالد

اهلا وسهلا بك فى مجتمع الجافا :)

Software Developer
Mahmoudkelany.com


 

#9
Black_Drag0n كتب:

هههههههههههههههه

مش حد يفكرنى بأرفاق المشروع

الواحد جاله الزهيمر :lol: :lol:

ههههههه من اولها كدا

لا اظبط نفسك

قم بأضافة ملف mysql-connector-java-5.1.6-bin فى المسار

ماشى ياعم

MYWeb1\build\web\WEB-INF\lib

لأن حجم الملف أكثر من 600 كيلو

والحد الأقصى المسموح بيه ليا هو 600 كيلو

هههههههه ما دا المسموح ليك ( كعضو جديد )

فى تفرقة عنصرية فى المنتدى ده :lol:

محمود رافع أكثر من واحد ميجا ايه الكوسة دى :lol:

أحنا فى حالة ثورة مفروض كله زى بعض

مفيش تفرقه ولا حاجه بس المجموعه بتاعت الخبراء

مسموح ليا ارفع حتى 7.23 ميجا مش اكتر من واحد ميجا بس ROFL.gif

المنتدى لسه محصلش فيه ثوره ( لان مؤسسه من السعوديه والسعودية محصلش فيها ثوره )

أنا هشتكى المنتدى ده فى بيت بيت ودار دار وزنجا زنجا وفرد فرد

الى الأمام الى الأمام ثورة ثورة :haha:

ماشى ياعم القذافى

Software Developer
Mahmoudkelany.com


 

#10
اقتباس
عالى بقا اما نتكلم فى الجزئيه دى شويه

انت بتستغنى عن Users كلاس لكن كدا انت بتكتب كود هيشتغل دلوقتى

لكن لم تعدل فيه هتلاقى كل حاجه داخله فى بعضها

ثانينا فى طريقه تانيه بسيطه جدا ممكن تعبىء البيانات كلها من JSP page بطريقه الـ useBean ( ابحث عنها )

ثالثا الطريقه المستخدمه MVC ( اقرا عنها هتلاقيها احسن لانها بتفصل كل شىء عن الاخر الكود واللوجيك والبرزنتيشن عن بعض )

شكرا يا محمود على نصيحتك بالنسبة للكود

وجارى البحث عن useBean وال MVC وأنت شاء الله راح أرد عليك

وشكرا على أيضاحك عيوب هذا الكود

بأذن الله بعد عملية البحث وأنشاء مشروع جديد سوف أرفقه فى الموضوع لمعرفة رأيك فيه

اقتباس

هذا أول سؤال لى وهذا بعد تعلمى بعد الأشياء ومحاولة تركيب الكود بطريقة جديدة

اقتباس
ماشى ياعم خالد الطشه

اهلا وسهلا بك فى مجتمع الجافا smile.gif

شكرا ليك أخى الغالى

اقتباس
هههههههه ما دا المسموح ليك ( كعضو جديد )

مفيش تفرقه ولا حاجه بس المجموعه بتاعت الخبراء

مسموح ليا ارفع حتى 7.23 ميجا مش اكتر من واحد ميجا بس ROFL.gif

المنتدى لسه محصلش فيه ثوره ( لان مؤسسه من السعوديه والسعودية محصلش فيها ثوره )

7 ميجا laugh.gif

أبقى فكرنى أروح أعمل ثورة فى السعودية أنا كمان عايز اقدر أرفع ال 7 ميجا

اقتباس
ماشى ياعم القذافى

لا لا موصلتش للقذافى أحسن تعملوا عليا عقوبات فى المنتدى confused_smile.gif

#11
Black_Drag0n كتب:

7 ميجا laugh.gif

أبقى فكرنى أروح أعمل ثورة فى السعودية أنا كمان عايز اقدر أرفع ال 7 ميجا

لا لا موصلتش للقذافى أحسن تعملوا عليا عقوبات فى المنتدى confused_smile.gif

على فكرا فيه عيوب ثانيه لكن بجد الواحد صايم بقا فانسانى هههههه

اعمل ياعم براحتك ههههههه

لا خلاص مش هنفرض عليك :D

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 5 أغسطس 2011 في 22:57

Software Developer
Mahmoudkelany.com


 

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