Java-Business-Application/C2/Database-and-validation/Bengali
From Script | Spoken-Tutorial
Revision as of 12:19, 19 September 2017 by Kaushik Datta (Talk | contribs)
Time | Narration |
00:01 | Database and validation এর টিউটোরিয়ালে আপনাদের স্বাগত। |
00:06 | এই টিউটোরিয়ালে আমরা শিখব: |
00:08 | ডাটাবেসের সাথে যোগাযোগ করা। |
00:10 | ফীল্ডস যাচাই করা। |
00:12 | এখানে আমরা ব্যবহার করছি: উবুন্টু সংস্করণ 12.04 |
00:15 | Netbeans IDE 7.3 |
00:19 | JDK 1.7 |
00:21 | ফায়ারফক্স ওয়েব ব্রাউজার 21.0 |
00:24 | আপনি পছন্দের যে কোনো ওয়েব ব্রাউজার ব্যবহার করতে পারেন। |
00:28 | টিউটোরিয়ালটি অনুসরণ করতে জানতে হবে- |
00:31 | Java Servlets এবং JSPs এর মূল বিষয়। |
00:35 | Netbeans IDE থেকে MySQL ডাটাবেসে জোড়া। |
00:39 | ডাটাবেস এবং টেবিল বানানো। |
00:42 | না হলে, প্রাসঙ্গিক টিউটোরিয়ালের জন্য আমাদের ওয়েবসাইটে যান। |
00:47 | এখন, Netbeans IDE তে যান। |
00:52 | আমি MySQL সার্ভার চালু করেছি। |
00:55 | আমি লাইব্রেরী নামে একটি ডাটাবেস বানিয়েছি। |
01:00 | আমি Users নামে একটি টেবিল বানিয়েছি। |
01:04 | আমি ইতিমধ্যে এই টেবিলে কিছু ভ্যালু লিখেছি। |
01:08 | এখন সেগুলি দেখাবো। |
01:10 | Users এ ডান ক্লিক করুন এবং View Data তে ক্লিক করুন। |
01:15 | নীচে Output বোতামে ক্লিক করুন। |
01:19 | আমরা এখানে 15 জন ইউসার দেখি। |
01:23 | আমরা FirstName, Surname, Age, Gender, email, Username এবং Password দেখি। |
01:31 | JDBC ড্রাইভার লোড করি যা Java Database Connectivity Driver. |
01:39 | তাই Projects ট্যাবে ক্লিক করুন। |
01:42 | Libraries এ ডান ক্লিক করুন এবং Add Library তে ক্লিক করুন। |
01:46 | তারপর MySQL JDBC Driver এ ক্লিক করুন। |
01:50 | Add Library তে ক্লিক করুন। |
01:53 | এটি JDBC Driver লোড করবে। |
01:56 | এখন প্রজেক্ট রান করি যেমনকি আগে করেছি। |
02:00 | ইউসারনেমে লিখুন arya এবং পাসওয়ার্ড এ লিখুন arya123. |
02:06 | Sign In এ ক্লিক করুন। |
02:08 | আমরা Success Greeting পৃষ্ঠা দেখতে পারি। |
02:12 | লগ আউট করতে here এ ক্লিক করুন। |
02:15 | এখন, IDE তে ফিরে আসি। |
02:17 | আমরা Greeting servlet ডট java তে যাবো। |
02:21 | doPost মেথডে আসুন। |
02:23 | প্রথমে, getParameter () মেথড ব্যবহার করে request থেকে ইউসারনেম এবং পাসওয়ার্ড পাই। |
02:31 | এরপর JDBC সংযোগের কোড দেখবো। |
02:35 | আমরা Connection object, PreparedStatement object এবং Resultset object কে null এ ইনিসিয়েলাইজ করেছি। |
02:44 | তারপর ড্রাইভারটি প্রোগ্রামে রেজিস্টার করি। |
02:48 | তারপর আমরা ডাটাবেসের সাথে সংযোগ করি। |
02:52 | তারপর, prepareStatement মেথড Connection object এ নিষ্পাদিত করি। |
02:58 | আমরা Users টেবিল থেকে ইউসার বর্ণন পেতে সন্ধান করি। |
03:03 | ফর্মে লেখা ইউসারনেম এবং পাসওয়ার্ড একই কিনা তা যাচাই করি। |
03:09 | এখানে, প্রশ্ন চিহ্ন ডাটাবেসে প্রতিটি ফীল্ড নির্দেশ করে। |
03:15 | প্রশ্ন চিহ্নের জায়গায় ভ্যালু দিতে, আমরা setString () মেথড নিষ্পাদিত করি। |
03:22 | আমরা PreparedStatement object ব্যবহার করে করি। |
03:26 | তারপর Prepared statement অবজেক্ট executeQuery মেথড নিষ্পাদিত করি। |
03:33 | আমরা ফলাফল ResultSet এ সংরক্ষণ করি। |
03:37 | সফল লগইনের জন্য, successGreeting page প্রদর্শন করি। |
03:43 | তাই আমরা RequestDispatcher ইন্টারফেস ব্যবহার করি। |
03:48 | আমরা request এ requestDispatcher অবজেক্ট পেতে getRequestDispatcher () মেথড ব্যবহার করি। |
03:56 | তারপর RequestDispatcher অবজেক্ট forward method ব্যবহার করি। |
04:02 | এইভাবে, আমরা successGreeting ডট jsp এর দিকে এগোই। |
04:07 | এখন স্লাইডে ফিরে আসি। |
04:10 | আমরা RequestDispatcher ইন্টারফেস সম্পর্কে শিখি। |
04:15 | এই ইন্টারফেস request কে অন্য রিসোর্সে অনুরোধ পাঠাতে সুবিধা প্রদান করে। |
04:22 | এই রিসোর্স html, servlet বা jsp হতে পারে। |
04:26 | এখন, IDE তে ফিরে আসি। |
04:29 | এখন successGreeting ডট jsp তে আসি। |
04:33 | এখানে, You have successfully logged in ম্যাসেজ দেখাচ্ছে। |
04:38 | এখন, ব্রাউজারে ফিরে আসি। |
04:41 | ইউসারনেম এবং পাসওয়ার্ড লিখি যা ডাটাবেসে অন্তর্ভুক্ত করিনি। |
04:47 | তাই ইউসারনেমে abc এবং পাসওয়ার্ড হিসেবে abc123 লিখি। |
04:56 | তারপর Sign In এ ক্লিক করুন। |
04:59 | আমরা দেখি যে একই পৃষ্ঠায় এরর পেয়েছি। |
05:03 | Please correct the following error!!! Invalid username or password |
05:09 | এখন, এর কোড দেখি। |
05:12 | IDE তে ফিরে আসি। |
05:14 | GreetingServlet ডট java তে যাই। |
05:17 | বৈধতা ব্যর্থ হলে আমাদের এরর ম্যাসেজ পাওয়া উচিত। |
05:22 | প্রথমে, এরর ম্যাসেজের সূচী ইনিসিয়েলাইজ করেছি। |
05:27 | আমরা setAttribute মেথড দ্বারা request scope এ ভ্যারিয়েবল এরর ম্যাসেজ সেট করেছি। |
05:35 | এখানে এরর ম্যাসেজ হল অ্যাট্রিবিউটের নাম। |
05:39 | আমরা একটি স্ট্রিং ভ্যারিয়েবল id কে null এ ইনিসিয়েলাইজ করেছি। |
05:44 | তারপর, ইউসার ডেটাবেসে থাকলে তা যাচাই করি। |
05:48 | হ্যাঁ হলে আমরা ভ্যালু id ভ্যারিয়েবলে সংরক্ষণ করি। |
05:53 | অন্যথায়, এরর ম্যাসেজের সূচীতে এরর Invalid username or password যোগ করি। |
06:00 | এরর ম্যাসেজের সূচীটি খালি না থাকলে আমরা এরর ম্যাসেজ index ডট jsp তে প্রদর্শন করি। |
06:09 | তাই index ডট jsp তে যেতে হবে। |
06:13 | আমরা আগেই দেখেছি যে RequestDispatcher দ্বারা অন্য পৃষ্ঠায় কিভাবে যায়। |
06:20 | exception এর অবস্থা সঞ্চলন করতে কোডটি try catch block এ অন্তর্ভুক্ত করেছি। |
06:27 | এখন দেখি যে এরর ম্যাসেজ ভ্যারিয়েবলকে index ডট jsp তে কিভাবে আনে। |
06:34 | প্রথমে attribute এরর ম্যাসেজের ভ্যালু পাই। |
06:38 | এটি request এ getAttribute মেথড দ্বারা করা হয়েছে। |
06:44 | আমরা Java code কে ওপেনিং ট্যাগ যা হল লেস দেন সাইন পার্সেন্টেজ সাইন এবং ক্লোসিং ট্যাগ পার্সেন্টেজ সাইন এবং গ্রেটার দেন সাইন এ অন্তর্ভুক্ত করেছি। |
06:57 | কোডের এই ব্লককে scriptlet বলে। |
07:02 | এতে java code রয়েছে যা JSP কার্যকর করার সময় বারবার নিষ্পাদিত হয়। |
07:08 | এরর ম্যাসেজের ভ্যালু null না হলে আমরা এই ম্যাসেজ পাই |
07:15 | Please correct the following errors |
07:18 | তারপর এরর ম্যাসেজের সূচীর মাধ্যমে পুনরাবৃত্তি করি। |
07:23 | তারপর সূচী হিসাবে এরর ম্যাসেজ দেখি। |
07:27 | এইভাবে এরর ম্যাসেজ index ডট jsp তে প্রদর্শন করি। |
07:32 | এখন, ইউসারকে ডাটাবেসে যোগ করা দেখি। |
07:37 | ডাটাবেসে ইউসার যোগ করার পূর্বে, ইউসার টেবিলের জন্য একটি model বানাতে হবে। |
07:44 | এখন, দেখি model কি। |
07:48 | একটি model: সফটওয়্যার অ্যাপ্লিকেশনে অন্তর্নিহিত ডেটার লজিক্যাল স্ট্রাকচার প্রতিনিধিত্ব করে। |
07:55 | attributes এর জন্য java class এবং তাদের জন্য setters এবং getters. |
08:00 | এইভাবে, আমরা model কে ব্যক্তিগত বৈশিষ্ট্যের পরিবর্তে সম্পূর্ণরূপে বিবেচনা করি। |
08:07 | এখন, Netbeans IDE তে ফিরে আসুন। |
08:11 | আমি ইতিমধ্যে User ডট java মেথড বানিয়েছি। |
08:16 | লক্ষ্য করুন আমরা java ক্লাস package org dot spokentutorial dot model এ বানিয়েছি। |
08:24 | আমাদের নিম্নোক্ত বৈশিষ্ট্যগুলি রয়েছে- firstName, surname, age, gender, email, username, password. |
08:33 | আমরা তাদের খালি ভ্যালুতে ইনিসিয়েলাইজ করেছি। |
08:37 | তারপর আমাদের কাছে parameterized constructor রয়েছে। |
08:41 | default constructor ও রয়েছে। |
08:44 | আমরা getFirstName method নির্ধারণ করি। |
08:47 | আমরা setFirstName method ও নির্ধারণ করি। |
08:51 | একইভাবে, set এবং get মেথড প্রতিটি বৈশিষ্ট্যে সংজ্ঞায়িত করি। |
08:57 | ব্রাউজারে ফিরে আসি। |
08:59 | এখন, রেজিস্টার করতে here link এ ক্লিক করুন। |
09:03 | Registration এ সকল ফীল্ড টাইপ করুন। |
09:07 | তারপর Add User এ ক্লিক করুন। |
09:10 | আমরা Add User Success Page পাই। |
09:14 | আমরা Your request to add harshita was successful ম্যাসেজ পাই। |
09:20 | এখানে আমাদের দেওয়া harshita, username ছিল। |
09:24 | এখন দেখি যে এটি কিভাবে হয়েছে। |
09:28 | IDE তে ফিরে যান। |
09:30 | AddUserServlet ডট java তে যান। |
09:35 | স্টেপগুলি একই, যেমন আমরা GreetingServlet ডট java তে অনুসরণ করেছি। |
09:40 | প্রথমে, getParameter method দ্বারা form parameters পাই। |
09:46 | ব্যক্তিগত attribute সহ User Model এর Instance এর মত ইউসার ভ্যারিয়েবলকে ইনিসিয়েলাইজ করি। |
09:53 | setAttribute মেথড দ্বারা request scope এ ভ্যারিয়েবল ইউসার সেট করেছি। |
10:01 | ফর্ম ভরার সময় কোনো এরর না থাকলে ইউসার টেবিলে ভ্যালু সন্নিবেশ করতে কোয়েরি নিষ্পাদিত করি। |
10:10 | তারপর success user পেজের দিকে এগোই। |
10:15 | এখন successUser ডট jsp তে আসি। |
10:19 | প্রথমে User ডট java ইম্পোর্ট করেছি। |
10:24 | কোডের এই লাইনকে directive in JSP বলে। |
10:28 | JSP directive ওপেনিং ট্যাগ লেস দে সাইন পার্সেন্টেজ সাইন এবং এট দা রেট সাইন দ্বারা শুরু হয় এবং ক্লোসিং ট্যাগ পার্সেন্টেজ সাইন এবং গ্রেটার দেন সাইন দ্বারা সমাপ্ত হয়। |
10:42 | এই পৃষ্ঠাটি হল পেজ directive. |
10:45 | পেজ directive সকল ইম্পোর্ট করা প্যাকেজের সূচী রাখে। |
10:50 | আমরা অ্যাট্রিবিউট ইউজারের ভ্যালু পাই এবং এটি User object হিসেবে সংরক্ষণ করি। |
10:57 | তারপর, এখানে success message রয়েছে। |
11:00 | এখানে, আমরা ইউজারনেম সনাক্ত করেছি। |
11:04 | আমরা request object এ getUsername() method ব্যবহার করেছি। |
11:09 | scriptlet tags ব্যবহার করে এটি করেছি। |
11:12 | এখন ব্রাউজারে ফিরে আসি। |
11:15 | ইতিমধ্যে ডাটাবেসে স্থিত ইউসারকে আমরা যোগ করার চেষ্টা করব। |
11:20 | সুতরাং, আমি আবার harshita যোগ করার চেষ্টা করব। |
11:24 | আমরা এখানে এরর ম্যাসেজ পেয়েছি Please correct the following errors!!! Duplicate entry 'harshita' for key username. |
11:33 | এখন, আবার ইউসার রেজিস্টার করি। |
11:37 | এখানে, আমি একটি ফর্ম ভরেছি। |
11:40 | আমি Age ফীল্ডে একটি ভুল বানিয়েছি। |
11:44 | আমি একটি বৈধ নম্বরের জায়গায় ab লিখেছি। |
11:48 | এখন Add User এ ক্লিক করুন। |
11:51 | আমরা এরর ম্যাসেজ পাই - The age must be a positive integer. |
11:57 | এখন দেখি যে এটি কিভাবে হয়। |
12:00 | IDE তে ফিরে আসি। |
12:03 | AddUserServlet ডট java খুলুন। |
12:08 | এখানেও, এরর ম্যাসেজের সূচী বানিয়েছি। |
12:11 | এরপর setAttribute মেথড দ্বারা request scope এ ভ্যারিয়েবল এরর ম্যাসেজ সেট করেছি। |
12:18 | তারপর, ইন্টিজার টাইপের ageUser ঘোষিত করেছি এবং এটি -1 দ্বারা ইনিসিয়েলাইজ করেছি। |
12:26 | try catch block এর ভিতর, parseInt মেথড ব্যবহার করেছি। |
12:31 | এটি ইন্টিজার দেবে, যখনকি নম্বরের স্ট্রিং প্রদর্শন ইনপুট হিসাবে হয়। |
12:37 | এখানে আমরা যাচাই করি যে age ফীল্ড বৈধ পজিটিভ ইন্টিজার রাখে। |
12:44 | বৈধতা ব্যর্থ হলে এরর ম্যাসেজের সূচীতে এরর ম্যাসেজ যুক্ত করি। |
12:51 | age পজিটিভ ইন্টিজার হওয়া আবশ্যক। |
12:54 | একইভাবে, আমাদের যাচাই করতে হবে যে অন্যান্য সকল ফীল্ড বৈধ ডেটা রাখে। |
13:01 | এরর ম্যাসেজের সূচী খালি না হলে আমরা addUser ডট jsp তেই এরর ম্যাসেজ প্রদর্শন করব। |
13:09 | আমরা এও দেখেছি যে RequestDispatcher দ্বারা এটি কিভাবে হয়। |
13:15 | এখন, addUser ডট jsp তে আসি। |
13:19 | এখানে, প্রথমে user ডট java ইম্পোর্ট করেছি। |
13:24 | scriptlet tags এ, আমরা user টাইপের অবজেক্ট বানিয়েছি। |
13:31 | তারপর getAttribute মেথড দ্বারা attribute এর ভ্যালু এরর ম্যাসেজ পাই। |
13:38 | আমরা যাচাই করি যে এই ভ্যালু null এর সমান কিনা। |
13:43 | এটি null এর সমান না হলে আমরা এরর ম্যাসেজ যেমন আমরা index ডট jsp এর জন্য করেছি তা দেখাই। |
13:51 | না হলে, User model দ্বারা এট্রিবিউট request থেকে user এর ভ্যালু পাবো। |
13:59 | তারপর ফর্ম রয়েছে। |
14:01 | ফর্ম ট্যাগ AddUserServlet এর মত action এবং POST এর মত method রাখে। |
14:07 | প্রথম ফীল্ড text এর মত ইনপুট টাইপের First Name, FirstName এর মত Name এবং user ডট getFirstName এর মত value. |
14:18 | এখানে, firstName এর ভ্যালু খালি স্ট্রিং দ্বারা ইনিসিয়েলাইজ করছি। |
14:24 | একইভাবে, আপনাকে অন্যান্য ফীল্ডের জন্য করতে হবে। |
14:28 | আমাদের কাছে submit বোতাম এবং Add User এর মত ভ্যালুসও রয়েছে। |
14:33 | এইভাবে আমরা addUser.jsp তে ফীল্ডগুলি যাচাই করি। |
14:38 | Add User page এ বিভিন্ন এরর পরীক্ষা করতে পারেন। |
14:42 | এখন, দেখি যে ইউসার harshita ডাটাবেসে যুক্ত হয়েছে কিনা। |
14:49 | ইউসার টেবিলে ফিরে আসি। আমরা দেখি যে harshita ডাটাবেসে জুড়ে গেছে। |
14:56 | এই টিউটোরিয়ালে আমরা শিখেছি: |
14:58 | ডাটাবেসের সাথে যোগাযোগ করা এবং |
15:00 | ফীল্ডস যাচাই করা। |
15:02 | স্পোকেন টিউটোরিয়াল প্রকল্প সম্পর্কে আরও জানতে, নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি দেখুন। |
15:07 | এটি প্রকল্পকে সারসংক্ষেপে বোঝায়। |
15:11 | ভাল ব্যান্ডউইডথ না থাকলে ভিডিওটি ডাউনলোড করে দেখুন। |
15:15 | স্পোকেন টিউটোরিয়াল প্রকল্প দল |
15:17 | কর্মশালার আয়োজন করে। |
15:20 | অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়। |
15:23 | বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন। |
15:29 | স্পোকেন টিউটোরিয়াল প্রকল্প Talk to a Teacher প্রকল্পের অংশবিশেষ। |
15:32 | এটি ভারত সরকারের ICT, MHRD এর জাতীয় শিক্ষা মিশন দ্বারা সমর্থিত। |
15:38 | এই বিষয়ে বিস্তারিত তথ্য http://spoken-tutorial.org/NMEICT- Intro তে প্রাপ্তিসাধ্য। |
15:48 | Library Management System একটি সফ্টওয়্যার MNC, তাদের Corporate Social Responsibility প্রোগ্রামের মাধ্যমে করেছে। |
15:57 | তারা টিউটোরিয়ালের বিষয়বস্তু ও যাচাই করেছে। |
16:02 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। |