Search
Search titles only
By:
Search titles only
By:
Log in
Register
Search
Search titles only
By:
Search titles only
By:
Menu
Install the app
Install
Forums
New posts
All threads
Latest threads
New posts
Trending threads
Trending
Search forums
What's new
New posts
New ads
New profile posts
Latest activity
Free Ads
Latest reviews
Search ads
Members
Current visitors
New profile posts
Search profile posts
Contact us
Latest ads
Ad icon
ZTE MF283U 4G Unlocked Router (Used)
ayanthamaxi
Updated:
Yesterday at 8:26 PM
ලංකාවේ හොඳම උපකාරක පන්ති සහ ගුරුවරුන් එකම තැනකින් - TopTuition.lk
dulithapathum
Updated:
Saturday at 8:07 AM
Colombo
RidhMathraa ’26 🎶✨
Tmadhusanka
Updated:
Wednesday at 11:58 PM
Ad icon
Colombo
PXN V10 Pro Direct Drive Racing Wheel (Under Warranty)
Abdur Rahman
Updated:
Wednesday at 10:23 PM
Ad icon
USDT ණය සේවාව - USDT Loan Service
පුරවැසියා
Updated:
Wednesday at 4:54 PM
Electronics
Vehicles
Property
Search
Reply to thread
Forums
Computers & Internet
Software Development
java web development 6 කොටස - DB handling
Get the App
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Message
<blockquote data-quote="J Sparrow" data-source="post: 18889820" data-attributes="member: 387729"><p><span style="font-size: 18px"><span style="color: Navy">ඕං ආවා lesson 6 අරගෙන. පොඩි කරදර වගයක් උනා. ඒකයි late උනේ. <img src="/styles/default/xenforo/smilies/default/sorry.gif" class="smilie" loading="lazy" alt=":sorry:" title="Sorry :sorry:" data-shortname=":sorry:" /></span></span></p><p><span style="font-size: 18px"><span style="color: Navy">මම කලින් කියපු විදියටම, අද කරන්න බලාපොරොත්තු වෙන්නේ අපේ project එකට database එකක් connect කරන්න.</span></span></p><p><span style="font-size: 18px"><span style="color: Navy"></span></span></p><p><span style="font-size: 18px"><span style="color: Navy">5th </span></span><span style="font-size: 18px"><span style="color: Navy"><span style="font-size: 18px"><span style="color: Navy">lesson</span></span> එකේදී කිව්වා වගේ</span></span><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkRed">1 - MySQL server</span></span></p><p><span style="font-size: 18px"><span style="color: DarkRed">2 - MySQL-administrator</span></span></p><p><span style="font-size: 18px"><span style="color: DarkRed">3 - MySQL-query-browser</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ටික install කරගන්න ඇති කියලා හිතනවා. <img src="/styles/default/xenforo/smilies/default/rolleyes.gif" class="smilie" loading="lazy" alt=":rolleyes:" title="Rolleyes :rolleyes:" data-shortname=":rolleyes:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">හරි! මේ තියෙන්නේ මම install කරගත්ත ටික.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/tHORpm3.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">මේ?</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/uapiyjv.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">MySQL server එක windows service එකක් විදියට දැනටමත් run වෙනවා. <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen"></span></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen">අපි <strong>මුලින්ම පොඩි database එකක් හදමු</strong>.</span></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen"></span></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen"></span><span style="color: DarkSlateBlue"><strong>MySQL-administrator එක open කරපල්ලකෝ.</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/S0hey1p.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkSlateBlue">ඔය <strong>Server host කියන තැනට localhost කියලා දීපල්ලා, port එක වෙනස් කරන්න යන්න එපා.</strong> ඒක තමයි default port එක.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkSlateBlue">ඊට පස්සේ <strong>username, password ඉල්ලන තැනට මේක install කරගද්දි දුන්න username, password දාලා OK කලාම </strong>මෙන්න මේ වගේ MySQL-administrator එකට අපිට log වෙන්න පුළුවන්.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/eLEY0x6.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">හරි! ඒ Basics! වැඩේට බහිමු බොලව්! <img src="/styles/default/xenforo/smilies/default/dull.gif" class="smilie" loading="lazy" alt=":dull:" title="Dull :dull:" data-shortname=":dull:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkSlateBlue">අපි <strong>මුලින්ම schema එකක් හදන්න ඕනේ</strong>.</span> </span></p><p><span style="font-size: 18px"><span style="color: Red">** ඒ කියන්නේ මේ schema එකක් ඇතුලේ තමයි අපේ project එක related database tables තියෙන්නේ.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් ඔය <strong>left panel එකේ තියෙන Catalogs කියන node එක click</strong> කරපල්ලා. </span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඊට පස්සේ <strong>පහලින් බොලාට පෙනෙයි දැනට තියෙන default schemes ටික</strong>.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/d98D3iz.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් ඒ schemes තියෙන පැත්තෙන්<strong> right click කලා --> Create New Schema</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/7yGvaVy.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හරි! අපි දැන් මේකට නමක් දෙන්න ඕනේ බොලව්! </span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හැමදාම බොලාට Student management systems හදලා, Library systems හදලා එපා වෙලා ඇතිනේ? අපි හදමු contacts management system එකක්! </span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">complex නෑ simple and easy!</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න මම නම දෙනවා contacts කියලා. </span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/2xiofx2.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැක්කනේ?</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඊට පස්සේ OK ඔබපල්ලා! ඕන්න add උනා.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/UZx3l4D.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් <strong>contacts උඩ double click </strong>කරපියව්</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/Cnhf9J1.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><strong>Create Table button එක click කරන්න</strong> පුතාලා!</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/6mlIexH.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් එන wizard එකට ඔන්න ඔය විදියට අපි table fields ටික දාගන්නවා. </span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැනට ඔය තියෙන field settings ඔහොම්මම apply කරගන්න.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">** ලොකු දෙයක් නෑ! උඹලට අත පත ගාලා මේ වැඩේ කරගන්න පුළුවන්. <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">after that, <strong>click on "Apply changes" button </strong>බොලව්!</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/l821ZuH.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><strong><span style="color: Red">Da faq is that?</span></strong> <img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">පුතාලා, ගණන් ගන්න එපා Execute ඔබන්න.</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><span style="color: Red"></span></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><span style="color: Red">** ඔය පෙන්නන්නේ අපි apply කරපු fields වලට අදාලව user table එක create කරන්න execute කරන්න ඕනේ SQL statement එක.</span></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/CD8upba.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න add උනා.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">** දැනට මේකේ (user table) data මොනවත් නෑ හොඳේ? ඔය පේනවානේ? Row count එක 0.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">අපි දැන් <strong>මේකට data add කරන්නයි යන්නේ</strong>. හරි ළමායි! දැන්<strong> MySQL-query-browser open කරන්න.</strong></span></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/4uA2Umk.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔව්! කලින් වගේම තමයි!</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/VIZNi3o.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔහොම මගුලක් එයි! ඔය tick එක දාල OK කරපල්ලා.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/85fo42A.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඕන්න ආවා! </span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">පේනවානේ අපෙ schema එක and table එක තියෙනවා? <img src="/styles/default/xenforo/smilies/default/wink.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">එහෙනම් දැන් මේකට මම <strong>fake data ටිකක් දානවා</strong>.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/RBNqdki.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න හරිනේ?</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span><span style="color: Red">** ඔය row cell එකක් උඩ click කරලා F2 ඔබපුවාම edit mode එකට එනවා! Data insert කරලා, ඊට පස්සේ ඔය පහාලම තියෙන Apply changes button එක click කරලා changes apply කරන්න.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><strong>Okay! දැන් අපිට data තියෙනවා! <img src="/styles/default/xenforo/smilies/default/cool.gif" class="smilie" loading="lazy" alt=":cool:" title="Cool :cool:" data-shortname=":cool:" /></strong></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><strong></strong></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><strong></strong></span><strong><span style="color: DarkGreen">පොඩි login page එකක් හදලා userව verify කරගෙන අපි එයාව (userව) user page එකට redirect කරන්නයි දැන් යන්නේ.</span></strong></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen"></span></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen"><span style="color: Indigo">පොඩි පොඩි වෙනස්කම් කීපයක් කරලා මම අපේ සුපුරුදු project එකම මේකට use කරනවා! </span></span></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen"><span style="color: Indigo">දන්නවනේ, බොලාලා අළුත්ම project එකක් කරගෙන මෙව්වා කලොත් තමයි හොඳ!</span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න දැන් තමයි වැඩේට බහින්නේ!</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">මුලින්ම මම <strong> login.jsp එක දාගන්නවා simple login form එකකුත් එක්ක.</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දන්නවනේ? <strong>WebContent folder එක ඇතුලටයි login.jsp එක ඔබා ගන්න ඕනේ! </strong>(කට්ටියට jsp pages හදන හැටි මතක ඇති කියලා හිතනවා)</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">**මම මේකට පොඩි CSS පාරක් දාලා ලස්සන කරලා ගන්නවා. <img src="/styles/default/xenforo/smilies/default/wink.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/aplfMlR.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔය පේනවනේ? මම blue color එකෙන් box කරලා තියෙන්නේ external css file එකක්.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">* මම අලුත් servlet එකක් හදා ගන්නවා, login කියලා ඒක තමයි ඔය form එකේ action එකට දීලා තියෙන්නේ. (red color එකෙන් box කරලා තියෙන්නේ ? )</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">* මතකද මන්දා, අපි කලින් පාර form එක submit කලේ get method එකෙන්? දැන් කරන්නේ post method එකෙන්. ඒ දෙකේ වෙනස දන්නවා ඇති කියලා හිතනවා.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">*</span> <span style="color: DarkRed">${error}</span><span style="color: Red"> කියලා attribute එකකුත් define කරලා තියෙනවා පේනවා ඇතිනේ? මේකෙන් වෙන දේ ඉස්සරහට බලන්න පුළුවන්.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හොඳායි! <strong>දැන් web.xml එක open කරලා මම ඒකේ welcome file එකට set කරනවා අපේ login.jsp page එක.</strong> දැන් ඒක තමයි උදේ පාන්දරම project එක run කලාම එන්නේ.</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">මේ..</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/xBbics7.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න මම server එක up කරලා project එක run කරනවා. </span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/rcXhhOt.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">apply කරපු styles ටිකත් එක්ක ඔය විදියට තමයි login.jsp එක display වෙන්නේ</span>. <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඊළඟට login action handle කරන්න මම <strong>අලුත් servlet එකක් හදා ගන්නවා.</strong></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔව්!<strong> පරණ package එක ඇතුලෙම තමයි! කලින් පාර හැදුවා වගේම servlet එකක්.</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/cbEKng9.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">පේනවනේ? </span></span></p><p><span style="font-size: 18px"><span style="color: Red">** අපි කලින් use කලේ doGet() method එක. දැන් use කරන්නේ doPost() method එක.</span> </span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඇයි? මතක නැද්ද තොපිට? අපි කලින් form එක submit කලේ get method එකෙන්. </span><strong><span style="color: DarkOrange">(form එකෙ method එකක් define කලේ නැත්තන් by default ගන්නේ get method එක) </span></strong></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් <strong> submit කරන්නේ post method එකෙන්.</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red"><strong>** ඒ ඒ බනිස් වලට ඒ ඒ කෙසෙල් theoryය මේ අවස්ථාවේදී apply වන බව තරයේ සිත තබා ගනිව්!! <img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /></strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/9XDc59S.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න ඔහොමයි දැන් folder structure එක පේන්න තියෙන්නේ.</span></span></p><p><span style="font-size: 18px"><span style="color: Red">** ඔය එහෙන් මෙහෙන් පේන පරණ project එකේ කෑලි ගැන හිතන්න එපා! </span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් මම මේ <strong>අලුත් servlet එක map කරගන්නවා web.xml එකේ!</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/QWUIprO.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">අහ්! මතකයිනේ? මම කිව්වා මේකට නම දෙන්නේ login කියලා?</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><strong><span style="color: DarkGreen">ඊළඟට අපි database connection එකක් හදා ගන්න ඕනේ! නැත්තන් user inputs validate කරන්න බෑනේ?</span></strong></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen">මේ ටික අපි code කරන්නේ Login class එක ඇතුලේ! </span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">** අමතකම උනා යකුනේ! අපිට මේකට jar file එකක් ඕනේ වෙනවා! (mysql-connector-java.jar) ඒක නැතුව ඉතින් හුකෑස් තමයි! <img src="/styles/default/xenforo/smilies/default/sorry.gif" class="smilie" loading="lazy" alt=":sorry:" title="Sorry :sorry:" data-shortname=":sorry:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඔන්න තියෙනවා jar file link එක! එතනින් ඒක download කරගන්න</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><a href="http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.36" target="_blank">http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.36</a></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">හරි! දැන් ඕක අපේ project එකට දාගන්න හැටි මම කියලා දෙන්නම්! ඊට පස්සේම coding වලට බහිමු.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><strong><span style="color: Navy">project එක උඩ right click කලා -- > Properties</span></strong></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/xTfK7zm.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">Okay! then, ඔය <strong>left panel එකේ තියෙන Java Build Path කියන node එක select කරලා, Libraries කියන tab එක click කරන්න.</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/ZavuA1X.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඊට පස්සේ <strong>Add External JARS.. button එක click කරලා එන browser window එකෙන් , mysql-connector-java.jar එක brows කරලා select කරලා OK කරන්න.</strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඔන්න add උනා! <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/ZE4MDom.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">Okay! coding වලට බහිමු.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">මෙන්න තියෙනවා full method implementation එක. <img src="/styles/default/xenforo/smilies/default/love.gif" class="smilie" loading="lazy" alt=":love:" title="Love :love:" data-shortname=":love:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray">@Override</span></span><span style="font-size: 12px"></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> protected <span style="color: DarkRed">void </span>doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: DarkRed">try{</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> String username = request.getParameter(<span style="color: Blue">"username"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> String password = request.getParameter(<span style="color: Blue">"password"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green">// Initializing the JDBC driver</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> Class.forName(<span style="color: Blue">"com.mysql.jdbc.Driver"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green"> // Setting up the connection</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> Connection connection = DriverManager.getConnection(<span style="color: Blue">"jdbc:mysql://localhost:3306/contacts"</span>,<span style="color: Blue">"root"</span>, <span style="color: Blue">"root"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green"> // SQL query to select the user</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> String query = <span style="color: Blue">"SELECT * FROM user WHERE username = '"</span>+username+<span style="color: Blue">"' and password = '"</span>+password+<span style="color: Blue">"'"</span>;</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green"> // create the java statement</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> Statement st = connection.createStatement();</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green">// execute the query, and get a java resultset</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> ResultSet rs = st.executeQuery(query);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green"> // If there is such user</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> if (rs.next()){</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.setAttribute(<span style="color: Blue">"username"</span>, username);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.getRequestDispatcher(<span style="color: Blue">"user"</span>).forward(request, response);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> return;</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> } else{ <span style="color: Green">// If there is no such user</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.setAttribute(<span style="color: Blue">"error"</span>, <span style="color: Blue">"Username or password is incorrect!"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> }</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> <span style="color: Green">// Eventually releases the Statement object's database and JDBC resources</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> st.close(); </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> } catch (ClassNotFoundException e) {</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.setAttribute(<span style="color: Blue">"error"</span>, <span style="color: Blue">"No MySQL JDBC driver found"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> } catch (SQLException e) {</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.setAttribute(<span style="color: Blue">"error"</span>,<span style="color: Blue">"Connection Failed!"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> } catch(Exception exception){</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.setAttribute(<span style="color: Blue">"error"</span>,<span style="color: Blue">"An error occurred!"</span>);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> }</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> </span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> request.getRequestDispatcher(<span style="color: Blue">"login.jsp"</span>).forward(request, response);</span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"> }</span></span></p><p><span style="font-size: 18px"> </span></p><p><span style="font-size: 18px"><span style="color: Indigo"><strong>වැදගත්ම lines ටික මම explain කරන්නම්! අනිත් ඒවා comments බලලා තෙරුම් ගන්න පුළුවන්.</strong></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">මේ තියෙන්නේ database එකට connection එක හදා ගන්න විදිය.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/0O4vVy2.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DimGray"></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">Statement st = connection.createStatement();</span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">** SQL statements run කරගන්නයි, ඒ අදාල SQL statement එක run කලාම එන result set එක බලාගන්නයි තමයි මේක use කරන්නේ.</span></span></p><p><span style="font-size: 18px"><span style="color: Red"></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray">ResultSet rs = st.executeQuery(query);</span></span></span></p><p><span style="font-size: 18px"><span style="color: Red"></span></span></p><p><span style="font-size: 18px"><span style="color: Red">** පේනවනේ? අර කලින් declair කරපු Statement object එක use කරලා තමයි මෙතන ResultSet කියන object එක initialize කරලා තියෙන්නේ.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DimGray"></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">if (rs.next()){</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> request.setAttribute("username", username);</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> request.getRequestDispatcher("user").forward(request, response);</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> return;</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> </span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">} else{ <span style="color: Green">// If there is no such user</span></span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> request.setAttribute("error", "Username or password is incorrect!");</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">}</span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkRed"><span style="color: Red">**</span> rs.next()</span><span style="color: Indigo"><span style="color: Red"> කියන method එකෙන් කරන්නේ අපිට</span> <span style="color: Sienna">st.executeQuery(query)</span><span style="color: Red"> කියන method එක execute කලාම return වෙන result set එකේ </span></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><span style="color: Red">(මෙතන result set එක කියලා කියන්නේ ඇත්තටම අපි ලිව්ව SQL statement එකට අදාල data ටික) row එකෙන් row එක තියෙනවාද බල බල loop කරන එක.</span></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><span style="color: Red">(data තියෙනවා නම් true කියලා return වෙනවා නැත්තන් false කියලා return වෙනවා)</span></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><span style="color: Red">මෙතනදී අපි දුන්න SQL statement එකට අදාලව තියෙන්නේ එක result set එකයි. ඒ කියන්නේ එක row එකයි. </span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray">request.setAttribute("username", username);</span></span><span style="font-size: 12px"></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"></span></span></p><p><span style="font-size: 18px"><span style="color: Red">** මේ කරලා තියෙන එක දැනටමත් උඹලා දන්නවා. අපි අපේ relevant jsp file එකට send කරන්නයි මේ username කියන attribute එක හදාගෙන ඒකට අපේ username එක assign කරගෙන තියෙන්නේ</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray">request.getRequestDispatcher("user").forward(request, response);</span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">මේ කරලා තියෙන එකත් දැනටමත් උඹලා දන්නවා. මේ අපි කලින් පාර lesson එකේදී කලා වගේම log වෙන userව එයාගේ user page එකට redirect කරලා තියෙන්නේ.</span></span></p><p><span style="font-size: 18px"><span style="color: Red">** හැබැයි username and passwords correct නම් විතරයි</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray">else{ <span style="color: Green">// If there is no such user</span></span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray"> request.setAttribute("error", "Username or password is incorrect!");</span></span></span></p><p><span style="font-size: 18px"><span style="font-size: 12px"><span style="color: DimGray">}</span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Red">** comment එකෙන්ම පේනවනේ? අපි දුන්න username and password වලට අදාලව user කෙනෙක් නැත්තන්, අපි error කියලා attribute එකක් හදල proper error message එකක් දෙනවා මේ data වලට අදාලව user කෙනෙක් නෑ කියලා</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඊට පස්සේ අපි වඩාත් වැදගත්ම exceptions ටික handle කරගෙන තියෙනවා. මේවා ගැන උඹලම ටිකක් හොයලා බැලුවොතින් තමයි හොඳ!</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">catch (ClassNotFoundException e) {</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> request.setAttribute("error", "No MySQL JDBC driver found");</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">} catch (SQLException e) {</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> request.setAttribute("error","Connection Failed!");</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">} catch(Exception exception){</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px"> request.setAttribute("error","An error occurred!");</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"><span style="font-size: 12px">}</span></span></span></p><p><span style="font-size: 18px"><span style="color: DimGray"></span></span></p><p><span style="font-size: 18px"><span style="color: Red">** පේනවානේ ඒ ඒ exceptions වලට අදාලව වෙනම වෙනම error attributes දාලා තියෙන හැටි?</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හරි! එහෙනම් ඔන්න අපි මේක දැන් run කරන්නයි යන්නේ. server එක එහෙම start කරලා ගමු! <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හරි! username and password දැම්මා signin button එක එබුවා!</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/Myv2Wvf.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkRed">ට' *කෙයි කිව්වලු! <img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /><img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /><img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/x4Y9Kw6.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">මේ මොකද්ද මේ?</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හරි කලබල වෙන්න එපා, ඕක ඔහොම වෙන බව මම දැනගෙන හිටියා.</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span><span style="color: Red">** ඔය error message එක දිහා හොඳට බැලුවොතින් පෙනෙයි, ඔය error message එක generate වෙලා තියෙන්නේ exception එකක් fire උන හින්දා කියලා.</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔව්! ClassNotFoundExceptionඑක තමයි.</span> <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">දැන් මෙහෙමයි fire නිවන්නේ. <img src="/styles/default/xenforo/smilies/default/rofl.gif" class="smilie" loading="lazy" alt=":rofl:" title="ROFL :rofl:" data-shortname=":rofl:" /><img src="/styles/default/xenforo/smilies/default/D.gif" class="smilie" loading="lazy" alt=":D" title="Big grin :D" data-shortname=":D" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">මම මුලින්ම ඕක ඔහොම වෙන්න හේතුව කියන්නම්.</span> </span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">java program එකක time stages දෙකක් තියෙනවා.</span></span></p><p><span style="font-size: 18px"><span style="color: Navy"></span></span></p><p><span style="font-size: 18px"><span style="color: Navy">1 - Compile time</span></span></p><p><span style="font-size: 18px"><span style="color: Navy">2 - Run time</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඒ කියන්නේ, අපේ <strong>code එක මුලින්ම compile වෙනවා, ඊට පස්සේ තමයි run වෙන්නේ</strong>.</span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><strong>Server එක run කරනවා කියලා කියන්නේ tomcat මල්ලිව up කරනවා විතරක්ම නෙමෙයි. එයා (IDE) ඒ වෙලාවට අපේ project එකේ තියෙන java files එහෙමත් compile කරගන්නවා.</strong></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><strong></strong></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><strong></strong>compile කරගද්දී <strong>compile errors පැන්නොත් අපේ project එක up කරන්නෙත්</strong> නෑ. <img src="/styles/default/xenforo/smilies/default/no.gif" class="smilie" loading="lazy" alt=":no:" title="No :no:" data-shortname=":no:" /> </span></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඒ කියන්නේ <strong>localhost:8080/HelloWorld/ කියලා ගැහුවට එන්නේ 404</strong> තමයි. ඒ කියන්නේ ඉතින් බොලව් හුකෑස්! <img src="/styles/default/xenforo/smilies/default/P.gif" class="smilie" loading="lazy" alt=":P" title=":P :P" data-shortname=":P" /> (not found තමයි)</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">අපේ project එකේ compile errors තිබුනොත් tomcat මල්ලී බොහෝ දුරට up වෙන්නේ නෑ. and අනික compile errors තිබුනොත් අපේ IDE එකේ හරි ලස්සනට ඒ ටික පෙන්නනවා.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">දැන් <strong>මෙතනදී අපේ IDE එකේ compile errors පෙන්නන්නෙත් නෑ, tomcat මල්ලිත් up උනා අව්ලක් නැතුව, project එකත් up උනා.</strong> </span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red">** ඒ කියන්නේ මෙතන තියෙන්නේ Run time අව්ලක්. <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">හේතුව තමයි, මෙයා MySQL එකට connection එක හදාගන්න යද්දී බලනවා මේකට connection එක හදාගන්න ක්රමයක් කොහේ හරි කියලා තියෙනවද කියලා.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔව්නේ! අපි කියලා තියෙනවා. </span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">මේ.? <img src="/styles/default/xenforo/smilies/default/cool.gif" class="smilie" loading="lazy" alt=":cool:" title="Cool :cool:" data-shortname=":cool:" /></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DimGray">Class.forName("com.mysql.jdbc.Driver");</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඊට පස්සේ මෙයා යනවා අන්න ඒ Driver කියන class file එක හොයාගෙන.</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">tomcat මල්ලී refer කරන external class files (jar files) තියෙන තැන හරිම වෙනස්. </span></span></p><p><span style="font-size: 18px"><span style="color: Navy">STS ලොක්කා වගේ නෙමෙයි! මතකයිනේ? අපි STS ලොක්කට, external jar file එකක් විදියට mysql-connector-java.jar file එක include කලා අපේ project එකට?</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">ඒත් අපි tomcat මල්ලිට mysql-connector jar එක introduce කලාද? නෑ නේ බොලව්? <img src="/styles/default/xenforo/smilies/default/angry.gif" class="smilie" loading="lazy" alt=":angry:" title="Angry :angry:" data-shortname=":angry:" /></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><strong>STS ලොක්කට mysql-connector-java.jar file එක introduce කරපු හින්දා ඌ අව්ලක් නැතුව compile කරලා tomcat මල්ලිට දෙනවා ""ආහ් run කරපන් දැන්"" කියලා, ඒත් tomcat මල්ලී jar files refer කරන තැන mysql-connector-java.jar file එක නෑ. <img src="/styles/default/xenforo/smilies/default/no.gif" class="smilie" loading="lazy" alt=":no:" title="No :no:" data-shortname=":no:" /></strong></span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">හරි! jar file එක නැත්තන් ඉතින් jar file එක දාමු!</span> <img src="/styles/default/xenforo/smilies/default/D.gif" class="smilie" loading="lazy" alt=":D" title="Big grin :D" data-shortname=":D" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><strong><span style="color: Navy">මුලින්ම tomcat stop කරන්න ඕනේ.</span></strong></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><strong><span style="color: Navy">ඊට පස්සේ tomcat home එකේ තියෙන lib folder එක ඇතුලට අර mysql-connector-java.jar file එක copy කරන්න</span></strong></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy">මෙන්න මේ වගේ</span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/qDZtgdj.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: DarkGreen">ඕක කියලා දෙන්නේ නැතුව ගියානම් ඉස්සරහට ගොඩක් කරදර වෙන්න වෙනවා errors හොයාගන්න ගියාම</span> <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo"><strong>දැන් අයෙමත් server එක up කරලා ගමු.</strong></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඊට පස්සේ username password දීලා sign in වෙන්න.</span></span></p><p><span style="font-size: 18px"><span style="color: Indigo"></span></span></p><p><span style="font-size: 18px"><span style="color: Indigo">ඔන්න හරි! </span></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><img src="http://i.imgur.com/ZiSH1x5.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Indigo">බොරු username password දීලත් බලපල්ලා.</span> <img src="/styles/default/xenforo/smilies/default/yes.gif" class="smilie" loading="lazy" alt=":yes:" title="Yes :yes:" data-shortname=":yes:" /><img src="/styles/default/xenforo/smilies/default/rofl.gif" class="smilie" loading="lazy" alt=":rofl:" title="ROFL :rofl:" data-shortname=":rofl:" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px">ඉතින්, අද තවත් වැදම වැදගත් lesson එකක් කලා. <img src="/styles/default/xenforo/smilies/default/cool.gif" class="smilie" loading="lazy" alt=":cool:" title="Cool :cool:" data-shortname=":cool:" /> අපි ටික ටික ඉස්සරහට යනවා. Next lesson එකේදී මම කරන්න බලාපොරොත්තු වෙන්නේ JSTL (JSP Standard Tag Libraries) ගැන. චුට්ටක් internet එකේ බලලා ලෑස්ති වෙලා ඉඳහල්ලා.</span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px">අදත් ගොඩක් දේවල් ඉගෙන ගත්තනේ. එහෙනම් හැමෝටම ජය! <img src="/styles/default/xenforo/smilies/default/love.gif" class="smilie" loading="lazy" alt=":love:" title="Love :love:" data-shortname=":love:" /></span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px">අහ්! මෙන්න අනිත් lessons ටික.</span></p><p><span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><a href="http://www.elakiri.com/forum/showthread.php?t=1691762" target="_blank">java web development පළමු කොටස</a> </span></p><p><span style="font-size: 18px"><a href="http://www.elakiri.com/forum/showthread.php?t=1691878" target="_blank">java web development දෙවෙනි කොටස - Application server එක configure කරමු.</a></span></p><p><span style="font-size: 18px"><a href="http://www.elakiri.com/forum/showthread.php?t=1692188" target="_blank">java web development 3 කොටස - IDE එක configure කරමු</a> </span></p><p><span style="font-size: 18px"><a href="http://www.elakiri.com/forum/showthread.php?t=1692578" target="_blank">java web development 4 කොටස - simple java web project</a></span></p><p><span style="font-size: 18px"><a href="http://www.elakiri.com/forum/showthread.php?t=1693374" target="_blank">java web development 5 කොටස - JSP</a></span></p><p> <span style="font-size: 18px"></span></p><p><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="font-size: 12px"><span style="color: SlateGray"><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy">හරි! එහෙනම් next lesson එකෙන් හම්බෙමු! </span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="font-size: 12px"><span style="color: SlateGray"><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="font-size: 12px"><span style="color: SlateGray"><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="font-size: 18px"><span style="color: DarkGreen"><span style="color: Navy"><span style="color: Indigo"><span style="color: Navy"><span style="color: Indigo"><span style="color: Black"><strong><span style="color: Navy">මේකට උඹලගේ කැපවීම අනිවාර්යයි! මට පුලුවන් බොලාට මඟ පෙන්නන්න විතරයි! <img src="/styles/default/xenforo/smilies/default/wink.gif" class="smilie" loading="lazy" alt=";)" title="Wink ;)" data-shortname=";)" /></span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p><p><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="font-size: 12px"><span style="color: SlateGray"><span style="font-size: 18px"><span style="color: Navy"><span style="color: Red"><span style="color: Navy"><span style="font-size: 18px"><span style="color: DarkGreen"><span style="color: Navy"><span style="color: Indigo"><span style="color: Navy"><span style="color: Indigo"><span style="color: Black"><strong><span style="color: Navy"></span></strong></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></p></blockquote><p></p>
[QUOTE="J Sparrow, post: 18889820, member: 387729"] [SIZE=5][COLOR=Navy]ඕං ආවා lesson 6 අරගෙන. පොඩි කරදර වගයක් උනා. ඒකයි late උනේ. :sorry: මම කලින් කියපු විදියටම, අද කරන්න බලාපොරොත්තු වෙන්නේ අපේ project එකට database එකක් connect කරන්න. 5th [/COLOR][/SIZE][SIZE=5][COLOR=Navy][SIZE=5][COLOR=Navy]lesson[/COLOR][/SIZE] එකේදී කිව්වා වගේ[/COLOR][/SIZE][SIZE=5] [COLOR=DarkRed]1 - MySQL server 2 - MySQL-administrator 3 - MySQL-query-browser[/COLOR] [COLOR=Navy]ටික install කරගන්න ඇති කියලා හිතනවා. :rolleyes:[/COLOR] [COLOR=Navy]හරි! මේ තියෙන්නේ මම install කරගත්ත ටික.[/COLOR] [IMG]http://i.imgur.com/tHORpm3.png[/IMG] [COLOR=Navy]මේ?[/COLOR] [IMG]http://i.imgur.com/uapiyjv.png[/IMG] [COLOR=Navy]MySQL server එක windows service එකක් විදියට දැනටමත් run වෙනවා. :yes:[/COLOR] [COLOR=DarkGreen] අපි [B]මුලින්ම පොඩි database එකක් හදමු[/B]. [/COLOR][COLOR=DarkSlateBlue][B]MySQL-administrator එක open කරපල්ලකෝ.[/B][/COLOR] [IMG]http://i.imgur.com/S0hey1p.png[/IMG] [COLOR=DarkSlateBlue]ඔය [B]Server host කියන තැනට localhost කියලා දීපල්ලා, port එක වෙනස් කරන්න යන්න එපා.[/B] ඒක තමයි default port එක.[/COLOR] [COLOR=DarkSlateBlue]ඊට පස්සේ [B]username, password ඉල්ලන තැනට මේක install කරගද්දි දුන්න username, password දාලා OK කලාම [/B]මෙන්න මේ වගේ MySQL-administrator එකට අපිට log වෙන්න පුළුවන්.[/COLOR] [IMG]http://i.imgur.com/eLEY0x6.png[/IMG] [COLOR=Navy]හරි! ඒ Basics! වැඩේට බහිමු බොලව්! :dull:[/COLOR] [COLOR=DarkSlateBlue]අපි [B]මුලින්ම schema එකක් හදන්න ඕනේ[/B].[/COLOR] [COLOR=Red]** ඒ කියන්නේ මේ schema එකක් ඇතුලේ තමයි අපේ project එක related database tables තියෙන්නේ.[/COLOR] [COLOR=Indigo]දැන් ඔය [B]left panel එකේ තියෙන Catalogs කියන node එක click[/B] කරපල්ලා. ඊට පස්සේ [B]පහලින් බොලාට පෙනෙයි දැනට තියෙන default schemes ටික[/B].[/COLOR] [IMG]http://i.imgur.com/d98D3iz.png[/IMG] [COLOR=Indigo]දැන් ඒ schemes තියෙන පැත්තෙන්[B] right click කලා --> Create New Schema[/B][/COLOR] [IMG]http://i.imgur.com/7yGvaVy.png[/IMG] [COLOR=Indigo]හරි! අපි දැන් මේකට නමක් දෙන්න ඕනේ බොලව්! හැමදාම බොලාට Student management systems හදලා, Library systems හදලා එපා වෙලා ඇතිනේ? අපි හදමු contacts management system එකක්! complex නෑ simple and easy! ඔන්න මම නම දෙනවා contacts කියලා. [/COLOR] [IMG]http://i.imgur.com/2xiofx2.png[/IMG] [COLOR=Indigo]දැක්කනේ? ඊට පස්සේ OK ඔබපල්ලා! ඕන්න add උනා.[/COLOR] [IMG]http://i.imgur.com/UZx3l4D.png[/IMG] [COLOR=Indigo]දැන් [B]contacts උඩ double click [/B]කරපියව්[/COLOR] [IMG]http://i.imgur.com/Cnhf9J1.png[/IMG] [COLOR=Indigo][B]Create Table button එක click කරන්න[/B] පුතාලා![/COLOR] [IMG]http://i.imgur.com/6mlIexH.png[/IMG] [COLOR=Indigo]දැන් එන wizard එකට ඔන්න ඔය විදියට අපි table fields ටික දාගන්නවා. දැනට ඔය තියෙන field settings ඔහොම්මම apply කරගන්න.[/COLOR] [COLOR=Red]** ලොකු දෙයක් නෑ! උඹලට අත පත ගාලා මේ වැඩේ කරගන්න පුළුවන්. :yes:[/COLOR] [COLOR=Indigo] after that, [B]click on "Apply changes" button [/B]බොලව්![/COLOR] [IMG]http://i.imgur.com/l821ZuH.png[/IMG] [B][COLOR=Red]Da faq is that?[/COLOR][/B] :angry: [COLOR=Indigo]පුතාලා, ගණන් ගන්න එපා Execute ඔබන්න. [COLOR=Red] ** ඔය පෙන්නන්නේ අපි apply කරපු fields වලට අදාලව user table එක create කරන්න execute කරන්න ඕනේ SQL statement එක.[/COLOR] [/COLOR] [IMG]http://i.imgur.com/CD8upba.png[/IMG] [COLOR=Indigo] ඔන්න add උනා.[/COLOR] [COLOR=Red]** දැනට මේකේ (user table) data මොනවත් නෑ හොඳේ? ඔය පේනවානේ? Row count එක 0.[/COLOR] [COLOR=Indigo]අපි දැන් [B]මේකට data add කරන්නයි යන්නේ[/B]. හරි ළමායි! දැන්[B] MySQL-query-browser open කරන්න.[/B][/COLOR] [IMG]http://i.imgur.com/4uA2Umk.png[/IMG] [COLOR=Indigo]ඔව්! කලින් වගේම තමයි![/COLOR] [IMG]http://i.imgur.com/VIZNi3o.png[/IMG] [COLOR=Indigo]ඔහොම මගුලක් එයි! ඔය tick එක දාල OK කරපල්ලා.[/COLOR] [IMG]http://i.imgur.com/85fo42A.png[/IMG] [COLOR=Indigo]ඕන්න ආවා! පේනවානේ අපෙ schema එක and table එක තියෙනවා? ;)[/COLOR] [COLOR=Indigo]එහෙනම් දැන් මේකට මම [B]fake data ටිකක් දානවා[/B].[/COLOR] [IMG]http://i.imgur.com/RBNqdki.png[/IMG] [COLOR=Indigo]ඔන්න හරිනේ? [/COLOR][COLOR=Red]** ඔය row cell එකක් උඩ click කරලා F2 ඔබපුවාම edit mode එකට එනවා! Data insert කරලා, ඊට පස්සේ ඔය පහාලම තියෙන Apply changes button එක click කරලා changes apply කරන්න.[/COLOR] [COLOR=Indigo][B]Okay! දැන් අපිට data තියෙනවා! :cool: [/B][/COLOR][B][COLOR=DarkGreen]පොඩි login page එකක් හදලා userව verify කරගෙන අපි එයාව (userව) user page එකට redirect කරන්නයි දැන් යන්නේ.[/COLOR][/B] [COLOR=DarkGreen] [COLOR=Indigo]පොඩි පොඩි වෙනස්කම් කීපයක් කරලා මම අපේ සුපුරුදු project එකම මේකට use කරනවා! දන්නවනේ, බොලාලා අළුත්ම project එකක් කරගෙන මෙව්වා කලොත් තමයි හොඳ![/COLOR][/COLOR] [COLOR=Indigo]ඔන්න දැන් තමයි වැඩේට බහින්නේ! මුලින්ම මම [B] login.jsp එක දාගන්නවා simple login form එකකුත් එක්ක.[/B][/COLOR] [COLOR=Indigo]දන්නවනේ? [B]WebContent folder එක ඇතුලටයි login.jsp එක ඔබා ගන්න ඕනේ! [/B](කට්ටියට jsp pages හදන හැටි මතක ඇති කියලා හිතනවා)[/COLOR] [COLOR=Red]**මම මේකට පොඩි CSS පාරක් දාලා ලස්සන කරලා ගන්නවා. ;)[/COLOR] [IMG]http://i.imgur.com/aplfMlR.png[/IMG] [COLOR=Indigo]ඔය පේනවනේ? මම blue color එකෙන් box කරලා තියෙන්නේ external css file එකක්.[/COLOR] [COLOR=Red]* මම අලුත් servlet එකක් හදා ගන්නවා, login කියලා ඒක තමයි ඔය form එකේ action එකට දීලා තියෙන්නේ. (red color එකෙන් box කරලා තියෙන්නේ ? )[/COLOR] [COLOR=Red]* මතකද මන්දා, අපි කලින් පාර form එක submit කලේ get method එකෙන්? දැන් කරන්නේ post method එකෙන්. ඒ දෙකේ වෙනස දන්නවා ඇති කියලා හිතනවා.[/COLOR] [COLOR=Red]*[/COLOR] [COLOR=DarkRed]${error}[/COLOR][COLOR=Red] කියලා attribute එකකුත් define කරලා තියෙනවා පේනවා ඇතිනේ? මේකෙන් වෙන දේ ඉස්සරහට බලන්න පුළුවන්.[/COLOR] [COLOR=Indigo]හොඳායි! [B]දැන් web.xml එක open කරලා මම ඒකේ welcome file එකට set කරනවා අපේ login.jsp page එක.[/B] දැන් ඒක තමයි උදේ පාන්දරම project එක run කලාම එන්නේ. මේ..[/COLOR] [IMG]http://i.imgur.com/xBbics7.png[/IMG] [COLOR=Indigo]ඔන්න මම server එක up කරලා project එක run කරනවා. [/COLOR] [IMG]http://i.imgur.com/rcXhhOt.png[/IMG] [COLOR=Indigo]apply කරපු styles ටිකත් එක්ක ඔය විදියට තමයි login.jsp එක display වෙන්නේ[/COLOR]. :yes: [COLOR=Indigo]ඊළඟට login action handle කරන්න මම [B]අලුත් servlet එකක් හදා ගන්නවා.[/B] ඔව්![B] පරණ package එක ඇතුලෙම තමයි! කලින් පාර හැදුවා වගේම servlet එකක්.[/B][/COLOR] [IMG]http://i.imgur.com/cbEKng9.png[/IMG] [COLOR=Indigo]පේනවනේ? [/COLOR] [COLOR=Red]** අපි කලින් use කලේ doGet() method එක. දැන් use කරන්නේ doPost() method එක.[/COLOR] [COLOR=Indigo]ඇයි? මතක නැද්ද තොපිට? අපි කලින් form එක submit කලේ get method එකෙන්. [/COLOR][B][COLOR=DarkOrange](form එකෙ method එකක් define කලේ නැත්තන් by default ගන්නේ get method එක) [/COLOR][/B] [COLOR=Indigo]දැන් [B] submit කරන්නේ post method එකෙන්.[/B][/COLOR] [COLOR=Red][B]** ඒ ඒ බනිස් වලට ඒ ඒ කෙසෙල් theoryය මේ අවස්ථාවේදී apply වන බව තරයේ සිත තබා ගනිව්!! :angry:[/B][/COLOR] [IMG]http://i.imgur.com/9XDc59S.png[/IMG] [COLOR=Indigo]ඔන්න ඔහොමයි දැන් folder structure එක පේන්න තියෙන්නේ.[/COLOR] [COLOR=Red]** ඔය එහෙන් මෙහෙන් පේන පරණ project එකේ කෑලි ගැන හිතන්න එපා! [/COLOR] [COLOR=Indigo]දැන් මම මේ [B]අලුත් servlet එක map කරගන්නවා web.xml එකේ![/B][/COLOR] [IMG]http://i.imgur.com/QWUIprO.png[/IMG] [COLOR=Indigo]අහ්! මතකයිනේ? මම කිව්වා මේකට නම දෙන්නේ login කියලා?[/COLOR] [B][COLOR=DarkGreen]ඊළඟට අපි database connection එකක් හදා ගන්න ඕනේ! නැත්තන් user inputs validate කරන්න බෑනේ?[/COLOR][/B] [COLOR=DarkGreen]මේ ටික අපි code කරන්නේ Login class එක ඇතුලේ! [/COLOR] [COLOR=Red]** අමතකම උනා යකුනේ! අපිට මේකට jar file එකක් ඕනේ වෙනවා! (mysql-connector-java.jar) ඒක නැතුව ඉතින් හුකෑස් තමයි! :sorry:[/COLOR] [COLOR=Navy]ඔන්න තියෙනවා jar file link එක! එතනින් ඒක download කරගන්න[/COLOR] [url]http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.36[/url] [COLOR=Navy]හරි! දැන් ඕක අපේ project එකට දාගන්න හැටි මම කියලා දෙන්නම්! ඊට පස්සේම coding වලට බහිමු.[/COLOR] [B][COLOR=Navy]project එක උඩ right click කලා -- > Properties[/COLOR][/B] [IMG]http://i.imgur.com/xTfK7zm.png[/IMG] [COLOR=Navy]Okay! then, ඔය [B]left panel එකේ තියෙන Java Build Path කියන node එක select කරලා, Libraries කියන tab එක click කරන්න.[/B][/COLOR] [IMG]http://i.imgur.com/ZavuA1X.png[/IMG] [COLOR=Navy]ඊට පස්සේ [B]Add External JARS.. button එක click කරලා එන browser window එකෙන් , mysql-connector-java.jar එක brows කරලා select කරලා OK කරන්න.[/B][/COLOR] [COLOR=Navy]ඔන්න add උනා! :yes:[/COLOR] [IMG]http://i.imgur.com/ZE4MDom.png[/IMG] [COLOR=Navy]Okay! coding වලට බහිමු.[/COLOR] [COLOR=Navy]මෙන්න තියෙනවා full method implementation එක. :love:[/COLOR] [SIZE=3][COLOR=DimGray]@Override[/COLOR][/SIZE][SIZE=3] protected [COLOR=DarkRed]void [/COLOR]doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { [COLOR=DarkRed]try{[/COLOR] String username = request.getParameter([COLOR=Blue]"username"[/COLOR]); String password = request.getParameter([COLOR=Blue]"password"[/COLOR]); [COLOR=Green]// Initializing the JDBC driver[/COLOR] Class.forName([COLOR=Blue]"com.mysql.jdbc.Driver"[/COLOR]); [COLOR=Green] // Setting up the connection[/COLOR] Connection connection = DriverManager.getConnection([COLOR=Blue]"jdbc:mysql://localhost:3306/contacts"[/COLOR],[COLOR=Blue]"root"[/COLOR], [COLOR=Blue]"root"[/COLOR]); [COLOR=Green] // SQL query to select the user[/COLOR] String query = [COLOR=Blue]"SELECT * FROM user WHERE username = '"[/COLOR]+username+[COLOR=Blue]"' and password = '"[/COLOR]+password+[COLOR=Blue]"'"[/COLOR]; [COLOR=Green] // create the java statement[/COLOR] Statement st = connection.createStatement(); [COLOR=Green]// execute the query, and get a java resultset[/COLOR] ResultSet rs = st.executeQuery(query); [COLOR=Green] // If there is such user[/COLOR] if (rs.next()){ request.setAttribute([COLOR=Blue]"username"[/COLOR], username); request.getRequestDispatcher([COLOR=Blue]"user"[/COLOR]).forward(request, response); return; } else{ [COLOR=Green]// If there is no such user[/COLOR] request.setAttribute([COLOR=Blue]"error"[/COLOR], [COLOR=Blue]"Username or password is incorrect!"[/COLOR]); } [COLOR=Green]// Eventually releases the Statement object's database and JDBC resources[/COLOR] st.close(); } catch (ClassNotFoundException e) { request.setAttribute([COLOR=Blue]"error"[/COLOR], [COLOR=Blue]"No MySQL JDBC driver found"[/COLOR]); } catch (SQLException e) { request.setAttribute([COLOR=Blue]"error"[/COLOR],[COLOR=Blue]"Connection Failed!"[/COLOR]); } catch(Exception exception){ request.setAttribute([COLOR=Blue]"error"[/COLOR],[COLOR=Blue]"An error occurred!"[/COLOR]); } request.getRequestDispatcher([COLOR=Blue]"login.jsp"[/COLOR]).forward(request, response); }[/SIZE] [COLOR=Indigo][B]වැදගත්ම lines ටික මම explain කරන්නම්! අනිත් ඒවා comments බලලා තෙරුම් ගන්න පුළුවන්.[/B] [/COLOR] [COLOR=Indigo]මේ තියෙන්නේ database එකට connection එක හදා ගන්න විදිය.[/COLOR] [IMG]http://i.imgur.com/0O4vVy2.png[/IMG] [COLOR=DimGray] [SIZE=3]Statement st = connection.createStatement();[/SIZE][/COLOR] [COLOR=Red]** SQL statements run කරගන්නයි, ඒ අදාල SQL statement එක run කලාම එන result set එක බලාගන්නයි තමයි මේක use කරන්නේ. [/COLOR] [SIZE=3][COLOR=DimGray]ResultSet rs = st.executeQuery(query);[/COLOR][/SIZE] [COLOR=Red] ** පේනවනේ? අර කලින් declair කරපු Statement object එක use කරලා තමයි මෙතන ResultSet කියන object එක initialize කරලා තියෙන්නේ.[/COLOR] [COLOR=DimGray] [SIZE=3]if (rs.next()){ request.setAttribute("username", username); request.getRequestDispatcher("user").forward(request, response); return; } else{ [COLOR=Green]// If there is no such user[/COLOR] request.setAttribute("error", "Username or password is incorrect!"); }[/SIZE][/COLOR] [COLOR=DarkRed][COLOR=Red]**[/COLOR] rs.next()[/COLOR][COLOR=Indigo][COLOR=Red] කියන method එකෙන් කරන්නේ අපිට[/COLOR] [COLOR=Sienna]st.executeQuery(query)[/COLOR][COLOR=Red] කියන method එක execute කලාම return වෙන result set එකේ (මෙතන result set එක කියලා කියන්නේ ඇත්තටම අපි ලිව්ව SQL statement එකට අදාල data ටික) row එකෙන් row එක තියෙනවාද බල බල loop කරන එක. (data තියෙනවා නම් true කියලා return වෙනවා නැත්තන් false කියලා return වෙනවා) මෙතනදී අපි දුන්න SQL statement එකට අදාලව තියෙන්නේ එක result set එකයි. ඒ කියන්නේ එක row එකයි. [/COLOR][/COLOR] [SIZE=3][COLOR=DimGray]request.setAttribute("username", username);[/COLOR][/SIZE][SIZE=3] [/SIZE] [COLOR=Red]** මේ කරලා තියෙන එක දැනටමත් උඹලා දන්නවා. අපි අපේ relevant jsp file එකට send කරන්නයි මේ username කියන attribute එක හදාගෙන ඒකට අපේ username එක assign කරගෙන තියෙන්නේ[/COLOR] [SIZE=3][COLOR=DimGray]request.getRequestDispatcher("user").forward(request, response);[/COLOR][/SIZE] [COLOR=Red]මේ කරලා තියෙන එකත් දැනටමත් උඹලා දන්නවා. මේ අපි කලින් පාර lesson එකේදී කලා වගේම log වෙන userව එයාගේ user page එකට redirect කරලා තියෙන්නේ. ** හැබැයි username and passwords correct නම් විතරයි[/COLOR] [SIZE=3][COLOR=DimGray]else{ [COLOR=Green]// If there is no such user[/COLOR] request.setAttribute("error", "Username or password is incorrect!"); }[/COLOR][/SIZE] [COLOR=Red]** comment එකෙන්ම පේනවනේ? අපි දුන්න username and password වලට අදාලව user කෙනෙක් නැත්තන්, අපි error කියලා attribute එකක් හදල proper error message එකක් දෙනවා මේ data වලට අදාලව user කෙනෙක් නෑ කියලා[/COLOR] [COLOR=Indigo]ඊට පස්සේ අපි වඩාත් වැදගත්ම exceptions ටික handle කරගෙන තියෙනවා. මේවා ගැන උඹලම ටිකක් හොයලා බැලුවොතින් තමයි හොඳ! [/COLOR] [COLOR=DimGray][SIZE=3]catch (ClassNotFoundException e) { request.setAttribute("error", "No MySQL JDBC driver found"); } catch (SQLException e) { request.setAttribute("error","Connection Failed!"); } catch(Exception exception){ request.setAttribute("error","An error occurred!"); }[/SIZE] [/COLOR] [COLOR=Red]** පේනවානේ ඒ ඒ exceptions වලට අදාලව වෙනම වෙනම error attributes දාලා තියෙන හැටි?[/COLOR] [COLOR=Indigo]හරි! එහෙනම් ඔන්න අපි මේක දැන් run කරන්නයි යන්නේ. server එක එහෙම start කරලා ගමු! :yes:[/COLOR] [COLOR=Indigo]හරි! username and password දැම්මා signin button එක එබුවා![/COLOR] [IMG]http://i.imgur.com/Myv2Wvf.png[/IMG] [COLOR=DarkRed]ට' *කෙයි කිව්වලු! :angry::angry::angry:[/COLOR] [IMG]http://i.imgur.com/x4Y9Kw6.png[/IMG] [COLOR=Indigo]මේ මොකද්ද මේ? හරි කලබල වෙන්න එපා, ඕක ඔහොම වෙන බව මම දැනගෙන හිටියා. [/COLOR][COLOR=Red]** ඔය error message එක දිහා හොඳට බැලුවොතින් පෙනෙයි, ඔය error message එක generate වෙලා තියෙන්නේ exception එකක් fire උන හින්දා කියලා.[/COLOR] [COLOR=Indigo]ඔව්! ClassNotFoundExceptionඑක තමයි.[/COLOR] :yes: [COLOR=Indigo]දැන් මෙහෙමයි fire නිවන්නේ. :rofl::D[/COLOR] [COLOR=Navy]මම මුලින්ම ඕක ඔහොම වෙන්න හේතුව කියන්නම්.[/COLOR] [COLOR=Navy]java program එකක time stages දෙකක් තියෙනවා. 1 - Compile time 2 - Run time[/COLOR] [COLOR=Navy]ඒ කියන්නේ, අපේ [B]code එක මුලින්ම compile වෙනවා, ඊට පස්සේ තමයි run වෙන්නේ[/B]. [B]Server එක run කරනවා කියලා කියන්නේ tomcat මල්ලිව up කරනවා විතරක්ම නෙමෙයි. එයා (IDE) ඒ වෙලාවට අපේ project එකේ තියෙන java files එහෙමත් compile කරගන්නවා. [/B]compile කරගද්දී [B]compile errors පැන්නොත් අපේ project එක up කරන්නෙත්[/B] නෑ. :no: ඒ කියන්නේ [B]localhost:8080/HelloWorld/ කියලා ගැහුවට එන්නේ 404[/B] තමයි. ඒ කියන්නේ ඉතින් බොලව් හුකෑස්! :P (not found තමයි)[/COLOR] [COLOR=Navy]අපේ project එකේ compile errors තිබුනොත් tomcat මල්ලී බොහෝ දුරට up වෙන්නේ නෑ. and අනික compile errors තිබුනොත් අපේ IDE එකේ හරි ලස්සනට ඒ ටික පෙන්නනවා.[/COLOR] [COLOR=Navy]දැන් [B]මෙතනදී අපේ IDE එකේ compile errors පෙන්නන්නෙත් නෑ, tomcat මල්ලිත් up උනා අව්ලක් නැතුව, project එකත් up උනා.[/B] [COLOR=Red]** ඒ කියන්නේ මෙතන තියෙන්නේ Run time අව්ලක්. :yes:[/COLOR][/COLOR] [COLOR=Indigo]හේතුව තමයි, මෙයා MySQL එකට connection එක හදාගන්න යද්දී බලනවා මේකට connection එක හදාගන්න ක්රමයක් කොහේ හරි කියලා තියෙනවද කියලා.[/COLOR] [COLOR=Indigo]ඔව්නේ! අපි කියලා තියෙනවා. මේ.? :cool:[/COLOR] [COLOR=DimGray]Class.forName("com.mysql.jdbc.Driver");[/COLOR] [COLOR=Navy]ඊට පස්සේ මෙයා යනවා අන්න ඒ Driver කියන class file එක හොයාගෙන.[/COLOR] [COLOR=Navy]tomcat මල්ලී refer කරන external class files (jar files) තියෙන තැන හරිම වෙනස්. STS ලොක්කා වගේ නෙමෙයි! මතකයිනේ? අපි STS ලොක්කට, external jar file එකක් විදියට mysql-connector-java.jar file එක include කලා අපේ project එකට?[/COLOR] [COLOR=Navy]ඒත් අපි tomcat මල්ලිට mysql-connector jar එක introduce කලාද? නෑ නේ බොලව්? :angry: [B]STS ලොක්කට mysql-connector-java.jar file එක introduce කරපු හින්දා ඌ අව්ලක් නැතුව compile කරලා tomcat මල්ලිට දෙනවා ""ආහ් run කරපන් දැන්"" කියලා, ඒත් tomcat මල්ලී jar files refer කරන තැන mysql-connector-java.jar file එක නෑ. :no:[/B][/COLOR] [COLOR=Navy]හරි! jar file එක නැත්තන් ඉතින් jar file එක දාමු![/COLOR] :D [B][COLOR=Navy]මුලින්ම tomcat stop කරන්න ඕනේ.[/COLOR][/B] [B][COLOR=Navy]ඊට පස්සේ tomcat home එකේ තියෙන lib folder එක ඇතුලට අර mysql-connector-java.jar file එක copy කරන්න[/COLOR][/B] [COLOR=Navy]මෙන්න මේ වගේ[/COLOR] [IMG]http://i.imgur.com/qDZtgdj.png[/IMG] [COLOR=DarkGreen]ඕක කියලා දෙන්නේ නැතුව ගියානම් ඉස්සරහට ගොඩක් කරදර වෙන්න වෙනවා errors හොයාගන්න ගියාම[/COLOR] :yes: [COLOR=Indigo][B]දැන් අයෙමත් server එක up කරලා ගමු.[/B][/COLOR] [COLOR=Indigo]ඊට පස්සේ username password දීලා sign in වෙන්න. ඔන්න හරි! [/COLOR] [IMG]http://i.imgur.com/ZiSH1x5.png[/IMG] [COLOR=Indigo]බොරු username password දීලත් බලපල්ලා.[/COLOR] :yes::rofl: ඉතින්, අද තවත් වැදම වැදගත් lesson එකක් කලා. :cool: අපි ටික ටික ඉස්සරහට යනවා. Next lesson එකේදී මම කරන්න බලාපොරොත්තු වෙන්නේ JSTL (JSP Standard Tag Libraries) ගැන. චුට්ටක් internet එකේ බලලා ලෑස්ති වෙලා ඉඳහල්ලා. අදත් ගොඩක් දේවල් ඉගෙන ගත්තනේ. එහෙනම් හැමෝටම ජය! :love: අහ්! මෙන්න අනිත් lessons ටික. [URL="http://www.elakiri.com/forum/showthread.php?t=1691762"]java web development පළමු කොටස[/URL] [URL="http://www.elakiri.com/forum/showthread.php?t=1691878"]java web development දෙවෙනි කොටස - Application server එක configure කරමු.[/URL] [URL="http://www.elakiri.com/forum/showthread.php?t=1692188"]java web development 3 කොටස - IDE එක configure කරමු[/URL] [URL="http://www.elakiri.com/forum/showthread.php?t=1692578"]java web development 4 කොටස - simple java web project[/URL] [URL="http://www.elakiri.com/forum/showthread.php?t=1693374"]java web development 5 කොටස - JSP[/URL] [/SIZE] [SIZE=5][COLOR=Navy][COLOR=Red][COLOR=Navy][COLOR=Red][COLOR=Navy][SIZE=3][COLOR=SlateGray][SIZE=5][COLOR=Navy][COLOR=Red][COLOR=Navy]හරි! එහෙනම් next lesson එකෙන් හම්බෙමු! [/COLOR][/COLOR][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/SIZE] [SIZE=5][COLOR=Navy][COLOR=Red][COLOR=Navy][COLOR=Red][COLOR=Navy][SIZE=3][COLOR=SlateGray][SIZE=5][COLOR=Navy][COLOR=Red][COLOR=Navy][SIZE=5][COLOR=DarkGreen][COLOR=Navy][COLOR=Indigo][COLOR=Navy][COLOR=Indigo][COLOR=Black][B][COLOR=Navy]මේකට උඹලගේ කැපවීම අනිවාර්යයි! මට පුලුවන් බොලාට මඟ පෙන්නන්න විතරයි! ;) [/COLOR][/B][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/SIZE][/COLOR][/COLOR][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/COLOR][/COLOR][/COLOR][/COLOR][/SIZE] [/QUOTE]
Insert quotes…
Verification
Hath warak paha keeyada? (hatha wadikireema paha)
Post reply
Top
Bottom