ලේසියෙන්ම හොයාගන්න මෙතනින්

3. Web Application එකට සරලම Login එකක් හදමු.

මෙතෙක් ඉගෙන ගත්තේ වටපිටාව ගැන මේක ඉගෙන ගන්න ඕන වෙන. දැන් පළමු වතාවට, Web Application එක Run කරමු. අප තාමත් කිසිම වෙනසක් කර නැහැ. Default Project එක හැදුනු තත්වෙන්මයි තියෙන්නේ. Run Main Project button එක හෝ F6 key එක ඔබන්න.
ඔබගේ default web browser එකෙන් page එක load වේවි. පළමුව මෙහි display වන්නේ "Hello World !" යනුවෙනි. Page Title එක JSP Page යනුවෙන් සඳහන් වේ. ඒ වගේම බලන්න address bar එකේ සඳහන් වන address එක. http://localhost:8080/KohomaHariGodaYamu ලෙසයි. localhost යනු ඉන්න computer එක තුලම server එකක සිට run වනවා යන්නයි. එනම් දැනට මෙය සිටින්නේ GlassFish Server එකේ run වෙමිනි. 8080 යනු port address එකකි. tcp protocol හි, http service එක මෙයින් අදහස් කරයි.

ඔබ නොදැනුවත්ව මේ display වී තිබෙන්නේ Project එකේ,Web Pages හි, index.jsp යන page එකයි. එනම්, ඔබ දැනට ඉගෙනගෙන තිබෙනවා වියහැක්කේ .html web pages පමණක් වියහැක. Java EE තුලදී අප .html වෙනුවට dynamic web page නිර්මාණකරණය සඳහා යොදා ගන්නේ .jsp (Java Server Pages) යන්නයි.
අපිට පුළුවන් මේ page එකම අපට ඕන විදියට වෙනස් කරන්න. මං මේක ඉතාම සරල Login Page එකක් බවට පත් කරන්නම්. database සම්බන්ධයක් නෑ. ඒ ගැන ඊළඟ පාඩමෙන් database එක්ක සම්බන්ධ කරලා Login එකක් හදන හැටි කියලා දෙන්නම්. 
ඉස්සෙලම එහෙන්ම අතුරු මුහුණත හදාගමුකෝ. User Name, Password සඳහා text field දෙකකුත්, Submit හා Reset සඳහා submit type button එකක් සහ reset type button එකක් තිබුනම ඇති. මෙන්න මෙහෙම. මං HTML 5 යොදාගන්නවා. මේ ගැන මෙතැනින් දැනගන්න.
http://kohomaharigodayamu.blogspot.com/search/label/HTML%205

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>කොහොම හරි ගොඩ යන්නත් එපැයිනේ - Login Page</title>
    </head>
    <body>
        <h1>Hello World!</h1><br/>
        <form>
            User Name   :   <input type="text" name="username"  autofocus required/><br/>
            Password    :   <input type="password" name="password"/><br/>
            <input type="submit" value="Submit"/><input type="reset" value="Reset"/>
        </form>
    </body>
</html>
ඒ විදියට dynamic web page design කරන්න jsp යොදගනිද්දී, අපට දැන් තවත් අලුත් දෙයක් ඉගෙනගන්න වෙනවා. ඒ තමා Servlet. එහි අපි ලියන්නේ අපේ java programming codes. එහෙමත් නැත්නම් දන්නා Java වලින් කියනවනම් Java Class එකක්. මෙයා තමයි Client ගේ request වලට response කරන්නේ. ඒ වගේම Sessions, States එහෙමත් මෙයා ලව්වා කරගන්න පුළුවන්.
අපි අයෙමත් අපේ වැඩේට බහිමු. මට උවමනා කරන්නේ Server එකට මගේ username, password parse කරලා, හරිනම් වෙනත් වෙබ් පිටුවකටත්, වැරදිනම් තවත් දේකුත් කරගන්නයි. මේ සඳහා මං Servlet එකක් ලියනවා. (Server-Side Programming). Servlet එකක් create කරන්නේ,
Project එක උඩ right click කරලා ---> New ---> Servlet යන්න තෝරන්න.
දැන් Servlet එකට කැමති නමක් දෙන්න. package එකක් තෝරලා දෙන්න. ඒ ඒ දේවල් වෙන වෙනම packages වල තිබුනම ඔයාටත්, වෙන බලන කෙනෙකුටත් පහසුයි. 
Next දෙන්න. ඊළඟ වින්ඩෝව තුල කිසිවක් වෙනස් කරන්න එපා. Finish දෙන්න. දැන් ඔබගේ Servlet එක නිර්මාණය වී ඇත. බලන්න එය තුල දැනටමත් Try, Catch block එකක් ඇති. (ඇත්තෙන්ම තියෙන්නේ Try, Finally block එකක්. එහි final කොටස  ඉවත්කර, Catch (Exception e) කියල යොදන්න දැනට. ඔය ඉහත කී Try block එක ඇතුලේ තමා අපේ coding ලියන දෙයක් ලියන්නේ. 
මං මෙන්න මෙහෙම ලිවුවා උදාහරණයක්‌ විදියට. try එක තුල,
try {
      String myusername = request.getParameter("username");
      String mypassword = request.getParameter("password");
       if(myusername.equals("hansa") && mypassword.equals("0712004212")){
             response.sendRedirect("http://www.google.com");
       }else{
             out.print("Invalid Login Details");
       }
} catch(Exception e){
            out.print(e);
}
Username, password හරිනම් Google.com connect වන්නටත්, එහෙම නැත්නම් invalid login details කියා page එකේ display වීමටත්ය. දැන් කරන්න තියෙන්නේ Submit button එක click කලාම, form එකෙන් වෙන්න ඕන action එක මේ Servlet එක බව හදුන්වාදීමයි. 
මේ සඳහා නැවතත් පෙර .jsp file එකට යන්න. එහි form tag එක තුල මෙසේ සඳහන් කරන්න.
<form action="LoginCheck">
මෙහි double quote තුල සඳහන් කර ඇත්තේ load විය යුතු Servlet එකේ නමයි. මගේ Servlet එකේ නම උනේ LoginCheck යන්නයි. සැලකිය යුතු කරුණක්නම් මෙහිදී Servlet එකේ .java extension එක සඳහන් නොකරයි. නම පමණි.
ඉතින් ඔයාලත් කරලා බලන්න.

No comments :

Post a Comment