SlideShare ist ein Scribd-Unternehmen logo
1 von 118
Downloaden Sie, um offline zu lesen
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM


                             Moân hoïc: Java Server Pages

                                           Baøi 1

      Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong khoaù hoïc:
             Caøi ñaët JRUN.
              o Caøi ñaët JDK1.3.
              o Caøi ñaët JRUN.
              o Caáu hình öùng duïng JSP
             Giôùi thieäu JSP.
              o Script.
              o Khai baùo chæ muïc.

1. CAØI ÑAËT JRUN
   1.1. Caøi ñaët JDK
       Ñeå caáu hình JRUN 4.0 treân Windows, tröôùc tieân baïn caøi ñaët boä JDK1.3 hay JDK
1.4 leân ñóa cöùng C hay D, sau khi caøi ñaët thaønh coâng baïn neân boot maùy laïi, trong oå ñóa seõ
xuaát hieän thö muïc JDK1.3 vôùi caùc thö vieän cuûa chuùng.

   1.2. Caøi ñaët JRUN
      Ñeå caøi ñaët JRUN, baïn mua ñóa CD vôùi öùng duïng JRUN 4.0, sau ñoù caøi ñaët chuùng
vaøo maùy coù caøi ñaët JDK. Trong khi caøi ñaët thì JRUN coù yeâu caàu choøn thö muïc nôi baïn caøi
ñaët JDK.
      Trong khi caøi ñaët JRUN, coù theå yeâu caàu baïn caøi ñaët chuùng döôùi daïng moät dòch vuï
cuûa hôïp ñoàng haønh (maëc ñònh laø Yes), khi ñoù JRUN seõ caøi ñaët vôùi hai dòch vuï laø JRUN
Admin vaø JRUN Default trong cöûa soå Services (trong Control Panel hay Administrative
Tools) cuûa heä ñieàu haønh Windows nhö hình 1-1 sau:




                                Hình 1-1: Dòch vuï JRUN trong Servies



                                                                    Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM


      Baïn phaûi baûo daûm raèng chuùng ñang ôû cheá ñoä Started, trong tröôøng hôïp ñang ôû cheá
ñoä STOP thì baïn choïn dòch vuï naøy vaø nhaán nuùt Start.

       Neáu JRUN ñang ôû cheá ñoä Start thì baïn seõ goõ http://localhost:8000 treân trình duyeät
vaø cung caáp username cung vôùi password ñeå ñaêng nhaäp vaøo maøn hình uqaûn trò JRUN neáu
muoán chöông.
       Neáu JRUN Default Server ñang ôû cheá ñoä Start thì baïn coù theå goõ ñòa chæ sau treân
browser http://localhost:8100 ñeå chaïy öùng duïng maëc ñònh cuûa JSP.

      Ngoaøi ra, neáu baïn khoâng caøi ñaët JRUN nhö moät dòch vuï cuûa heä ñieàu haønh Windows
thì moãi laàn baïn muoán chaïy öùng duïng JSP thì phaøi Start noù leân baèng caùch choïn Start |
Programs | JRUN 4.0 | JRUN Default Server hay JRUN Admin Server roi sau do khôûi
ñoäng JRUN Default Server, phaàn naøy seõ trình baøy trong phaàn caáu hình.

   1.3. Caáu hình öùng duïng JSP
      Ñeå trieäu goïi trang JSP (teân môû roäng .jsp) treân trình duyeät, baïn coù theå caáu hình moät
torng hai caùch sau:

       1.3.1. Caùch 1:
       Neáu khoâng muoán taïo öùng duïng Web cho rieâng mình maø söû duïng thö muïc maëc ñònh
thì baïn coù theå khai baùo caùc trang JSP vaø boû vaøo thö muïc JRUN4/Servers/Defaul/ default-
ear/ default-war/.
       Chaúng haïn, trong tröôøng hôïp naøy chuùng ta khai baùo trang test.jsp vôùi noäi dung nhö
sau:

       <HTML>
         <HEAD>
         <title>Test JSP</title>
         </HEAD>
         <BODY>
                  <%=”Hello JSP”%>
         </BODY>
       </HTML>


       Ñeå kieåm tra trang JSP naøy, baïn khai baùo treân trình duyeät nhö sau:


          http://localhost1:8100/test.jsp


       Tuy nhieân, baïn coù theå khai baùo caùc thö muïc con beân trong cuûa thö muïc maëc ñònh
naøy, sau ñoù trieäu goïi treân trình duyeät theo teân thö muïc, chaúng haïn
http://localhost:8100/qlda/danhmucphongban.jsp.

       1.3.2. Caùch 2:
       Ñeå caáu hình öùng duïng JSP treân JRUN baïn coù theå thao taùc theo caùc böôùc sau:
       1. Baïn ñaêng nhaäp vaøo JRUN Admin vôùi http://localhost:8000 baèng caùch cung caáp
             username/pwd nhö hình 1-2 sau.




                                                                     Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM




                             Hình 1-2: Ñaêng nhaäp JRUN Admin


    2. Taïo thö muïc löu tröõ web site treân oå ñóa, chaúng haïn trong tröôøng hôïp naøy khai
        baùo thö muïc jspsample nhö hình 1-3.




                      Hình 1-3: Khai baùo thö muïc ñeå löu tröõ trang JSP




                                                              Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM


    3. Choïn vaøo menu Home, JRUN seõ lieät keâ danh saùch caùc server ñang caáu hình treân
        JRUN nhö hình 1-4.




                            Hình 1-4: Danh saùch caùc Server treân JRUN


    4. Choïn URL coù teân laø Create New Server treân menu naèm ôû ñaàu trang, trong cöûa
        soå vöøa xuaát hieän (Creating a New JRun Application Server) baïn cung caáp caùc
        tham soá trong hình 1-5 nhö sau:
      •     Host Name:localhost (hoaëc ñòa chæ IP, teân server)
      •     JRun Server Name: Choïn teân cuûa öùng duïng, ví duï trong tröôøng hôïp naøy choïn
            jspsample.
      •     JRun Server Directory: Thö muïc cuûa öùng duïng baïn vöøa taïo ra, chaúng haïn
            D:/jspsample (hay D:/thuvien/hr).
    5. Nhaán nuùt Create chôø trong giaây laùt cöûa soå cuûa HOME page seõ xuaát hieän teân öùng
       duïng web baïn vöøa taïo (jspsample), nhaán nuùt Start ñeå khôûi ñoäng öùng duïng naøy.
          Trong tröôøng hôïp phaùt sinh loãi do port bò ñuïng ñoä, maëc ñònh cuûa site default laø
          8100 (admin laø 8000), khi baïn taïo öùng duïng xong, moät port naøo ñoù ñöôïc gaùn cho
          öùng duïng cuûa baïn vì duï nhö 8101 nhö hình 1-6. Tuy nhieân, baïn coù theå thay ñoåi
          port naøy baèng caùch edit ñeå caäp nhaät.




                                                                  Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM




                                        Hình 1-5: Taïo website




                              Hình 1-6: Taïo öùng duïng JSP thaønh coâng


      Sau khi taïo thaønh coâng, teân öùng duïng vöøa taïo seõ xuaát hieän trong danh saùch server
cuûa JRUN nhö hình 1-7.


                                                                  Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM




                                      Hình 1-7: Teân site vöøa taïo


      Xem treân baûng danh saùch server öùng vôùi jspsample coù phaàn HTTP Port laø 8101,
sau ñoù treân http, baïn goõ http://localhost:8101/test.jsp, keát quaû seõ xuaát hieän nhö hình 1-8.




                                   Hình 1-8: Keát quaû trang test.jsp


                                                                      Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM


2. GIÔÙI THIEÄU JSP
   2.1. Yeâu caàu
        JSP döïa treân cuù phaùp cuûa ngoân ngöõ laäp trình Java, chính vì vaäy khi laøm vieäc vôùi
JSP baïn phaûi laø ngöôøi coù kieán thöùc veà ngoân ngöõ naøy. Neáu baïn xaây döïng öùng duïng JSP
coù keát noái cô sôû döõ lieäu thì kieán thöùc veà cô sôû döõ lieäu SQL Server hay Oracle laø ñieàu caàn
thieát.

   2.2. Giôùi thieäu
       JSP laø kòch baûn trình chuû (Server Script) ñöôïc chaïy treân neàn JDK 1.3 trôû veà sau,
cuøng vôùi öùng duïng Web Server ñeå quaûn lyù chuùng. Web Server thöôøng söû duïng laø Tomcate,
Java Web Server, JRUN, WebLogic vaø Apache, ...
       Tieàn thaân cuûa JSP laø xuaát phaùt töø Java Servlet, khi laøm vieäc vôùi Java Servlet thì
haàu heát caùc laäp trình viweân gaëp khoù khaên khi xuaát nhaäp döõ lieäu, cuï theå laø giao dieän vôùi
ngöôøi söû duïng. Chính vì vaäy SUN Microsystem cung caáp kòch baûn JSP laø phaàn môû roäng
cuûa Java Servlet ñeå cho pheùp quaù trình laäp trình öùng duïng Web trôû neân ñôn giaûn hôn.
Tuy nhieân, nhöõng trang JSP naøy khi bieân dòch ñeà thoâng qua trang trung gian laø Java
Sevrlet.

   2.3. Bieân dòch trang JSP
      Khi ngöôøi söû duïng goïi trang JSP laàn ñaàu tieân, Web Server trieäu goïi trình bieân dòch
dòch trang JSP (trong tröôøng hôïp naøy laø JDK) thaønh taäp tin Java, keá ñeán taäp tin java
(Java Servlet) naøy seõ bieân dòch ra Class . Sau ñoù, trang class thöïc thi vaø traû veà keát quaû
cho ngöôøi söû duïng nhö hình 1-9.

                                                                                   Java
                                                                     Call         Engine
                                         Parse
                                                      Web                         (JSK)
                                                     Server




                       Request
                                   Taäp tin
                                    JSP                                     Taäp tin
                                                  Instantiate
                                                                             Java
                                                                            Servlet
                       Request
                                                                  Compile




                                   Response
                                                       Taäp tin
                                                        Class

                                   Response
                                                                   Instantiate
                                                                   Process and
                                                                     Render




                                 Hình 1-10: Quaù trình bieân dòch trang JSP


                                                                       Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTERWWW.HUUKHANG.COM


   2.4. Kòch baûn (script)
      Noäi dung cuûa JSP coù theå khai baùo laãn loän vôùi HTML, chính vì vaäy baïn söû duïng caëp
daáu <%= %> ñeå khai baùo maõ JSP. Chaúng haïn, chuùng ta khai baùo:

      <br>
      1-Giaù trò bieán Str: <%=str%>
      2-Giaù trò bieán i: <%=i%>
      3-Giaù trò cuõ theå: <%=10%>


      Trong tröôøng hôïp coù nhieàu khai baùo, baïn söû duïng Scriptlet, ñeàu naøy coù nghóa laø söû
duïng caëp daáu treân nhö <%%> vôùi caùc khai baùo JSP vôùi cuù phaùp cuûa Java nhö sau:

      <%
      int i=0;
      String str=”Select * from tblABC”;
      out.println(str);
      %>
      -Khai baùo treân laø Scriptlet
      Giaù trò cuûa i: <br>
      <%=i%> -Khai baùo naøy laø Script


3. KEÁT LUAÄN
      Trong baøi naøy, chuùng ta taäp trung tìm hieåu caùch caøi ñaët JSK vaø JRUN, sau ñoù caáu
hình öùng duïng JSP trong JRUN hay söû duïng caáu hình maëc ñònh cuûa chuùng.
      Ngoaøi ra, baïn laøm quen caùch khai baùo maõ JSP trong trang .jsp cuøng vôùi script hay
scriptlet.




                                                                    Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                                    WWW.HUUKHANG.COM


                               Moân hoïc: Java Server Pages

                                                Baøi 2

       Baøi hoïc naøy chuùng ta seõ laøm quen vaø tìm hieåu cuù phaùp vaø moät
       soá phöông thöùc cô baûn cuûa JSP:

                Caâu leänh.
                Bieán vaø kieåu döõ lieäu.
                Haèng.
                Baûng daõy
                Moät soá phöông thöùc cô baûn

1. KHAÙI NIEÄM VEÀ CUÙ PHAÙP JSP
      Cuù phaùp JSP chính laø cuù phaùp trong ngoân ngöõ Java, caùc baïn laøm quen vôùi ngoân
ngöõ Java thì coù lôïi theá trong laäp trình JSP.
      Ñeå laäp trình baèng ngoân ngöõ JSP caàn chuù yù nhöõng ñieåm sau:
              Cuoái caâu leänh coù daáu ;
              Moãi phöông thöùc ñeàu baét ñaàu { vaø ñoùng baèng daáu }
              Khi khai baùo bieán thì kieãu döõ lieäu naèm tröôùc teân bieán
              Neân coù giaù trò khôûi ñaàu cho bieán khai baùo
              Phaûi coù chi chuù (comment) cho moãi feature môùi
              Söû duïng daáu // ñeå giaûi thích cho moãi caâu ghi chuù
              Söû duïng /* vaø */ cho moãi ñoaïn ghi chuù
              Khai baùo bieán coù phaân bieät chöõ hoa hay thöôøng
              Teân file vaø lôùp cuõng nhö nhö khai baùo bieán



2. KHAI BAÙO BIEÁN
      Khi thöïc hieän moät vieäc khai baùo bieán trong java, baïn caàn phaûi bieát tuaân thuû quy
ñònh nhö: kieãu döõ lieäu tröôùc teân bieán vaø coù giaù trò khôûi ñaàu
       Xuaát phaùt töø nhöõng ñieàu ôû treân, khai baùo bieán trong Java nhö sau:
           Datatype variable name [initial value];

           int licount=0;
           String lsSQL=”Select * from tblusers where active=1”;
           double account[];
           boolean checkerror=false;

3. KIEÅU DÖÕ LIEÄU
   Baûng caùc kieåu döõ lieäu thoâng thöôøng
                     Type                   Bytes           Range

                     Boolean                2



                                                                         Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                              WWW.HUUKHANG.COM


                 Byte                    1
                 Char                    2

                 Double                  8 cho aâm, 4
                                         soá döông

                 Float                   4
                 Int                     4
                 Long                    8
                 Short                   2
                 Connection
                 Statement

                 ResultSet



  3.1. Kieåu Array
     Kieãu maûng laø moät maûng soá lieäu do ngöôøi duøng ñònh nghóa, chuùng coù cuù phaùp nhö
     sau:
        double account[]; // maûng soá double
     hay coù theå khai baùo nhö sau
        double account[]={0,0,1,45.95,6.5};
  thöù töï index trong maûng baét ñaàu töø vò trí 0. Neáu nhö baïn khai baùo maûng hai chieàu, thì
  cuù phaùp khai baùo nhö sau:
        double account[][]=new double[2][5];
  Chaúng haïn khai baùo nhö sau:
     <%
        double account[][]=new double[2][100];
        account[0][3]=43.95;
        account[1][3]=43.95000;
        out.println(“Account 0-3 is ” + account[0][3] );
        out.println(“Account 1-3 is ” + account[1][3] );
     %>


  Khai baùo bieán String


     <%
        String strSQL=”select * from tblusers ”;
        String strWhere=” where active=0”;



                                                                  Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                                 WWW.HUUKHANG.COM

         out.println(“SQL Statement is ” + strSQL+strWhere );
     %>
  Khai baùo vôùi nhieàu loaïi döõ lieäu
      <%
       boolean bo;
       byte by;
       char c;
       short s;
       int i;
       long l;
       float f;
       double d;
       object o;
       int[] intArray = new int[2];
       object[] objectArray = new Object[2];
       out.println("boolean: "+bo);
       out.println("byte: "+by);
       out.println("char: "+c);
       out.println("short: "+s);
       out.println("int: "+i);
       out.println("long: "+l);
       out.println("float: "+f);
       out.println("double: "+d);
       out.println("Object: "+o);
       out.println("int[2]: "+intArray[0]+" "+intArray[1]);
       out.println("Object[2]: "+objectArray[0]+" "+objectArray[1]);
      %>


4. CAÙC PHÖÔNG THÖÙC VAØ PHÖÔNG THÖÙC TRONG JAVA
  4.1. Phöông thöùc traû veà chieàu daøi maûng
     Khi quan taâm ñeán chieàu daøi cuûa maûng thì baïn caàn theo cuù phaùp sau:
  Array.length
     Giaû söû raèng, baïn khai baùo bieán vôùi chieàu daøi maõng moät vaø hai chieàu
     <%
     double account[]={88,11,2.5,77};
     double sum;
     sum=account.length;



                                                                    Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                                 WWW.HUUKHANG.COM

       out.println(“Length of Account is ” + sum);%>


   4.2. Chuyeån sang kieåu chuoãi
       Khi baïn caàn chuyeãn ñoåi töø kieåu soá lieäu khaùc sang kieåu chuoãi, thì caàn khai baùo nhö
sau:
       String.valueOf(data);
       Ví duï chuyeån ñoåi kieåu sang kieåu chuoãi
   <%
       double account[]={88,11,2.5,77};
       String str;
       str=String.valueOf(account[2]);
       out.println(“String of Account 2 is ” + str);
   %>


   4.3. Noái chuoãi
      Khi caàn thieát noái hai hay nhieàu chuoåi laïi vôùi nhau, baïn söû duïng phöông thöùc
concat, thoâng thöôøng chuùng ta hay dung pheùp toaùn + ñeå noái hai hay nhieàu chuoãi laïi vôùi
nhau.
       Cuù phaùp concat nhö sau:
       Str1.conact(Str2);
       Keát noái chuoãi
   <%
       String str1=”Select * from tblemplyers”;
       String str2=” where paid=1”;
       str1=str1.conact(str2);
       out.println(“String of Str1 is ” + str1);
   %>


   4.4. Chuoãi con
Khi baïn caàn laáy moät chuoãi con trong chuoãi lôùn, baïn caàn duøng ñeán phöông thöùc vôùi cuù
phaùp nhö sau:
   str1=str2.substring(start,chieàu daøi)
Ví duï khai baùo ñeå laáy chuoãi con
   <%
       String str1=”Select * from tblemplyers”;
       String str2=str1.substring(9,5);
       out.println(“Sub String of Str1 is ” + str2);



                                                                    Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                               WWW.HUUKHANG.COM

   %>
Nhöng neáu coù nhu caàu laáy ra moät kyù töï naøo ñoù trong chuoãi, thì baïn khoâng caàn duøng
substring maø chæ söû duïng cuù phaùp charAt nhö sau:
   Char=Str1.charAt(number);


Chaúng haïn, khai baùo ñeå laáy 1 kyù töï
   <%
      String str1=”Select * from tblemplyers”;
      String str2=str1.charAt(5);
      Out.println(“charAt of Str1 is ” + str2);
   %>
   4.5. Chuyeãn ñoåi String sang Array
       Thoâng thöôøng trong khi tính toaù chuoãi, ñoâi khi cuõng caàn ñeán chuùng nhö moät maõng,
lyù do ñoù chuùng ta coù phöông thöùc chuyeãn ñoåi nhö sau:
      char char1[]=str1.toCharArray();


      Chuyeån chuoãi sang maûng
   <%
      String str1=”Select * from tblemplyers”;
      char char1=str1.toCharArray();
      out.println(“Char of Str1[1] is ” + char1[5]);
   %>


   4.6. Thay theá chuoãi
       Khi caàn thay theá moät chuoãi con naøo ñoù trong chuoãi meï thaønh chuoãi con khaùc, chuùng
ta caàn ñeán phöông thöùc replace coù cuù phaùp nhö sau:
      str1=str2.replace(“’”,”’’”);
      str1=str2.replace(“a”,”k”);


      Ví duï khai baùo thay theá chuoãi
      <%
      String str1=”Select * from tblemplyurs”;
      str1= replaceString (str1,“u”,”o”);
      str1= replaceString (str1,“’”,”’’”);
      out.println(“Char of Str1 is ” + str1);
      %>
      Trong ñoù, khai baùo phöông thöùc replaceString nhö sau



                                                                   Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                                 WWW.HUUKHANG.COM


      <%!
      public String replaceString(String sStr,String oldStr,String newStr)
          {
              sStr=(sStr==null?"":sStr);
              String strVar=sStr;
              String tmpStr="";
              String finalStr="";
              int stpos=0,endpos=0,strLen=0;
              while (true)
                  {
                      strLen=strVar.length();
                      stpos=0;
                      endpos=strVar.indexOf(oldStr,stpos);
                      if (endpos==-1)
                         break;
                      tmpStr=strVar.substring(stpos,endpos);
                      tmpStr=tmpStr.concat(newStr);


         strVar=strVar.substring(endpos+oldStr.length()>sStr.length()?endpos:endpos+old
      Str.length(),strLen);
                      finalStr=finalStr.concat(tmpStr);
                      stpos=endpos;
                  }
                  finalStr=finalStr.concat(strVar);
                  return finalStr;
              }
      %>

   4.7. Vò trí kyù töï trong chuoãi
       Khi caàn bieát vò trí cuõa kyù töï hay chuoãi con naøo ñoù trong chuoãi, baïn söû duïng phöông
thöùc sau:
      virti=str1.indexOf(“select”);
      virti=str1.indexOf(“o”);


      Chaúng haïn tìm vò trí chuoãi hay kyù töï trong Chuoãi
   <%



                                                                    Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                                 WWW.HUUKHANG.COM

      String str1=”Select * from tblemplyurs”;
      int vitri=str1.indexOf(“o”);
      Out.println(“Location of ”o” is ” + vitri);
   %>

   4.8. Kieåu chöõ
        Neáu muoán chuyeãn ñoåi chöõ hoa sang thöôøng hay ngöôïc laïi, thì baïn duøng phöông thöùc
coù cuù phaùp nhö sau:
      Töø hoa sang thöôøng: str1.toLowerCase();
      Töø thöôøng saung hoa: str1.toUpperCase();


   Ví duï
   <%
      String str1=”Select * from tblemplyors”;
      str1=str1.toLowerCase();
      out.println(“LowerCase is ” + str1);
      str1=str1.toUpperCase();
      out.println(“UpperCase is ” + str1);
   %>

5. TOÙM TAÉT
    Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn caùch khai baùo bieán, caùc kieåu
döõ lieäu, ñoàng thôøi giuùp cho caùc baïn nhöõng phöông thöùc treân chuoãi vaø kyù töï trong JSP.




                                                                     Giaùo vieân: Phaïm Höõu Khang
COMPUTER LEARNING CENTER                                           WWW.HUUKHANG.COM


                                           Baøi 3
                   PHEÙP TOAÙN VAØ PHAÙT BIEÅU COÙ ÑIEÀU KIEÄN
                                      TRONG JSP


             Chöông naøy chuùng ta seõ laøm quen vaø tìm hieåu toaùn töû, phaùt bieåu
       coù ñieàu kieän vaø voøng laëp cuûa JSP.

         Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy
                Toaùn töû.
                Pheùp gaùn trong Java
                Phaùt bieåu coù ñieàu khieån.
                Voøng laëp.




1. KHAÙI NIEÄM VEÀ CAÙC TOAÙN TÖÛ TRONG JSP

      Khi baïn laäp trình treân JSP laø söû duïng cuù phaùp cuûa ngoân ngöõ Java. Töông
töï nhö nhöõng ngoân ngöõ laäp trình khaùc, toaùn töû giuùp cho baïn thöïc hieän nhöõng
pheùp toaùn nhö soá hoïc hay treân chuoãi.
       Baûng sau ñaây giuùp cho baïn hình dung ñöôïc nhöõng toaùn töû söû duïng tron
Java
      Java ñòng nghóa toaù töû toaùn hoïc, quan heä, soá hoïc, bit, caste, class, selection,
vaø noät soù pheùp toaùn gaùn.


       Loaïi toaùn töû   Toaùn töû   Dieãn giaûi                    Ví duï
                         +           Addition                       a     +        b
                         -           Subtraction                    a     -        b
        Arithmetic       *           Multiplication                 a     *        b
                         /                                          a     /        b
                                     Division
                         %                                          a % b
                                     Modulus
                         >           Greater than                   a         >    b
                         <           Less than                      a         <    b
                         >=          Greater than or equal          a        >=    b
        Relational       <=                                         a        <=    b
                                     Less than or equal
                         !=                                         a        !=    b
                         ==          Not equal                      a ==     b
                                     Equal
                         !                                          !a
        Logical          &&          Not                            a        &&    b


huukhang@yahoo.com                                                                      3-1
COMPUTER LEARNING CENTER                                            WWW.HUUKHANG.COM


                      ||             AND                            a || b
                                     OR

                      ~              Complement                     ~a
                      &              AND                            a     &         b
    Bit-
                      |              OR                             a     |         b
                      ^              Exclusive OR                   a     ^         b
    manipulation      <<
                                     Left shift
                                                                    a    <<         b
                      >>                                            a    >>         B
                      >>>            Right shift                    a >>> b
                                     Zero-filled right shift
                                     Assignment
                      =              Increment and assign           a     =         b
                      ++             Decrement and assign           a++
                      --             Add and assign                 a--
                      +=             Subtract and assign            a    +=         b
                      -=                                            a    -=         b
                                     Multiply and assign
                      *=                                            a    *=         b
                      /=             Divide and assign              a    /=         b
    Assignment        %=             Take modulus and assign        a    %=         b
                      |=             OR and assign                  a    |=         b
                      &=             AND and assign                 a    &=         b
                      ^=             XOR and assign                 a    ^=         b
                      <<=                                           a   <<=         b
                      >>=            Left shift and assign          a   >>=         b
                      >>>=           Right shift and assign         a >>>= b
                                     Zero-filled left shift and
                                     assign
    Caste             (type)         Convert to type                (char) b
                      instance
    Instance          of             Is instance of class?          a instanceof b

                                     Create a new object of a
    Allocation        new                                           new A()
                                     class
    Selection         ? :            If...Then selection            a ? b : c



2. GIÔÙI THIEÄU TOAÙN TÖÛ

     Khi noùi ñeán toaùn töû, chuùng ta luoân lieân töôûng ñeán thöù töï xöû lyù, cuõng nhö
trong toaùn hoïc, toaùn töû trong java cuõng co ñoä öu tieân add-subtract-multi-divide.
  2.1. Toaùn töû AND

     Khi thöïc hieän moät vieäc taêng leân giaù trò thì baïn söû duïng cuù phaùp nhö sau:
     int i=0,j=0;



huukhang@yahoo.com                                                                      3-2
COMPUTER LEARNING CENTER                                             WWW.HUUKHANG.COM


     j=i++;// i taêng sau khi gaùn i vaøo j, chính vì vaäy sau khi gaùn i vaøo j, j vaãn
khoâng thay ñoåi
        j=++i;// i taêng tröôùc khi gaùn i vaøo j, chính vì vaäy sau khi gaùn i vaøo j, j thay
ñoåi.


Ví duï 3.1: Pheùp toaùn AND.


   <%
        int i=0,j=0;
        j=i++;
        out.println(“Value of j is ” + j);
        j=++i;
        out.println(“Value of j is ” + j);
   %>
   2.2. Toaùn töû Not: ~ And !

      Toaùn töû ~ ñaûo nghòch taát caû caùc bit cuûa tham soá, coøn toaùn töû ! ñaûo nghòch
giaù trò cuûa giaù trò tröôùc ñoù
Ví duï 3.2: Pheùp toaùn ~ and !


   <%
        short i=32767;
        boolean b=true;
        out.println(“Value of ~ short is ” + ~i);
        out.println(“Value of !b is ” +!b);
   %>
   2.3. Toaùn töû nhaân vaø chia: * and /

        Baïn coù theå tham khaûo ví duï sau
Ví duï 3.3: Pheùp toaùn * vaø /, + vaø -


<%
        int i=767;
        double j=10.5;
        out.println(“Value of multi is ” + i*j);
        out.println(“Value of divide is ” +i/5);



huukhang@yahoo.com                                                                        3-3
COMPUTER LEARNING CENTER                                           WWW.HUUKHANG.COM


     out.println(“Value of add is ” +i+5);
     out.println(“Value of subtract is ” +i-5);
  %>
  2.4. Toaùn töû modulus: %

     Khi chia moät soá cho moät soá, baïn caàn keát quaû laø soá dö cuûa pheùp chia ñoù thì
duøng toaùn töû modulus
Ví duï 3.4: Pheùp toaùn %


  <%
     int i=10;
     int j=3;
     out.println(“Value of i%j is ” + i%j);
  %>
  2.5. Toaùn töû quan heä: >=,>,<,<=,==,!=

      Khi caàn so saùnh keát quaû giöõa hai toaùn haïn vôùi nhau, thoâng thöôøng baïn nghó
ñeán pheùp toaùn so saùnh nhö laø baèng, lôùn hôn, nhoû hôn, ví duï sau dieãn giaûi cho
baïn caùc toaùn töû treân:
Ví duï 3.5: Pheùp toaùn >,>=,<,<=,==,!=


<%
     int i=10;
     int j=3;
     if(i>=j)
        out.println(“result is true”);
     else
        out.println(“result is false”);
     if(i!=j)
        out.println(“result is not equals”);
     else
        out.println(“result is equals”);

%>




huukhang@yahoo.com                                                                     3-4
COMPUTER LEARNING CENTER                                            WWW.HUUKHANG.COM


  2.6. Toaùn töû && vaø ||

     && laø toaù töû and trong soù hoïc
     || laø toaùn töû or trong soá hoïc
      Hai toaùn töû naøy raát thöôøng duøng trong khi laäp trình treân Java, ví duï döôùi
ñaây dieãn giaûi cho baïn ñaày ñuû hai toaùn töû naøy. Chuù yù raèng khi söû duïng toaùn töû
ñeàu coù keøm phaùt bieåu coù ñieàu kieän.
Ví duï 3.6: Pheùp toaùn && vaø ||


  <%
     boolean b=true;
     int j=3;
     if((j>=3) &&(b!=true))
        out.println(“result is true”);
     if((j<3) ||(b==true))
        out.println(“result is false”);
  %>
  2.7. Toaùn töû ?:

      Toaùn töû naøy thay theá cho phaùt bieåu coù ñieàu kieän if.. then .. else, khi baïn
caàn laáy keát quaû theo ñieàu kieän naøo ñoù, neáu coù theå khoâng caàn phaùt bieåu if-else,
thì haõy thay theá baèng toaùn töû ?:, cuù phaùp cuûa chuùng nhö sau:
     str1=str2.equals(”khang”)?”Welcome to Java”:”Good bye JSP”;


Ví duï 3.7: Pheùp toaùn ?:


<%
     String str1=”Pham Huu Khang”;
     String str2 =“Khang”;
        out.println(“result is true”+ (str1.equals(str2)?”Welcome to
                                          Java”:”Good bye JSP”));

%>




huukhang@yahoo.com                                                                      3-5
COMPUTER LEARNING CENTER                                        WWW.HUUKHANG.COM


3. PHEÙP GAÙN

     Khi gaùn moät giaù trò hay bieán vaøo moät bieán trong Java, baïn phaûi duøng ñeán
pheùp gaùn, nhöng trong Java cuõng gioángnhö trong C thì coù nhöõng pheùp gaùn ñöôïc
ñôn giaûn hoaù hay noùi ñuùng hôn laø chuaån hoaù ñeå ruùt goïn laïi trong khi vieát.
  3.1. Pheùp gaùn thoâng thöôøng nhaát nhö sau:

     int    j=i;
     String str1 =” Hello!”;
     boolean       b=true;
  3.2. Pheùp gaùn theâm moät giaù trò laø 1

     int k=0;
     k++;
  3.3. Pheùp gaùn theâm moät vôùi chính noù giaù trò

     int k=0,j=1;
     k+=j;
     töông töï nhö vaäy chuùng ta coù k*=2, nghóa laø k=k*2
4. PHAÙT BIEÅU COÙ ÑIEÀU KIEÄN

     Caùc phat bieåu coù ñieàu kieän nhö :
       IF (ñieàu kieän) { caâu leänh; }
       IF (ñieàu kieän) { caâu leänh; }ELSE { caâu leänh; }
       switch (ñieàu kieän)
       {
            case Value1
                   caâu leänh1;
                   break;
            }
       While (ñieàu kieän)
       Do - While (ñieàu kieän)
       Break
       Continue




huukhang@yahoo.com                                                                 3-6
COMPUTER LEARNING CENTER                                              WWW.HUUKHANG.COM


  4.1. Phaùt bieåu IF (ñieàu kieän) { caâu leänh; }

     Söû duïng phaùt bieåu if ñeå choïn loïc keát quaû khi ñieàu kieän ñuùng, ví duï nhö sau:
Ví duï 3.8: Phaùt bieåu IF


<%
     boolean b=true;
     int j=3;
     if((j>=3) &&(b!=true))
        out.println(“result is true”);
     if((j<3) ||(b==true))
        out.println(“result is false”);
  %>


  4.2. Phaùt bieåu IF (ñieàu kieän) { caâu leänh; }ELSE { caâu leänh; }

      Söû duïng phaùt bieåu if ñeå choïn loïc keát quaû khi ñieàu kieän ñuùng, vaø xuaát ra keát
quaû khi ñieàu kieän sai, ví duï nhö sau:
Ví duï 3.9: Phaùt bieåu IF - ELSE


<%
        boolean b=true;
        int j=3;
        if((j>=3) &&(b!=true))
            out.println(“result is true”);
        else
            out.println(“result is false”);


     %>


  4.3. Phaùt bieåu Switch (ñieàu kieän)

      Phaùt bieåu switch laø phaàn cuûa phaùt bieåu if else nhieàu nhaùnh, khi coù nhieàu
ñieàu kieän choïn löïa thì baïn söû duïng switch, cuù phaùp cuûa chuùng nhö sau:
     Switch(ñieàu kieän)
        {



huukhang@yahoo.com                                                                         3-7
COMPUTER LEARNING CENTER                                             WWW.HUUKHANG.COM


              case Value1
                    caâu leänh1;
                    break;
              case Value2
                    caâu leänh2;
                    break;
              …
                  default:
                    caâu leänh default;
        }
Break: duøng ñeå thoaùt ra khoûi switch khi thoaû moät case naøo ñoù trong switch,
default: khi khoâng coù baát kyø giaù trò naøo thoaûn trong caùc case thì giaù trò cuoái cuøng
laø defaule statement
Ví duï 3.10: Phaùt bieåu Switch


<%
        int j=3;
        switch(j)
         {
             case 1:
                  out.println(“Today is Monday”);
                  break;
             case 2:
                  out.println(“Today is Thurday”);
                  break;
             case 3:
                  out.println(“Today is Tueday”);
                  break;
             default:
                  out.println(“Today is Sunday”);
        }
     %>




huukhang@yahoo.com                                                                       3-8
COMPUTER LEARNING CENTER                                              WWW.HUUKHANG.COM


  4.4. Phaùt bieåu While(ñieàu kieän)

       Phaùt bieåu while thöïc thi nhöõng caâu leänh trong while khi ñieàu kieän coø ñuùng.
Ví duï 3.11: Phaùt bieåu While


<%
           int j=1;
           while(j<=30)
           {
                 out.println(“Number of j” + j);
                 j++;


       %>
  4.5. Phaùt bieåu For

       Phaùt bieåu for duøng cho voøng laëp coù giôùi haïn cho tröôùc, cuù phaùp coù daïng nhö
sau:
       int i=0;
       for(i=1;i<10;i++)
       {
           caâu leänh;
       }
Ví duï 3.12: Phaùt bieåu For


<%
           int mang[]={3,5,6,7,8,9};
           for (int j=0;j<mang.length;j++)
           {
                 out.println(“Phan tu mang “+j+” : ”+mang[j]);
           }
       %>
5. TOÙM TAÉT

    Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn caùc pheùp gaùn, caùc toaùn
töû, ñoàng thôøi giuùp cho caùc baïn hieåu theâm vaøo caùc phaùt bieåu coù ñieàu kieän nhö
while, for, switch, ….




huukhang@yahoo.com                                                                         3-9
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM


                                                     Baøi 4
                      ÑOÁI TÖÔÏNG SESSION, REQUEST, RESPONSE
                                               TRONG JSP


           Chöông naøy chuùng ta seõ laøm quen caùc ñoái töôïng thöôøng söû duïng trong
     quaù trình thieát keá trang JSP.

        Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy
               Ñoái töôïng Request.
               Ñoái töôïng Response.




1. ÑOÁI TÖÔÏNG REQUEST
 Khi muoán laáy giaù trò töø moät theû nhaäp lieäu ñeä trình (submit) töø form hay töø chuoãi QueryString, ñieàu
 naøy coù nghóa laø cho pheùp laáy giaù trò töø client gôûi leân server, ñoái tröôøng hôïp naøy baïn söû duïng ñoái
 töôïng Request. Ñoái töôïng naøy thuoäc lôùp javax.servlet.ServletRequest.

  1.1. Request vôùi töø theû nhaäp lieäu
    Ví duï chuùng ta khai baùo trang HTML hay JSP coù theû form, beân trong theû form khai baùo caùc theû
    nhaäp lieäu nhö input, select, textarea nhö ví duï 4-1.

     <%@ page contentType="text/html; charset=UTF-8" %>
     <html>
     <head>
     <title>JSP's Objects</title>
     <LINK href="style.css" rel=stylesheet>
     <LINK href="newstyle.css" rel=stylesheet>
     <META HTTP-EQUIV="Content-Type"
     CONTENT="text/html ; charset=utf-8">
     </head>
     <body leftmargin="0" topmargin="0" >
     <tr><td></td><td>Registration</td></tr>
     <form name=form1 action=ex2.jsp method=post>
     <table border=0>
     <tr>
     <td>Name: </td><td><input type=text name=txtname></td></tr>
     <tr><td>Province: </td><td><select name=province>
     <option value=HAN> Ha Noi </option>
     <option value=HUE> Hue </option>
     <option value=HCM> Ho Chi Minh </option>
     </select></td></tr>
     <tr><td>Description: </td><td>
     <textarea name=txtdesc cols=30 rows=5></textarea></td>
     </tr>
     <tr><td></td><td><input type=submit value="Submit"></td></tr>
     </table>
     </form>
     </body>
     </html>




huukhang@yahoo.com                                                                                    3-1
COMPUTER LEARNING CENTER                                                    WWW.HUUKHANG.COM


   Khi ngöôøi söû duïng goïi trang JSP naøy treân trình duyeät vaø nhaäp caùc thoâng tin yeâu caàu nhö hình 4-1.




                                              Hình 4-1: Nhaäp lieäu
   Ñeå laáy ñöôïc giaù trò cuûa caùc phaàn ñaõ nhaäp treân hình 4-1, chuùng ta söû duïng phöông thöùc
   getParameter cuûa ñoái töôïng request nhö ví duï 4-2.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>JSP</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <h4>Confirmation</h4>
    <hr size=1><br>
    <%
         String name=request.getParameter("txtname");
         String province=request.getParameter("province");
         String desc=request.getParameter("txtdesc");
         out.println("Name is "+ name +"<br>");
         out.println("Province is " + province +"<br>");
         out.println("Description is " + desc +"<br>");
    %>
    </body>
    </html>


   Keát quaû trình baøy nhö hình 4-2 neáu thoâng tin nhaäp gioáng nhö hình 4-1.




huukhang@yahoo.com                                                                                  3-2
COMPUTER LEARNING CENTER                                                   WWW.HUUKHANG.COM




                                Hình 4-2: Söû duïng phöông thöùc getParameter



  1.2. Request vôùi töø tham soá treân QueryString
   Töông töï nhö treân, trong tröôøng hôïp baïn muoán laáy caùc giaù trò cuûa caùc tham soá treân QueryString,
   baïn cuõng söû duïng phöông thöùc getParameter cuûa ñoái töôïng rquest. Chaúng haïn, chuùng ta khai baùo
   trang JSP coù theû input vaø söû duïng phöông thöùc get trong theû form nhö ví duï 4-3.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>JSP's Objects</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type"
    CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" >
    <tr><td></td><td><b>Tim kiem va Liet ket</b></td></tr>
    <form name=form1 action=ex4.jsp method=get>
    <table border=0>
    <tr>
    <td>Keyword: </td><td><input type=text name=keyword></td></tr>
    <tr><td></td><td><input type=submit value="Submit"></td></tr>
    </table>
    </form>
    </body>
    </html>


   Khi ngöôøi söû duïng nhaäp moät töø khoaù naøo ñoù vaø nhaán Submit, trang ex4.jsp seõ ñöôïc trieäu goïi.
   Chaúng haïn, chuùng ta nhaäp töø khoaù laø SQL Server nhö hình 4-3.




huukhang@yahoo.com                                                                                3-3
COMPUTER LEARNING CENTER                                                 WWW.HUUKHANG.COM




                                        Hình 4-3: Phöông thöùc GET
   Khi       trang      ex4.jsp    trieäu     goïi,  treân  chuoãi    QueryString           xuaát     hieän
   http://localhost:81/jsp/chapter04/ex4.jsp?keyword=SQL+Server nhö hình 4-4.




                                   Hình 4-4: Laáy giaù trò töø QueryString
   Ñeå laáy giaù trò töø chuoãi QueryString, chuùng ta söû duïng phöông thöùc getParemeter cuûa ñoái töôïng
   request nhö ví duï 4-4.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%




huukhang@yahoo.com                                                                             3-4
COMPUTER LEARNING CENTER                                                 WWW.HUUKHANG.COM


           // Laáy giaù trò keyword töø trang ex3.jsp
           String keyword=request.getParameter("keyword");
           // Laáy giaù trò sort töø trang QueryString
           String sort=request.getParameter("sort");
    %>
    <html>
    <head>
    <title>JSP</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <h4>Result</h4>
    <!--Khai baùo caùc link ñeå giöõ laïi keyword
    vaø khai baùo giaù trò cho tham soá sort-->
    <a href="ex4.jsp?keyword=<%=keyword%>&sort=ItemName">ItemName</a>
    <a href="ex4.jsp?keyword=<%=keyword%>&sort=UnitPrice">Unit Price</a>
    <br>
    <hr size=1><br>
    <%
           // xuaát giaù trò laáy ñöôïc
           out.println("Keyword is "+ keyword +"<br>");
           sort=(sort==null)?"ItemName":sort;
           out.println("Sort by " + sort +"<br>");
    %>
    </body>
    </html>


  1.3. Request vôùi maûng tham soá
   Neáu nhö coù nhieàu theû treân form hay tham soá treân QueryString cuøng teân, chuùng ta phaûi söû duïng
   phöông thöùc getParameterValues cuûa ñoái töôïng request. Ví duï, chuùng ta khai baùo trang JSP coù
   nhieàu theû input daïng checkbox cuøng teân nhöng khaùc giaù trò nhö ví duï 4-5.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>JSP's Objects</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type"
    CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" >
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <form action=ex6.jsp method=post>
    <tr><td><b>#</b></td><td><b>DepartmentID</b></td><td><b>Department
    Name</b></td></tr>
    <tr><td colspan=3><hr size=1></td></tr>
    <%
    int i=0;
    while(i<10)
         {
         out.println("<tr><td width=50 valign=top><input type=checkbox "):
         out.println("name=chkid value='"+i+"'></td>");
         out.println("<td width=100 valign=top>"+ i +"</td>");
         out.println("<td width=150 valign=top>Phong ban thu " + i+ " </td><tr>");
         i++;
         }
    %>




huukhang@yahoo.com                                                                             3-5
COMPUTER LEARNING CENTER                                                    WWW.HUUKHANG.COM

    <tr><td colspan=3><hr size=1></td></tr>
    <tr><td colspan=3><input type=submit value="Delete"></td></tr>
    </table>
    </form>
    </body>
    </html>


   Khi trieäu goïi trang JSP naøy treân trình duyeät, baèng caùch choïn moät vaøi phoøng ban ñeå xoaù baïn coù
   giao dieän nhö hình 4-5.




                                   Hình 4-5: Theû cuøng teân vaø khaùc giaù trò
   Nhö hình treân, baïn choïn caùc phoøng ban coù giaù trò laø 1,5,6,8, khi submit form naøy trang ex6.jsp seõ
   ñöôïc trieäu goïi, ñeå laáy ñöôïc giaù trò 1,5,6,8 nhö ñaõ choïn baèng caùch söû duïng phöông thöùc
   getParameterValues, baïn khai baùo nhö ví duï 4-6.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>JSP</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <h4>Delete </h4>
    <hr size=1><br>




huukhang@yahoo.com                                                                                3-6
COMPUTER LEARNING CENTER                                                          WWW.HUUKHANG.COM

    <%
            String[] deleterecord=null;
            String delStr="";
            deleterecord=request.getParameterValues("chkid");
            if(deleterecord!=null){
              for(int k=0;k<deleterecord.length;k++){
                delStr+= deleterecord[k]+",";
              }
              delStr=delStr.substring(0,delStr.length()-1);
            }
            out.println("Select values are : " + delStr);
    %>
    </body>
    </html>


   Khi ñoù, keát quaû trình baøy treân trình duyeät nhö hình 4-6, trong thöïc teá baïn coù theå gaùn giaù trò naøy
   vôùi chuoãi SQL vaø söû duïng pheùp toaùn IN hay NOT IN ñeå truy vaán hay thao taùc trong döõ lieäu.




                                            Hình 4-6: Keát quaû laáy maûng giaù trò



  1.4. Request keát hôïp vôùi JavaScript
   Ngoaøi caùc caùch treân, khi laøm öùng duïng thöôøng chuùng ta trình baøy danh saùch maåu tin phuï thuoäc
   vaøo giaù trò choïn treân theû select hay checkbox hoaëc readiobutton, baïn coù theå söû duïng phöông thöùc
   getParameter cuûa ñoái töôïng request ñeå thöïc hieän yù ñònh naøy nhö ví duï 4-7.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <%
    // Laáy giaù trò choïn trong theû select coù teân selectid
    int selectid=0;
    // Chuyeån qua soá nguyeân neáu coù choïn
    if (request.getParameter("selectid")!=null)
    {
          try {
              selectid=Integer.parseInt(request.getParameter("selectid"));




huukhang@yahoo.com                                                                                   3-7
COMPUTER LEARNING CENTER                                                       WWW.HUUKHANG.COM

           }
           catch(Exception ex)
           {
             selectid=0;
           }
    }
    %>
    <html>
    <head>
    <title>JSP's Objects</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type"
    CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" >
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <!--Khai baùo theû select coù teân selectid-->
    <form action=ex7.jsp method=post name=form1>
    <tr><td colspan=2><h4>Show</h4></td><td>
    <select name=selectid onchange="document.form1.submit();">
           <option value=0>Greater than 0</option>
           <option value=1>Greater than 1</option>
           <option value=2>Greater than 2</option>
           <option value=3>Greater than 3</option>
           <option value=5>Greater than 5</option>
    </select>
    <script>
         // Choïn laïi giaù trò choïn tröôùc ñoù trong theû select coù teân selectid
         for(var j=0;j<form1.selectid.length;j++)
         {
            if(form1.selectid[j].value=="<%=selectid%>")
              form1.selectid.selectedIndex=j;
         }
    </script>
    </td></tr>
    </form>
    <tr><td><b>#</b></td><td><b>DepartmentID</b></td><td>
    <b>Department Name</b></td></tr>
    <tr><td colspan=3><hr size=1></td></tr>
    <%
    // Trình baøy soá maåu tin >= giaù trò choïn trong theû select coù teân selectid
    int i=selectid;
    while(i<10)
          {
          out.println("<tr><td width=50 valign=top>");
          out.println("<input type=checkbox name=chkid value='"+i+"'></td>");
          out.println("<td width=100>"+ i +"</td>");
          out.println("<td width=150>Phong ban thu " + i+ " </td><tr>");
          i++;
          }
    %>
    <tr><td colspan=3><hr size=1></td></tr>

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


   Laàn ñaàu tieân goïi ñeán trang ex7.jsp thì keát quaû trình baøy laø 10 phoøng ban, neáu ngöôøi söû duïng choïn
   giaù trò trong phaàn Show “Greater than ” thì soá maåu tin trình baøy lôn hôn hoaëc baèng giaù trò ñang
   choïn nhö hình 4-7.




huukhang@yahoo.com                                                                                   3-8
COMPUTER LEARNING CENTER                                                   WWW.HUUKHANG.COM




                                    Hình 4-7: Trình baøy maåu tin choïn loïc



2. ÑOÁI TÖÔÏNG RESPONSE
   Khi muoán traû giaù trò töø server xuoáng client thì söû duïng ñoái töôïng response. Ñoái töôïng naøy thuoäc
   lôùp javax.servlet.ServletResponse.
   Chaúng haïn, sau khi kieåm tra giaù trò username vaø password hôïp leä thì töï ñoäng chuyeån ñeán trang
   myaccount.jsp trong trang login_authentication.jsp.
   Ñeå laøm ñieàu naøy, chuùng ta khai baùo trang login.jsp coù hai theû nhaäp lieäu laø username vaø password
   nhö ví duï 4-8.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>JSP</title>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8">
    <script language="JavaScript">

    // Khai baùo kieåm tra giaù trò nhaäp treân trình khaùch
    function checkinput(){
         if(document.form1.username.value==""){
            alert("Xin vui long nhap username");
            document.form1.username.focus();
            return false;
         }
         if(document.form1.password.value=="" ){
            alert("Xin vui long nhap password");
            document.form1.password.focus();
            return false;
         }

          return true;




huukhang@yahoo.com                                                                                 3-9
COMPUTER LEARNING CENTER                                                WWW.HUUKHANG.COM

    }
    </script>

    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <table width="100%" border="0" cellspacing="5" cellpadding="5">
    <tr><td>
    <form action=login_authentication.jsp name=form1
    method=post onSubmit="return checkinput();">
         <table align=center>
         <tr>
                  <td colspan="2" height="19">
                   <h4><b><font color="#FF0000">
                <font color="#0000CC">
                Administration Module</font>
                </font></b></h4><hr>
                  </td>
                 </tr><tr>
                  <td colspan=2 height="19">
                   <div align="left">Please enter username and password</div>
                  </td>

             </tr>
             <tr>
                 <td height="19">
                  <div align="left">Username</div>
                 </td>
                 <td height="19">
                  <div align="left">
                   <input type="text" name="username" size="30" maxlength="50">
                  </div>
                 </td>
                </tr>
                <tr>
                 <td height="31">
                  <div align="left">Password</div>
                 </td>
                 <td height="31">
                  <div align="left">
                   <input type="password" name="password"
                           size="30" maxlength="10">
                  </div>
                 </td>
                </tr>
                <tr>
                 <td >&nbsp;</td>
                 <td>&nbsp;</td>
                </tr><tr>
                 <td ><input type=submit value="Login"></td>
                 <td ><input type=reset value=Reset></td>
                </tr>
    </table></form>
    </body>
    </html>


   Khi trieäu goïi trang login.jsp treân trình duyeät nhö hình 4-8, neáu baïn khoâng nhaäp giaù trò cho
   username hay password thì cöûa soå thoâng baùo yeâu caàu xuaát hieän, quaù trình submit leân server chæ
   xaûy ra khi baïn nhaäp caû hai giaù trò hôïp leä.




huukhang@yahoo.com                                                                           3-10
COMPUTER LEARNING CENTER                                               WWW.HUUKHANG.COM




                                           Hình 4-8: Ñaêng nhaäp
    Khi submit thaønh coâng, trang login_authentication.jsp ñöôïc goïi, neáu username vaø password baïn
    nhaäp töông öùng laø khang, 123456 thì trang myaccount.jsp troû ñeán ngöôïc laïi thì goïi laïi trang
    login.jsp nhö ví duï 4-9.

    <%
    String username="";
    String password="";
    username= request.getParameter("username");
    password= request.getParameter("password");
    if (username.equals("khang")){
         if(password.equals("123456")){
           response.sendRedirect("myaccount.jsp");
         }
         else{
           /*sai password*/
           response.sendRedirect("login.jsp");
           }
    }
    else{
         /*sai user*/
         response.sendRedirect("login.jsp");
    }
    %>


3. TOÙM TAÉT

  Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn hai ñoái töôïng chính laø
request vaø response.


huukhang@yahoo.com                                                                         3-11
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM


                                                    Baøi 5
                                       ÑOÁI TÖÔÏNG SESSION
                                               TRONG JSP


          Trong baøi tröôùc chuùng ta seõ laøm quen caùc ñoái töôïng thöôøng söû duïng
     trong quaù trình thieát keá trang JSP nhö Request, Response. Trong baøi naøy
     chuùng ta tieáp tuïc laøm vieäc vôùi ñoái töôïng Session.

        Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy
               Ñoái töôïng Session.
               ÖÙng duïng ñoái töôïng Session.


1. ÑOÁI TÖÔÏNG SESSION
 Khi muoán truyeàn giaù trò töø trang trang web naøy sang trang web khaùc trong moät phieân laøm vieäc thì söû
 duïng duïng ñoái töôïng Session. Ñoái töôïng naøy thuoäc lôùp HttpSession.
 http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpSession.html

  1.1. Nhaän daïng moät phieân laøm vieäc
    Moãi khi coù moät phieân laøm vieäc ñöôïc taïo ra, thì trình chuû web seõ caáp moät ñònh danh laø moät chuoãi
    bao goàm caùc kyù töï vaø soá cho phieân laøm vieäc ñoù. Chaúng haïn, baïn môû moät browser vaø goïi trang jsp
    töø web site, khi ñoù phieân laøm vieäc ñöôïc taïo ra cuøng vôùi ñònh danh duy nhaát.
    Khi keát thuùc phieân laøm vieäc, ñònh danh naøy bò thu laïi vaø phaân phaùt laïi cho phieân laøm vieäc khaùc
    môùi taïo ra.
    Ñeå laáy ñöôïc ñònh danh naøy, baïn söû duïng phöông thöùc getId nhö ví duï 5-1.

     <%@ page contentType="text/html; charset=UTF-8" %>
     <html>
     <head>
     <title>JSP's Objects</title>
     <META HTTP-EQUIV="Content-Type"
     CONTENT="text/html ; charset=utf-8">
     </head>
     <body leftmargin="0" topmargin="0" >
     <table>
       <tr><td>
          Identify ID: <%=session.getId()%>
       </td></tr>
       </table>
     </body>
     </html>


    Khi ngöôøi söû duïng goïi trang JSP naøy treân trình duyeät giaù trò cuûa ñònh danh trình baøy nhö hình 4-
    1.




huukhang@yahoo.com                                                                                   3-1
COMPUTER LEARNING CENTER                                                     WWW.HUUKHANG.COM




                                   Hình 5-1: Ñònh danh cuûa phieân laøm vieäc

  1.2. Khôûi taïo vaø gaùn giaù trò cho session
   Khi caàn truyeàn gt töø trang JSP naøy sang trang JSP khaùc, baèng caùch khôûi taïo dt Session vaø gaùn
   cho chuùng thôøi gian töông öùng, sau ñoù baïn coù theå truy caäp vaøo ñoái töôïng naøy trong trang JSP khaùc
   trong cuøng phieân laøm vieäc.
   Ñeå laøm ñieàu naøy, baïn söû duïng phöông thöùc setValue voùi cuù phaùp nhö sau:

    session.putValue(“teân session”,”giaù trò”);


   Ví duï sau khi cung caáp username/password vaø nhaán nuùt Submit töø trang login.jsp nhö hình 5-2,
   trang login_authentication.jsp seõ ñöôïc trieäu goïi.




                                            Hình 5-2: Trang login.jsp




huukhang@yahoo.com                                                                                  3-2
COMPUTER LEARNING CENTER                                                     WWW.HUUKHANG.COM


   Neáu username laø khang vaø password laø 123456 thì trang myaccount.jsp seõ ñöôïc trieäu goïi. Tröôùc
   khi trieäu goïi trang myaccount.jsp, chuùng ta khôûi taïo moät soá session duøng ñeå söû duïng cho phieân laøm
   vieäc naøy chaúng haïn userid, username, fullname, email nhö ví duï 5-2 (login_authentication.jsp).

          <%
          String username="";
          String password="";
          username= request.getParameter("username");
          password= request.getParameter("password");
          if (username.equals("khang")){
             if(password.equals("123456")){
               session.putValue("userid","123");
               session.putValue("username",username);
               session.putValue("fullname","huukhang.com");
               session.putValue("email","admin@huukhang.com");
               response.sendRedirect("myaccount.jsp");
             }
             else{
               /*sai password*/
               response.sendRedirect("login.jsp");
               }
          }
          else{
             /*sai user*/
             response.sendRedirect("login.jsp");
          }
    %>


  1.3. Laáy giaù trò töø session
   Sau khi ñaêng nhaäp thaønh coâng, nhöõng ñoái töôïng session ñöôïc taïo ra, baèng caùch söû duïng phöông
   thöùc getValue, baïn coù theå laáy giaù trò töø caùc session naøy nhö ví duï 5-3 (myaccount.jsp).




huukhang@yahoo.com                                                                                  3-3
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM




                                        Hình 5-3: Laáy giaù trò töø Session
   Ñeå laáy giaù trò töø caùc session khai baùo trong trang login_authentication.jsp vaø trình baøy treân trang
   myaccount.jsp, baïn khai baùo nhö ví duï 5-3.

    <%@ page contentType="text/html; charset=UTF-8" %>
    <html>
    <head>
    <title>JSP</title>
    <LINK href="style.css" rel=stylesheet>
    <LINK href="newstyle.css" rel=stylesheet>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8">
    </head>
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <table width="100%" border="0" cellspacing="5" cellpadding="5">
    <tr><td>
         <h4>Welcome to JSP</h4>
    </td></tr>
    <tr><td><a href="logout.jsp">logout</a></td></tr>
    <tr><td>userid: =<%=session.getValue("userid")%></td></tr>
    <tr><td>username: =<%=session.getValue("username")%></td></tr>
    <tr><td>fullname: =<%=session.getValue("fullname")%></td></tr>
    <tr><td>email: =<%=session.getValue("email")%>
    </td></tr>
    </table>
    </body>
    </html>


  1.4. Huyû session
   Sau khi khoâng söû duïng ñoái töôïng session, baïn caàn söû duïng phöông thöùc ñeå huyø session ñoù thaøy vì
   ñeå chuùng toàn taïi, bôûi ví neáu chuùng khoâng söû duïng maø vaãn toàn thì web server vaãn phaûi quaûnl lyù.
   Chaúng haïn, khi chuùng ta logout khoûi öùng duïng website thì trang logout.jsp seõ ñöôïc tieäu goïi, ba72ng
   caùch söû duïng caùc phöông thöùc removeValue ví duï 5-4.



huukhang@yahoo.com                                                                                  3-4
COMPUTER LEARNING CENTER                                                     WWW.HUUKHANG.COM

          <%
          session.removeValue("userid");
          session.removeValue("username");
          session.removeValue("fullname");
          session.removeValue("email");
          response.sendRedirect("login.jsp");
          %>



   Neáu baïn trieäu goïi laïi trang trang myaccount.jsp treân trình duyeät, thì keát quaû trình baøy nhö hình 5-
   4.




                                           Hình 5-4: Huyû caùc session
   Nhö hình treân, khi session chöa taïo ra, neáu baïn truy caäp ñeán giaù trò cuûa chuùng thì giaù trò ñoù laø
   null, chính vì vaäy trong moät soá trang baét buoäc ngöôøi söû duïng phaûi ñaêng nhaäp roài môùi söû duïng thì
   baïn caàn phaûi kieåm tra session, neáu session baèng null thì troû ñeán trang login.jsp.
   Chaúng haïn trong tröôøng hôïp naøy chuùng ta coù ví duï 5-5, cho pheùp söû duïng khi ngöôøi söû duïng ñaõ
   ñaêng nhaäp, ñieàu naøy coù nghóa laø session coù teân userid phaûi toàn taïi.

         <%@ page contentType="text/html; charset=UTF-8" %>
    <%
    if (session.getValue("userid")==null)
         response.sendRedirect("login.jsp");
    %>
    <html>
    <head>
    <title>JSP</title>
    <LINK href="style.css" rel=stylesheet>




huukhang@yahoo.com                                                                                  3-5
COMPUTER LEARNING CENTER                                            WWW.HUUKHANG.COM

     <LINK href="newstyle.css" rel=stylesheet>
     <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8">
     </head>
     <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
     <table width="100%" border="0" cellspacing="5" cellpadding="5">
     <tr><td>
          <h4>Welcome to JSP</h4>
     </td></tr>
     </table>
     </body>
     </html>


2. TOÙM TAÉT

   Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn ñoái töôïng chính laø session,
sau khi coù ñoái töôïng naøy, baïn coù theå keát hôïp vôùi hai ñoái töôïng request vaø response ñeå
xaây döïng chöùc naêng ñaêng nhaäp heä thoáng.




huukhang@yahoo.com                                                                      3-6
COMPUTER LEARNING CENTER                                              WWW.HUUKHANG.COM


                                               Baøi 6
                                     PHÖÔNG THÖÙC VAØ
                                        CHEØN TAÄP TIN


           Khi xaây döïng öùng duïng Web noùi chung vaø öùng duïng JSP noùi rieâng,
     vieäc thoáng nhaát hoaù giao dieän laø ñieàu caàn thieát, chaúng haïn moïi trang JSP
     cuûa öùng duïng ñeàu phaûi coù kích thöôùc phaàn top, left, right, bottom vaø thaân
     gioáng nhau. Töông töï nhö vaäy moïi font chöõ vaø kích thöôùc cho töøng phaàn noäi
     dung cuõng laø ñieàu baïn phaûi thöïc hieän ñeå öùng duïng mang tính chuyeân
     nghieäp hôn
           Ngoaøi ra, nhö nhöõng baøi keá tieáp chuùng ta söû duïng chuoãi keát noái hay
     khai baùo ñoái töôïng Connection söû duïng trong moãi trang, taát caû nhöõng ñieàu
     naøy ñeàu daãn ñeán vieäc quaûn lyù khoù khaên khi caàn thay ñoåi moät trong nhöõng
     phaàn lieân quan.
        Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy
                 Xaây döïng taäp tin ñònh daïng noäi dung
                 Thoáng nhaát kích thöôùc cuûa moïi trang JSP
                 Khai baùo haøm vaø thuû tuïc duøng chung
                 Söû duïng haøm vaø thuû tuïc duøng chung


1. XAÂY DÖÏNG TAÄP TIN ÑÒNH DAÏNG NOÄI DUNG
 Khi trình baøy noäi dung treân trang HTML hay trang JSP, ñeå thoáng nhaát ñònh daïng chuoãi trong theû
 body hay theû div chaúng haïn baïn caàn khai baùo theû style trong theû <head>.

     <style>
       A{
         COLOR: #003063;
         TEXT-DECORATION: none
       }
       A:hover {
         COLOR: #003063;
         TEXT-DECORATION: underline
       }
       A:link {
         FONT-WEIGHT: bold;
         COLOR: red;
         TEXT-DECORATION: none
       }
       A:visited {
         FONT-WEIGHT: bold;
         COLOR: black;
         TEXT-DECORATION: none
       }
       .title {
         FONT-WEIGHT: normal;
         FONT-SIZE: 22px
       }
       .text{
         FONT: 11px Arial, Helvetica, sans-serif
       }



huukhang@yahoo.com                                                                          3-1
COMPUTER LEARNING CENTER                                                        WWW.HUUKHANG.COM

     </style>


 Trong ñoù, A töông öùng vôùi lieân keát (chuoãi trong theû <a>) coù ñònh daïng öùng vôùi tröôøng hôïp lieân keát, di
 chuyeån con chuoät, choïn lieân keát.

        A{
          COLOR: #003063;
          TEXT-DECORATION: none
        }
        A:hover {
          COLOR: #003063;
          TEXT-DECORATION: underline
        }
        A:link {
          FONT-WEIGHT: bold;
          COLOR: red;
          TEXT-DECORATION: none
        }
        A:visited {
          FONT-WEIGHT: bold;
          COLOR: black;
          TEXT-DECORATION: none
        }


 Chaúng haïn, chuùng ta khai baùo trang JSP vôùi noäi dung ñöôïc aùp duïng vôùi kieåu ñònh daïng khai baùo
 trong theû style nhö vuù duï 6-1.

 Ví duï 6-1: Khai baùo theû style

     <%@ page contentType="text/html; charset=UTF-8" %>
     <html>
     <head>
     <title>Style trong JSP</title>
     <style>
     A{
          COLOR: #003063;
          TEXT-DECORATION: none
     }
     A:hover {
          COLOR: #003063;
          TEXT-DECORATION: underline
     }
     A:link {
          FONT-WEIGHT: bold;
          COLOR: red;
          TEXT-DECORATION: none
     }
     A:visited {
          FONT-WEIGHT: bold;
          COLOR: black;
          TEXT-DECORATION: none
     }
     .title {
          FONT-WEIGHT: normal;
          FONT-SIZE: 22px;
          COLOR: #003063;
     }
     .text{
          FONT: 11px Arial, Helvetica, sans-serif
     }
     </style>
     </head>
     <body>



huukhang@yahoo.com                                                                                      3-2
COMPUTER LEARNING CENTER                                                  WWW.HUUKHANG.COM

        <h4>Style Tag</h4>
        <TABLE cellSpacing=0 cellPadding=0
             width="100%" border=0>
        <TR>
           <TD vAlign=top class=title>
           *** Quaûn Trò SQL Server 2000 ***                  </TD>
        </TR>
        <TR>
           <TD class=text>
           <div align=justify>
           Tìm hieåu caùch caøi ñaët, caáu hình, quaûn trò,
           backup & restore, import & export, thieát
           keá, laäp trình, töï ñoäng hoaù taùc vuï quaûn trò,
           baûn sao döõ lieäu, baûo maät vaø choáng thaâm nhaäp
           döõ lieäu baèng.
           <b>SQL Injection</b>.</div>
           </TD>
        </TR>
        <TR><TD><hr size=1 color=red></TD</TR>
        <TR><TD>Welcome to
        <a href="www.huukhang.com" class=>
        www.huukhang.com</a></TD
        </TR>
       </TABLE>
    </body>
    </html>


 Khi trieäu goïi trang ex1.jsp treân trình duyeät, noäi dung cuûa trang web ñöôïc ñònh daïng theo theû style
 nhö hình 6-1.




                                       Hình 6-1: AÙp duïng theû style




huukhang@yahoo.com                                                                              3-3
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM


 Töông töï nhö vaäy khi baïn muoán thoáng nhaát noäi dung trong nhöõng theû khaùc cuûa moät trang web thì
 khai baùo moät ñònh daïng trong theû style. Tuy nhieân, khi ñaët teân truøng vôùi theû HTML, moïi theû ñoù
 trong trang seõ cuøng chung moät ñònh daïng. Chaúng haïn, baïn khai baùo ñònh daïng cho theû td nhö sau:

     TD {
            FONT: 10px Arial, Helvetica, sans-serif
     }


 Moïi noäi dung trình baøy trong theû td seõ coù ñònh daïng nhö treân. Neáu baïn muoán coù ñònh daïng khaùc thì
 khai baùo thuoäc tính class cho theû td ñoù, ví duï söû duïng ñònh daïng khaùc cho theû td:

     <td class=text>ABC</td>


 Thay vì chuoãi ABC seõ coù ñònh daïng laø FONT: 10px Arial, Helvetica, sans-serif thì chuùng seõ coù ñònh
 daïng cuûa FONT: 11px Arial, Helvetica, sans-serif.
 Chuù yù raèng, trong moãi trang web baïn phaûi khai baùo theû style vaø ñònh nghóa thoáng nhaát cho caùc theû.
 Khi coù söï thay ñoåi baïn phaûi thay ñoåi trong moïi trang web. Ñeå söû duïng chung cho moïi trang web trong
 öùng duïng, baïn caàn xaây döïng moät taäp tin style, taäp tin ñöôïc bieát ñeán vôùi teân goïi custom style sheet
 (css).
 Baát kyø trang web naøo trong öùng duïng, muoán aùp duïng kieåu ñònh daïng trong taäp tin css thì khai baùo
 lieân keát taäp tin css baèng theû link.
 Ví duï, chuùng ta khai baùo taäp tin style.css bao goàm caùc ñònh daïng nhö ví duï 6-2.

 Ví duï 6-2: Khai baùo taäp tin css

     A{
            COLOR: #003063;
            TEXT-DECORATION: none
     }
     A:hover {
         COLOR: #003063;
         TEXT-DECORATION: underline
     }
     A:link {
         FONT-WEIGHT: bold;
         COLOR: red;
         TEXT-DECORATION: none
     }
     A:visited {
         FONT-WEIGHT: bold;
         COLOR: black;
         TEXT-DECORATION: none
     }
     .title {
         FONT-WEIGHT: bold;
         FONT-SIZE: 14px;
         COLOR: #003063;
     }
     .text{
         FONT: 11px Arial, Helvetica, sans-serif
     }


 Sau ñoù trong trang JSP, baïn khai baùo lieân keát taäp tin naøy baèng theû link, neáu muoán aùp duïng ñònh
 daïng naøy trong moãi theû HTML baïn söû duïng thuoäc tính class nhö khai baùo ñònh daïng cuûa theû style
 ngay trong trang ñoù nhö ví duï 6-3.

 Ví duï 6-3: Khai baùo söû duïng taäp tin css


huukhang@yahoo.com                                                                                   3-4
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM



     <html>
     <head>
     <title>
         Welcome to Link Style Sheet File
     </title>
     <LINK href="style.css" rel=stylesheet>
         <META http-equiv=Content-Type
         content="text/html; charset=utf-8">
     </head>
     <body>
         <h4>Style File</h4>
         <TABLE cellSpacing=0 cellPadding=0
              width="100%" border=0>
         <TR>
            <TD vAlign=top class=title>
            *** Quaûn Trò SQL Server 2000 ***                  </TD>
         </TR>
         <TR>
            <TD class=text>
            <div align=justify>
            Tìm hieåu caùch caøi ñaët, caáu hình, quaûn trò,
            backup & restore, import & export, thieát
            keá, laäp trình, töï ñoäng hoaù taùc vuï quaûn trò,
            baûn sao döõ lieäu, baûo maät vaø choáng thaâm nhaäp
            döõ lieäu baèng.
            <b>SQL Injection</b>.</div>
            </TD>
         </TR>
         <TR><TD><hr size=1 color=red></TD</TR>
         <TR><TD>Welcome to
         <a href="www.huukhang.com" class=>
         www.huukhang.com</a></TD
         </TR>
        </TABLE>
     </body>
     </html>


 Trieäu goïi trang ex.jsp treân trình duyeät nhö hình 6-3, maøu vaø kích thöôùc font cuøng vôùi kieåu chöõa cuûa
 noäi dung khoâng thay ñoåi so vôùi ex1.jsp, bôûi vì phaàn theû style ñöôïc taùch ra thaønh taäp tin style.css, sau
 ñoù duøng theû link ñeå lieân keát taäp tin css naøy vaøo trang jsp trôû laïi.




huukhang@yahoo.com                                                                                    3-5
COMPUTER LEARNING CENTER                                                          WWW.HUUKHANG.COM




                                           Hình 6-3: Lieân keát taäp tin css
 Chuù yù raèng, neáu khai baùo thuoäc tính class trong theû <table> thì nhöõng noäi dung trong theû <table> seõ
 coù ñònh daïng theo ñònh daïng khai baùo trong thuoäc tính class. Töông töï, neáu khai baùo thuoäc tính class
 trong theû <tr> thì noäi dung trong theû <tr> seõ coù ñònh daïng gioáng nhö ñònh daïng khai baùo trong thoâng
 tin class.

2. THOÁNG NHAÁT KÍCH THÖÔÙC CUÛA MOÏI TRANG JSP
 Khi xaây döïng öùng duïng web chuyeân nghieäp, ñieàu ñaàu tieân baïn neân quan taâm laø söï thoáng nhaát veà kích
 thöôùc cuûa caùc phaàn treân trang web. Ñieàu naøy coù nghóa laø khi ngöôøi söû duïng thay ñoåi trang web khi
 duyeät, phaàn top, left, right, bottom coù kích thöôùc nhö nhau.
 Ñeå laøm ñieàu naøy, baïn chia trang web ra thaønh 5 phaàn: top, left, right, body vaø bottom.
 Phaàn top thöôøng trình baøy caùc thuoäc tính nhö quaûn caùo (baner), logo (bieåu töôïng cuûa coâng ty), menu
 (thöïc ñôn cuûa öùng duïng) vaø moät soá thoâng tin khaùc.
 Phaàn left laø thoâng tin veà caùc menu phuï hay coøn goïi laø menu cuûa menu chính, beân caïnh menu con naøy
 trang web thöôøng coù caùc lieân keát veà lieân heä, quaûng caùo, mailing list (ñaêng kyù email), gôûi ñeán baïn beø
 (send to friend), ....
 Ñoái vôùi phaàn right, thöôøng laø phaàn giôùi thieäu veà caùc thoâng ñaëc bieät vaø quaûng caùo, chaúng haïn ñoái vôùi
 öùng duïng baùn saùch, phaàn right thöôøng laø danh saùch caùc nhoùm saùch baùn chaïy, saép phaùt haønh, ...
 Phaàn bottom thöôøng thoâng tin lieân laïc cuûa coâng ty, chuû nhaân cuûa web site vaø baûn quyeàn. Ngoaøi ra,
 phaàn bottom ñoâi khi laø danh saùch caùc menu con khaùc.
 Toùm laïi, tuyø thuoäc vaøo yù töôûng thieát keá moãi phaàn nhö treân bao goàm caùc thuoäc tính maø nhaø thieát keá
 caàn trình baøy sao cho phuø hôïp. Tuy nhieân, phaàn body laø phaàn trình baøy noäi dung chính cuûa moãi trang
 web. Ngoaøi ra, tuyø vaøo töøng tröôøng hôïp cuï theå, trang web coù theå khoâng coù phaàn left vaø right.




huukhang@yahoo.com                                                                                         3-6
COMPUTER LEARNING CENTER                                                                       WWW.HUUKHANG.COM


 Nhö vaäy, chuùng ta seõ chia trang web ra thaønh 5 phaàn, phaàn body chính laø phaàn chính cuûa trang web
 ñoù, coøn 4 phaàn coøn laïi ñöôïc cheøn vaøo khi coù nhu caàu.
 Chaúng haïn, coù nhöõng trang web do thoâng tin trình baøy trong phaàn body nhieàu, neân caàn khoâng gia lôùn
 hôn, baïn coù theå khoâng caàn söû duïng hai phaàn left vaø right.
 Ñeå laøm ñieàu naøy, tröôùc tieân chuùng ta thieát keá trang sample.jsp coù 5 phaàn nhö hình 6-3.




                                                     Hình 6-3: Trang sample.jsp
 -------------------------------------------------------------------------------------------
 Löu yù:
      •    Taïo moät table goàm 3 haøng 3 coät vaø khai baùo border=1 ñeå ñeã canh leà sau ñoù baïn coù theå khai baùo laïi thuoäc
            tính naøy baèng 0.
      •    Phaàn top vaø bottom laø moät haøng vaø merge 3 coät thaønh 1.
      •    Beân trong moãi phaàn coù theå coù moät hay nhieàu theû table khaùc.
      •    Coù theå khoâng coù phaàn left vaø right nhöng baét buoäc phaàn top vaø bottom phaûi coù.
      •    Baïn coù theå söû duïng chieàu roäng cuûa table theo kích thöôùc töông ñoái (%) hay soá chæ ñònh, ñoái vôùi maøn hình
            600*800 thì chieàu roäng thöôøng söû duïng laø 780, khi ngöôøi söû duïng choïn ñoä phaân giaûi cuûa maøn hình lôùn
            hôn thì kích thöôùc cuûa table naøy khoâng thay ñoåi, trong khi ñoù noäi dung seõ phuû ñaày maøn hình khi baïn
            khai baùo kích thöôùc theo 100%.

 -------------------------------------------------------------------------------------------
 Ñeå coù giao dieän nhö trang sample.jsp nhö treân, baïn coù theå khai baùo nhö ví duï 6-3.

 Ví duï 6-3: Noäi dung trang sample.jsp

      <html>
      <head>
      <title>
          Welcome to Including File
      </title>
      <LINK href="style.css" rel=stylesheet>
          <META http-equiv=Content-Type
          content="text/html; charset=utf-8">



huukhang@yahoo.com                                                                                                  3-7
COMPUTER LEARNING CENTER                                                    WWW.HUUKHANG.COM

     </head>
     <body bottomMargin=0 leftMargin=0
         topMargin=0 rightMargin=0>
         <TABLE cellSpacing=2 cellPadding=2
              width="778" border=1 align=center>
          <TR HEIGHT="100">
            <TD Align=center colspan=3>
               TOP
            </TD>
          </TR>
          <TR HEIGHT="280">
            <TD vAlign=top width="20%">
                 LEFT
            </TD>
            <TD vAlign=top width="60%">
                 BODY
            </TD>
            <TD vAlign=top width="20%">
                 RIGHT
            </TD>
          </TR>
          <TR HEIGHT="50">
          <TD colspan=3 align=center>
               BOTTOM
          </TD
          </TR>
         </TABLE>
     </body>
     </html>


 Trong tröôøng hôïp baïn muoán coù ñöôøng phaân caùch giöõa moãi phaàn baèng image, baïn coù theå khai baùo laïi
 trang sample.jsp coù 5 haøng vaø 5 coät nhö template.jsp nhö hình 6-4.




                                        Hình 2-4: Phaân caùch coù vieàng
 Ñeå trình baøy trang tempale.jsp nhö hình 6-4, baïn khai baùo noäi dung trang naøy nhö ví duï 6-4.

 Ví duï 6-4: Khai baùo template.jsp



huukhang@yahoo.com                                                                                  3-8
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM



     <html>
     <head>
     <title>
         Welcome to Including File
     </title>
     <LINK href="style.css" rel=stylesheet>
         <META http-equiv=Content-Type
         content="text/html; charset=utf-8">
     </head>
     <body bottomMargin=0 leftMargin=0
         topMargin=0 rightMargin=0>
         <TABLE width="778" border=0 cellSpacing=0
          cellPadding=0 align=center>
         <TR HEIGHT="100">
            <TD Align=center colspan=5>
               TOP
             </TD>
          </TR>
            <!---Khai baùo ñöôøng phaân caùch--->
            <TR HEIGHT="1">
                <TD colspan=5 bgcolor=gray></TD>
            </TR>
            <TR HEIGHT="280">
                <TD vAlign=top width="150">LEFT</TD>
              <!---Khai baùo ñöôøng phaân caùch--->
              <TD bgcolor=gray width="1"></TD>
              <TD vAlign=top width="476">BODY</TD>
              <!---Khai baùo ñöôøng phaân caùch--->
              <TD bgcolor=gray width="1"></TD>
              <TD vAlign=top width="150">RIGHT</TD>
            </TR>
          <!---Khai baùo ñöôøng phaân caùch--->
          <TR HEIGHT="1">
              <TD colspan=5 bgcolor=gray></TD>
          </TR>
          <TR HEIGHT="50">
          <TD colspan=5 align=center>
              BOTTOM
          </TD
          </TR>
         </TABLE>
     </body>
     </html>


 Sau ñoù taùch trang template.jsp naøy thaønh 5 trang khaùc nhau ñöôïc ñaët teân töông öùng laø top.htm,
 left.htm, right.htm vaø bottom.htm, trong ñoù phaàn body töông öùng vôùi trang templates.jsp.
 Ñeå khai baùo cheøn taäp tin trong trang jsp, baïn söû duïng cuù phaùp nhö sau:

     <%@include file=”filename”%>


 Trong ñoù trang templates.jsp khai baùo cheøn top.htm, left.htm, right.htm vaø bottom.htm nhö ví duï 6-5.

 Ví duï 6-5: Khai baùo cheøn taäp tin trong templates.jsp

     <html>
     <head>
     <title>
         Welcome to HUUKHANG.COM
     </title>



huukhang@yahoo.com                                                                              3-9
COMPUTER LEARNING CENTER                                                WWW.HUUKHANG.COM

    <LINK href="style.css" rel=stylesheet>
        <META http-equiv=Content-Type
        content="text/html; charset=utf-8">
    </head>
    <body bottomMargin=0 leftMargin=0
        topMargin=0 rightMargin=0>
        <TABLE width="778" border=0 cellSpacing=0
         cellPadding=0 align=center>
        <TR HEIGHT="100">
           <TD Align=center colspan=5>
              <%@include file="top.htm"%>
            </TD>
         </TR>
           <!---Khai baùo ñöôøng phaân caùch--->
           <TR HEIGHT="1">
               <TD colspan=5 bgcolor=gray></TD>
           </TR>
           <TR HEIGHT="280">
               <TD vAlign=top width="150">
               <%@include file="left.htm"%>
               </TD>
              <!---Khai baùo ñöôøng phaân caùch--->
              <TD bgcolor=gray width="1"></TD>
              <TD vAlign=top width="476">BODY</TD>
             <!---Khai baùo ñöôøng phaân caùch--->
             <TD bgcolor=gray width="1"></TD>
             <TD vAlign=top width="150">
             <%@include file="right.htm"%>
             </TD>
           </TR>
         <!---Khai baùo ñöôøng phaân caùch--->
         <TR HEIGHT="1">
             <TD colspan=5 bgcolor=gray></TD>
         </TR>
         <TR HEIGHT="50">
         <TD colspan=5 align=center>
             <%@include file="bottom.htm"%>
         </TD
         </TR>
        </TABLE>
    </body>
    </html>


 Khi trieäu goïi trang templates.jsp, noäi dung cuûa 4 tang left.htm, right.htm, top.htm, bottom.htm cheøn
 vaøo trang templates.jsp nhö hình 6-5.




huukhang@yahoo.com                                                                           3-10
COMPUTER LEARNING CENTER                                                  WWW.HUUKHANG.COM




                                Hình 6-5: Trang templates.jsp sau khi cheøn
 Trong ñoù, noäi dung cuûa trang top.htm ñònh nghóa töông töï nhö ví duï 6-5-1.

 Ví duï 6-5-1: Noäi dung trang top.htm

    <TABLE width="100%" border=0 cellSpacing=0
        cellPadding=0 HEIGHT="100%" align=center>
            <TR >
              <TD width="150" Align=center>
           LOGO
         </TD>
         <TD Align=center>
           BANNER
         </TD>
        </TR>
        <TR HEIGHT="1">
              <TD colspan=2 bgcolor=gray></TD>
        </TR>
        <TR HEIGHT="20%" bgcolor=black class=menu>
              <TD width="150" >
           Welcome
         </TD>
         <TD>
           Home | Search | Contact | Help
         </TD>
        </TR>
    </TABLE>




huukhang@yahoo.com                                                                     3-11
COMPUTER LEARNING CENTER                                                      WWW.HUUKHANG.COM



 Noäi dung cuûa taäp tin left.htm ñöôïc ñònh nghóa töông töï nhö ví duï 6-5-2.

 Ví duï 6-5-2: Noäi dung trang left.htm

     <TABLE width="100%" border=0 cellSpacing=0
         cellPadding=0 HEIGHT="100%" align=center>
             <TR >
               <TD width="150" Align=center>
               LEFT
          </TD>
         </TR>
     </TABLE>


 Neáu coù söû duïng trang right.htm thì noäi dung cuûa taäp tin naøy ñöôïc ñònh nghóa töông töï nhö ví duï 6-5-
 3.

 Ví duï 6-5-3: Noäi dung trang right.htm

     <TABLE width="100%" border=0 cellSpacing=0
         cellPadding=0 HEIGHT="100%" align=center>
             <TR >
               <TD width="150" Align=center>
               FREE ADV
          </TD>
         </TR>
     </TABLE>


 Töông töï nhö vaäy, trang bottom.htm coù noäi dung nhö ví duï 6-5-4.

 Ví duï 6-5-4: Noäi dung trang bottom.htm

     <TABLE width="100%" border=0 cellSpacing=0
         cellPadding=0 HEIGHT="100%" align=center>
             <TR class=text>
               <TD Align=center>
               HUUKHANG.COM<br>
            Copyright ©2000-2005.
            All Rights Reserved.
          </TD>
         </TR>
     </TABLE>


 Chuù yù raèng, trong moãi trang khai baùo cheøn khoâng coù caùc theû ñoùng vaø môû html, body bôûi khi cheøn thì
 noäi dung cuûa taäp tin ñöôïc cheøn seõ ñöôïc cheøn vaøo taäp tin bò cheøn vaø trong taäp tin bò cheøn ñaõ coù hai
 theû naøy.
 Kòch baûn trình chuû jsp hoã trôï caùc taäp tin ñöôïc cheøn vôùi caùc teân môû roäng nhö htm, jsp, inc, lib, html.
 Do thöïc chaát cuûa vieäc khai baùo cheøn laø cheøn ñoaïn maõ trong taäp tin cheøn vaøo taäp tin boï cheøn, trong
 tröôøng hôïp naøy trang cheøn htm hay jsp ñeàu gioáng nhau ñoù laø lyù do taïi sao caùc trang cheøn ôû treân ñeàu
 coù teân môû roäng laø htm.
 Tuy nhieân, khi baïn goïi trang cheøn naøy moät mình ví duï tom.htm, neáu beân trong coù maõ jsp thì maõ ñoù
 khoâng ñöôïc thoâng dòch. Neáu nhöõng trang cheøn naøy coù nhu caàu goïi moät mình thì baïn coù theå chuyeån
 chuùng thaønh trang jsp thay vì htm nhö ñaõ trình baøy.
 Sau khi coù ñöôïc trang templates.jsp, baïn coù theå söû duïng trang naøy laø maãu cho caùc trang khaùc baèng
 caùch save as thaønh caùc trang jsp khaùc khi laäp trình. Khi khai baùo cheøn taäp tin, baïn coù theå söû duïng
 ñöôøng daãn töông ñoái hoaëc tuyeät ñoái cuûa taäp tin cheøn so vôùi aäp tin bò cheøn.



huukhang@yahoo.com                                                                                   3-12
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web
8234 tai lieu_ve_lap_trinh_web

Weitere ähnliche Inhalte

Andere mochten auch

cấu trúc máy tính Chuong1
cấu trúc máy tính Chuong1cấu trúc máy tính Chuong1
cấu trúc máy tính Chuong1Thay Đổi
 
Tai lieu danh cho nguoi bat dau kinh doanh online
Tai lieu danh cho nguoi bat dau kinh doanh onlineTai lieu danh cho nguoi bat dau kinh doanh online
Tai lieu danh cho nguoi bat dau kinh doanh onlineHoàng Vương
 
Bao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepBao cao thuc tap tot nghiep
Bao cao thuc tap tot nghieptamle123
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinhDong Van
 
Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)
Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)
Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)Đinh Công Thiện Taydo University
 
Giáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechGiáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechMasterCode.vn
 

Andere mochten auch (7)

cấu trúc máy tính Chuong1
cấu trúc máy tính Chuong1cấu trúc máy tính Chuong1
cấu trúc máy tính Chuong1
 
Cau truc may tinh
Cau truc may tinhCau truc may tinh
Cau truc may tinh
 
Tai lieu danh cho nguoi bat dau kinh doanh online
Tai lieu danh cho nguoi bat dau kinh doanh onlineTai lieu danh cho nguoi bat dau kinh doanh online
Tai lieu danh cho nguoi bat dau kinh doanh online
 
Bao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiepBao cao thuc tap tot nghiep
Bao cao thuc tap tot nghiep
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
 
Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)
Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)
Do an tot nghiep_Phuong phap thiet ke mang truyen hinh cap huu tuyen CATV (HFC)
 
Giáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - AptechGiáo trình Lập trình C căn bản - Aptech
Giáo trình Lập trình C căn bản - Aptech
 

Kürzlich hochgeladen

Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Eesti Loodusturism
 
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfمحاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfKhaled Elbattawy
 
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaranFAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaransekolah233
 
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmibookbahareshariat
 

Kürzlich hochgeladen (8)

Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
Saunanaine_Helen Moppel_JUHENDATUD SAUNATEENUSE JA LOODUSMATKA SÜNERGIA_strat...
 
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 4 By SadurshSharia Mufti Amjad Ali Azmi
 
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdfمحاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
محاضرات الاحصاء التطبيقي لطلاب علوم الرياضة.pdf
 
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 1 By SadurshSharia Mufti Amjad Ali Azmi
 
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaranFAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
FAIL REKOD PENGAJARAN.pptx fail rekod pengajaran
 
Energy drink .
Energy drink                           .Energy drink                           .
Energy drink .
 
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 3 By SadurshSharia Mufti Amjad Ali Azmi
 
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali AzmiBahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
Bahare Shariat Jild 2 By SadurshSharia Mufti Amjad Ali Azmi
 

8234 tai lieu_ve_lap_trinh_web

  • 1. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM Moân hoïc: Java Server Pages Baøi 1 Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong khoaù hoïc: Caøi ñaët JRUN. o Caøi ñaët JDK1.3. o Caøi ñaët JRUN. o Caáu hình öùng duïng JSP Giôùi thieäu JSP. o Script. o Khai baùo chæ muïc. 1. CAØI ÑAËT JRUN 1.1. Caøi ñaët JDK Ñeå caáu hình JRUN 4.0 treân Windows, tröôùc tieân baïn caøi ñaët boä JDK1.3 hay JDK 1.4 leân ñóa cöùng C hay D, sau khi caøi ñaët thaønh coâng baïn neân boot maùy laïi, trong oå ñóa seõ xuaát hieän thö muïc JDK1.3 vôùi caùc thö vieän cuûa chuùng. 1.2. Caøi ñaët JRUN Ñeå caøi ñaët JRUN, baïn mua ñóa CD vôùi öùng duïng JRUN 4.0, sau ñoù caøi ñaët chuùng vaøo maùy coù caøi ñaët JDK. Trong khi caøi ñaët thì JRUN coù yeâu caàu choøn thö muïc nôi baïn caøi ñaët JDK. Trong khi caøi ñaët JRUN, coù theå yeâu caàu baïn caøi ñaët chuùng döôùi daïng moät dòch vuï cuûa hôïp ñoàng haønh (maëc ñònh laø Yes), khi ñoù JRUN seõ caøi ñaët vôùi hai dòch vuï laø JRUN Admin vaø JRUN Default trong cöûa soå Services (trong Control Panel hay Administrative Tools) cuûa heä ñieàu haønh Windows nhö hình 1-1 sau: Hình 1-1: Dòch vuï JRUN trong Servies Giaùo vieân: Phaïm Höõu Khang
  • 2. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM Baïn phaûi baûo daûm raèng chuùng ñang ôû cheá ñoä Started, trong tröôøng hôïp ñang ôû cheá ñoä STOP thì baïn choïn dòch vuï naøy vaø nhaán nuùt Start. Neáu JRUN ñang ôû cheá ñoä Start thì baïn seõ goõ http://localhost:8000 treân trình duyeät vaø cung caáp username cung vôùi password ñeå ñaêng nhaäp vaøo maøn hình uqaûn trò JRUN neáu muoán chöông. Neáu JRUN Default Server ñang ôû cheá ñoä Start thì baïn coù theå goõ ñòa chæ sau treân browser http://localhost:8100 ñeå chaïy öùng duïng maëc ñònh cuûa JSP. Ngoaøi ra, neáu baïn khoâng caøi ñaët JRUN nhö moät dòch vuï cuûa heä ñieàu haønh Windows thì moãi laàn baïn muoán chaïy öùng duïng JSP thì phaøi Start noù leân baèng caùch choïn Start | Programs | JRUN 4.0 | JRUN Default Server hay JRUN Admin Server roi sau do khôûi ñoäng JRUN Default Server, phaàn naøy seõ trình baøy trong phaàn caáu hình. 1.3. Caáu hình öùng duïng JSP Ñeå trieäu goïi trang JSP (teân môû roäng .jsp) treân trình duyeät, baïn coù theå caáu hình moät torng hai caùch sau: 1.3.1. Caùch 1: Neáu khoâng muoán taïo öùng duïng Web cho rieâng mình maø söû duïng thö muïc maëc ñònh thì baïn coù theå khai baùo caùc trang JSP vaø boû vaøo thö muïc JRUN4/Servers/Defaul/ default- ear/ default-war/. Chaúng haïn, trong tröôøng hôïp naøy chuùng ta khai baùo trang test.jsp vôùi noäi dung nhö sau: <HTML> <HEAD> <title>Test JSP</title> </HEAD> <BODY> <%=”Hello JSP”%> </BODY> </HTML> Ñeå kieåm tra trang JSP naøy, baïn khai baùo treân trình duyeät nhö sau: http://localhost1:8100/test.jsp Tuy nhieân, baïn coù theå khai baùo caùc thö muïc con beân trong cuûa thö muïc maëc ñònh naøy, sau ñoù trieäu goïi treân trình duyeät theo teân thö muïc, chaúng haïn http://localhost:8100/qlda/danhmucphongban.jsp. 1.3.2. Caùch 2: Ñeå caáu hình öùng duïng JSP treân JRUN baïn coù theå thao taùc theo caùc böôùc sau: 1. Baïn ñaêng nhaäp vaøo JRUN Admin vôùi http://localhost:8000 baèng caùch cung caáp username/pwd nhö hình 1-2 sau. Giaùo vieân: Phaïm Höõu Khang
  • 3. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM Hình 1-2: Ñaêng nhaäp JRUN Admin 2. Taïo thö muïc löu tröõ web site treân oå ñóa, chaúng haïn trong tröôøng hôïp naøy khai baùo thö muïc jspsample nhö hình 1-3. Hình 1-3: Khai baùo thö muïc ñeå löu tröõ trang JSP Giaùo vieân: Phaïm Höõu Khang
  • 4. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM 3. Choïn vaøo menu Home, JRUN seõ lieät keâ danh saùch caùc server ñang caáu hình treân JRUN nhö hình 1-4. Hình 1-4: Danh saùch caùc Server treân JRUN 4. Choïn URL coù teân laø Create New Server treân menu naèm ôû ñaàu trang, trong cöûa soå vöøa xuaát hieän (Creating a New JRun Application Server) baïn cung caáp caùc tham soá trong hình 1-5 nhö sau: • Host Name:localhost (hoaëc ñòa chæ IP, teân server) • JRun Server Name: Choïn teân cuûa öùng duïng, ví duï trong tröôøng hôïp naøy choïn jspsample. • JRun Server Directory: Thö muïc cuûa öùng duïng baïn vöøa taïo ra, chaúng haïn D:/jspsample (hay D:/thuvien/hr). 5. Nhaán nuùt Create chôø trong giaây laùt cöûa soå cuûa HOME page seõ xuaát hieän teân öùng duïng web baïn vöøa taïo (jspsample), nhaán nuùt Start ñeå khôûi ñoäng öùng duïng naøy. Trong tröôøng hôïp phaùt sinh loãi do port bò ñuïng ñoä, maëc ñònh cuûa site default laø 8100 (admin laø 8000), khi baïn taïo öùng duïng xong, moät port naøo ñoù ñöôïc gaùn cho öùng duïng cuûa baïn vì duï nhö 8101 nhö hình 1-6. Tuy nhieân, baïn coù theå thay ñoåi port naøy baèng caùch edit ñeå caäp nhaät. Giaùo vieân: Phaïm Höõu Khang
  • 5. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM Hình 1-5: Taïo website Hình 1-6: Taïo öùng duïng JSP thaønh coâng Sau khi taïo thaønh coâng, teân öùng duïng vöøa taïo seõ xuaát hieän trong danh saùch server cuûa JRUN nhö hình 1-7. Giaùo vieân: Phaïm Höõu Khang
  • 6. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM Hình 1-7: Teân site vöøa taïo Xem treân baûng danh saùch server öùng vôùi jspsample coù phaàn HTTP Port laø 8101, sau ñoù treân http, baïn goõ http://localhost:8101/test.jsp, keát quaû seõ xuaát hieän nhö hình 1-8. Hình 1-8: Keát quaû trang test.jsp Giaùo vieân: Phaïm Höõu Khang
  • 7. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM 2. GIÔÙI THIEÄU JSP 2.1. Yeâu caàu JSP döïa treân cuù phaùp cuûa ngoân ngöõ laäp trình Java, chính vì vaäy khi laøm vieäc vôùi JSP baïn phaûi laø ngöôøi coù kieán thöùc veà ngoân ngöõ naøy. Neáu baïn xaây döïng öùng duïng JSP coù keát noái cô sôû döõ lieäu thì kieán thöùc veà cô sôû döõ lieäu SQL Server hay Oracle laø ñieàu caàn thieát. 2.2. Giôùi thieäu JSP laø kòch baûn trình chuû (Server Script) ñöôïc chaïy treân neàn JDK 1.3 trôû veà sau, cuøng vôùi öùng duïng Web Server ñeå quaûn lyù chuùng. Web Server thöôøng söû duïng laø Tomcate, Java Web Server, JRUN, WebLogic vaø Apache, ... Tieàn thaân cuûa JSP laø xuaát phaùt töø Java Servlet, khi laøm vieäc vôùi Java Servlet thì haàu heát caùc laäp trình viweân gaëp khoù khaên khi xuaát nhaäp döõ lieäu, cuï theå laø giao dieän vôùi ngöôøi söû duïng. Chính vì vaäy SUN Microsystem cung caáp kòch baûn JSP laø phaàn môû roäng cuûa Java Servlet ñeå cho pheùp quaù trình laäp trình öùng duïng Web trôû neân ñôn giaûn hôn. Tuy nhieân, nhöõng trang JSP naøy khi bieân dòch ñeà thoâng qua trang trung gian laø Java Sevrlet. 2.3. Bieân dòch trang JSP Khi ngöôøi söû duïng goïi trang JSP laàn ñaàu tieân, Web Server trieäu goïi trình bieân dòch dòch trang JSP (trong tröôøng hôïp naøy laø JDK) thaønh taäp tin Java, keá ñeán taäp tin java (Java Servlet) naøy seõ bieân dòch ra Class . Sau ñoù, trang class thöïc thi vaø traû veà keát quaû cho ngöôøi söû duïng nhö hình 1-9. Java Call Engine Parse Web (JSK) Server Request Taäp tin JSP Taäp tin Instantiate Java Servlet Request Compile Response Taäp tin Class Response Instantiate Process and Render Hình 1-10: Quaù trình bieân dòch trang JSP Giaùo vieân: Phaïm Höõu Khang
  • 8. COMPUTER LEARNING CENTERWWW.HUUKHANG.COM 2.4. Kòch baûn (script) Noäi dung cuûa JSP coù theå khai baùo laãn loän vôùi HTML, chính vì vaäy baïn söû duïng caëp daáu <%= %> ñeå khai baùo maõ JSP. Chaúng haïn, chuùng ta khai baùo: <br> 1-Giaù trò bieán Str: <%=str%> 2-Giaù trò bieán i: <%=i%> 3-Giaù trò cuõ theå: <%=10%> Trong tröôøng hôïp coù nhieàu khai baùo, baïn söû duïng Scriptlet, ñeàu naøy coù nghóa laø söû duïng caëp daáu treân nhö <%%> vôùi caùc khai baùo JSP vôùi cuù phaùp cuûa Java nhö sau: <% int i=0; String str=”Select * from tblABC”; out.println(str); %> -Khai baùo treân laø Scriptlet Giaù trò cuûa i: <br> <%=i%> -Khai baùo naøy laø Script 3. KEÁT LUAÄN Trong baøi naøy, chuùng ta taäp trung tìm hieåu caùch caøi ñaët JSK vaø JRUN, sau ñoù caáu hình öùng duïng JSP trong JRUN hay söû duïng caáu hình maëc ñònh cuûa chuùng. Ngoaøi ra, baïn laøm quen caùch khai baùo maõ JSP trong trang .jsp cuøng vôùi script hay scriptlet. Giaùo vieân: Phaïm Höõu Khang
  • 9. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Moân hoïc: Java Server Pages Baøi 2 Baøi hoïc naøy chuùng ta seõ laøm quen vaø tìm hieåu cuù phaùp vaø moät soá phöông thöùc cô baûn cuûa JSP: Caâu leänh. Bieán vaø kieåu döõ lieäu. Haèng. Baûng daõy Moät soá phöông thöùc cô baûn 1. KHAÙI NIEÄM VEÀ CUÙ PHAÙP JSP Cuù phaùp JSP chính laø cuù phaùp trong ngoân ngöõ Java, caùc baïn laøm quen vôùi ngoân ngöõ Java thì coù lôïi theá trong laäp trình JSP. Ñeå laäp trình baèng ngoân ngöõ JSP caàn chuù yù nhöõng ñieåm sau: Cuoái caâu leänh coù daáu ; Moãi phöông thöùc ñeàu baét ñaàu { vaø ñoùng baèng daáu } Khi khai baùo bieán thì kieãu döõ lieäu naèm tröôùc teân bieán Neân coù giaù trò khôûi ñaàu cho bieán khai baùo Phaûi coù chi chuù (comment) cho moãi feature môùi Söû duïng daáu // ñeå giaûi thích cho moãi caâu ghi chuù Söû duïng /* vaø */ cho moãi ñoaïn ghi chuù Khai baùo bieán coù phaân bieät chöõ hoa hay thöôøng Teân file vaø lôùp cuõng nhö nhö khai baùo bieán 2. KHAI BAÙO BIEÁN Khi thöïc hieän moät vieäc khai baùo bieán trong java, baïn caàn phaûi bieát tuaân thuû quy ñònh nhö: kieãu döõ lieäu tröôùc teân bieán vaø coù giaù trò khôûi ñaàu Xuaát phaùt töø nhöõng ñieàu ôû treân, khai baùo bieán trong Java nhö sau: Datatype variable name [initial value]; int licount=0; String lsSQL=”Select * from tblusers where active=1”; double account[]; boolean checkerror=false; 3. KIEÅU DÖÕ LIEÄU Baûng caùc kieåu döõ lieäu thoâng thöôøng Type Bytes Range Boolean 2 Giaùo vieân: Phaïm Höõu Khang
  • 10. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Byte 1 Char 2 Double 8 cho aâm, 4 soá döông Float 4 Int 4 Long 8 Short 2 Connection Statement ResultSet 3.1. Kieåu Array Kieãu maûng laø moät maûng soá lieäu do ngöôøi duøng ñònh nghóa, chuùng coù cuù phaùp nhö sau: double account[]; // maûng soá double hay coù theå khai baùo nhö sau double account[]={0,0,1,45.95,6.5}; thöù töï index trong maûng baét ñaàu töø vò trí 0. Neáu nhö baïn khai baùo maûng hai chieàu, thì cuù phaùp khai baùo nhö sau: double account[][]=new double[2][5]; Chaúng haïn khai baùo nhö sau: <% double account[][]=new double[2][100]; account[0][3]=43.95; account[1][3]=43.95000; out.println(“Account 0-3 is ” + account[0][3] ); out.println(“Account 1-3 is ” + account[1][3] ); %> Khai baùo bieán String <% String strSQL=”select * from tblusers ”; String strWhere=” where active=0”; Giaùo vieân: Phaïm Höõu Khang
  • 11. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM out.println(“SQL Statement is ” + strSQL+strWhere ); %> Khai baùo vôùi nhieàu loaïi döõ lieäu <% boolean bo; byte by; char c; short s; int i; long l; float f; double d; object o; int[] intArray = new int[2]; object[] objectArray = new Object[2]; out.println("boolean: "+bo); out.println("byte: "+by); out.println("char: "+c); out.println("short: "+s); out.println("int: "+i); out.println("long: "+l); out.println("float: "+f); out.println("double: "+d); out.println("Object: "+o); out.println("int[2]: "+intArray[0]+" "+intArray[1]); out.println("Object[2]: "+objectArray[0]+" "+objectArray[1]); %> 4. CAÙC PHÖÔNG THÖÙC VAØ PHÖÔNG THÖÙC TRONG JAVA 4.1. Phöông thöùc traû veà chieàu daøi maûng Khi quan taâm ñeán chieàu daøi cuûa maûng thì baïn caàn theo cuù phaùp sau: Array.length Giaû söû raèng, baïn khai baùo bieán vôùi chieàu daøi maõng moät vaø hai chieàu <% double account[]={88,11,2.5,77}; double sum; sum=account.length; Giaùo vieân: Phaïm Höõu Khang
  • 12. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM out.println(“Length of Account is ” + sum);%> 4.2. Chuyeån sang kieåu chuoãi Khi baïn caàn chuyeãn ñoåi töø kieåu soá lieäu khaùc sang kieåu chuoãi, thì caàn khai baùo nhö sau: String.valueOf(data); Ví duï chuyeån ñoåi kieåu sang kieåu chuoãi <% double account[]={88,11,2.5,77}; String str; str=String.valueOf(account[2]); out.println(“String of Account 2 is ” + str); %> 4.3. Noái chuoãi Khi caàn thieát noái hai hay nhieàu chuoåi laïi vôùi nhau, baïn söû duïng phöông thöùc concat, thoâng thöôøng chuùng ta hay dung pheùp toaùn + ñeå noái hai hay nhieàu chuoãi laïi vôùi nhau. Cuù phaùp concat nhö sau: Str1.conact(Str2); Keát noái chuoãi <% String str1=”Select * from tblemplyers”; String str2=” where paid=1”; str1=str1.conact(str2); out.println(“String of Str1 is ” + str1); %> 4.4. Chuoãi con Khi baïn caàn laáy moät chuoãi con trong chuoãi lôùn, baïn caàn duøng ñeán phöông thöùc vôùi cuù phaùp nhö sau: str1=str2.substring(start,chieàu daøi) Ví duï khai baùo ñeå laáy chuoãi con <% String str1=”Select * from tblemplyers”; String str2=str1.substring(9,5); out.println(“Sub String of Str1 is ” + str2); Giaùo vieân: Phaïm Höõu Khang
  • 13. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM %> Nhöng neáu coù nhu caàu laáy ra moät kyù töï naøo ñoù trong chuoãi, thì baïn khoâng caàn duøng substring maø chæ söû duïng cuù phaùp charAt nhö sau: Char=Str1.charAt(number); Chaúng haïn, khai baùo ñeå laáy 1 kyù töï <% String str1=”Select * from tblemplyers”; String str2=str1.charAt(5); Out.println(“charAt of Str1 is ” + str2); %> 4.5. Chuyeãn ñoåi String sang Array Thoâng thöôøng trong khi tính toaù chuoãi, ñoâi khi cuõng caàn ñeán chuùng nhö moät maõng, lyù do ñoù chuùng ta coù phöông thöùc chuyeãn ñoåi nhö sau: char char1[]=str1.toCharArray(); Chuyeån chuoãi sang maûng <% String str1=”Select * from tblemplyers”; char char1=str1.toCharArray(); out.println(“Char of Str1[1] is ” + char1[5]); %> 4.6. Thay theá chuoãi Khi caàn thay theá moät chuoãi con naøo ñoù trong chuoãi meï thaønh chuoãi con khaùc, chuùng ta caàn ñeán phöông thöùc replace coù cuù phaùp nhö sau: str1=str2.replace(“’”,”’’”); str1=str2.replace(“a”,”k”); Ví duï khai baùo thay theá chuoãi <% String str1=”Select * from tblemplyurs”; str1= replaceString (str1,“u”,”o”); str1= replaceString (str1,“’”,”’’”); out.println(“Char of Str1 is ” + str1); %> Trong ñoù, khai baùo phöông thöùc replaceString nhö sau Giaùo vieân: Phaïm Höõu Khang
  • 14. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <%! public String replaceString(String sStr,String oldStr,String newStr) { sStr=(sStr==null?"":sStr); String strVar=sStr; String tmpStr=""; String finalStr=""; int stpos=0,endpos=0,strLen=0; while (true) { strLen=strVar.length(); stpos=0; endpos=strVar.indexOf(oldStr,stpos); if (endpos==-1) break; tmpStr=strVar.substring(stpos,endpos); tmpStr=tmpStr.concat(newStr); strVar=strVar.substring(endpos+oldStr.length()>sStr.length()?endpos:endpos+old Str.length(),strLen); finalStr=finalStr.concat(tmpStr); stpos=endpos; } finalStr=finalStr.concat(strVar); return finalStr; } %> 4.7. Vò trí kyù töï trong chuoãi Khi caàn bieát vò trí cuõa kyù töï hay chuoãi con naøo ñoù trong chuoãi, baïn söû duïng phöông thöùc sau: virti=str1.indexOf(“select”); virti=str1.indexOf(“o”); Chaúng haïn tìm vò trí chuoãi hay kyù töï trong Chuoãi <% Giaùo vieân: Phaïm Höõu Khang
  • 15. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM String str1=”Select * from tblemplyurs”; int vitri=str1.indexOf(“o”); Out.println(“Location of ”o” is ” + vitri); %> 4.8. Kieåu chöõ Neáu muoán chuyeãn ñoåi chöõ hoa sang thöôøng hay ngöôïc laïi, thì baïn duøng phöông thöùc coù cuù phaùp nhö sau: Töø hoa sang thöôøng: str1.toLowerCase(); Töø thöôøng saung hoa: str1.toUpperCase(); Ví duï <% String str1=”Select * from tblemplyors”; str1=str1.toLowerCase(); out.println(“LowerCase is ” + str1); str1=str1.toUpperCase(); out.println(“UpperCase is ” + str1); %> 5. TOÙM TAÉT Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn caùch khai baùo bieán, caùc kieåu döõ lieäu, ñoàng thôøi giuùp cho caùc baïn nhöõng phöông thöùc treân chuoãi vaø kyù töï trong JSP. Giaùo vieân: Phaïm Höõu Khang
  • 16. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Baøi 3 PHEÙP TOAÙN VAØ PHAÙT BIEÅU COÙ ÑIEÀU KIEÄN TRONG JSP Chöông naøy chuùng ta seõ laøm quen vaø tìm hieåu toaùn töû, phaùt bieåu coù ñieàu kieän vaø voøng laëp cuûa JSP. Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy Toaùn töû. Pheùp gaùn trong Java Phaùt bieåu coù ñieàu khieån. Voøng laëp. 1. KHAÙI NIEÄM VEÀ CAÙC TOAÙN TÖÛ TRONG JSP Khi baïn laäp trình treân JSP laø söû duïng cuù phaùp cuûa ngoân ngöõ Java. Töông töï nhö nhöõng ngoân ngöõ laäp trình khaùc, toaùn töû giuùp cho baïn thöïc hieän nhöõng pheùp toaùn nhö soá hoïc hay treân chuoãi. Baûng sau ñaây giuùp cho baïn hình dung ñöôïc nhöõng toaùn töû söû duïng tron Java Java ñòng nghóa toaù töû toaùn hoïc, quan heä, soá hoïc, bit, caste, class, selection, vaø noät soù pheùp toaùn gaùn. Loaïi toaùn töû Toaùn töû Dieãn giaûi Ví duï + Addition a + b - Subtraction a - b Arithmetic * Multiplication a * b / a / b Division % a % b Modulus > Greater than a > b < Less than a < b >= Greater than or equal a >= b Relational <= a <= b Less than or equal != a != b == Not equal a == b Equal ! !a Logical && Not a && b huukhang@yahoo.com 3-1
  • 17. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM || AND a || b OR ~ Complement ~a & AND a & b Bit- | OR a | b ^ Exclusive OR a ^ b manipulation << Left shift a << b >> a >> B >>> Right shift a >>> b Zero-filled right shift Assignment = Increment and assign a = b ++ Decrement and assign a++ -- Add and assign a-- += Subtract and assign a += b -= a -= b Multiply and assign *= a *= b /= Divide and assign a /= b Assignment %= Take modulus and assign a %= b |= OR and assign a |= b &= AND and assign a &= b ^= XOR and assign a ^= b <<= a <<= b >>= Left shift and assign a >>= b >>>= Right shift and assign a >>>= b Zero-filled left shift and assign Caste (type) Convert to type (char) b instance Instance of Is instance of class? a instanceof b Create a new object of a Allocation new new A() class Selection ? : If...Then selection a ? b : c 2. GIÔÙI THIEÄU TOAÙN TÖÛ Khi noùi ñeán toaùn töû, chuùng ta luoân lieân töôûng ñeán thöù töï xöû lyù, cuõng nhö trong toaùn hoïc, toaùn töû trong java cuõng co ñoä öu tieân add-subtract-multi-divide. 2.1. Toaùn töû AND Khi thöïc hieän moät vieäc taêng leân giaù trò thì baïn söû duïng cuù phaùp nhö sau: int i=0,j=0; huukhang@yahoo.com 3-2
  • 18. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM j=i++;// i taêng sau khi gaùn i vaøo j, chính vì vaäy sau khi gaùn i vaøo j, j vaãn khoâng thay ñoåi j=++i;// i taêng tröôùc khi gaùn i vaøo j, chính vì vaäy sau khi gaùn i vaøo j, j thay ñoåi. Ví duï 3.1: Pheùp toaùn AND. <% int i=0,j=0; j=i++; out.println(“Value of j is ” + j); j=++i; out.println(“Value of j is ” + j); %> 2.2. Toaùn töû Not: ~ And ! Toaùn töû ~ ñaûo nghòch taát caû caùc bit cuûa tham soá, coøn toaùn töû ! ñaûo nghòch giaù trò cuûa giaù trò tröôùc ñoù Ví duï 3.2: Pheùp toaùn ~ and ! <% short i=32767; boolean b=true; out.println(“Value of ~ short is ” + ~i); out.println(“Value of !b is ” +!b); %> 2.3. Toaùn töû nhaân vaø chia: * and / Baïn coù theå tham khaûo ví duï sau Ví duï 3.3: Pheùp toaùn * vaø /, + vaø - <% int i=767; double j=10.5; out.println(“Value of multi is ” + i*j); out.println(“Value of divide is ” +i/5); huukhang@yahoo.com 3-3
  • 19. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM out.println(“Value of add is ” +i+5); out.println(“Value of subtract is ” +i-5); %> 2.4. Toaùn töû modulus: % Khi chia moät soá cho moät soá, baïn caàn keát quaû laø soá dö cuûa pheùp chia ñoù thì duøng toaùn töû modulus Ví duï 3.4: Pheùp toaùn % <% int i=10; int j=3; out.println(“Value of i%j is ” + i%j); %> 2.5. Toaùn töû quan heä: >=,>,<,<=,==,!= Khi caàn so saùnh keát quaû giöõa hai toaùn haïn vôùi nhau, thoâng thöôøng baïn nghó ñeán pheùp toaùn so saùnh nhö laø baèng, lôùn hôn, nhoû hôn, ví duï sau dieãn giaûi cho baïn caùc toaùn töû treân: Ví duï 3.5: Pheùp toaùn >,>=,<,<=,==,!= <% int i=10; int j=3; if(i>=j) out.println(“result is true”); else out.println(“result is false”); if(i!=j) out.println(“result is not equals”); else out.println(“result is equals”); %> huukhang@yahoo.com 3-4
  • 20. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM 2.6. Toaùn töû && vaø || && laø toaù töû and trong soù hoïc || laø toaùn töû or trong soá hoïc Hai toaùn töû naøy raát thöôøng duøng trong khi laäp trình treân Java, ví duï döôùi ñaây dieãn giaûi cho baïn ñaày ñuû hai toaùn töû naøy. Chuù yù raèng khi söû duïng toaùn töû ñeàu coù keøm phaùt bieåu coù ñieàu kieän. Ví duï 3.6: Pheùp toaùn && vaø || <% boolean b=true; int j=3; if((j>=3) &&(b!=true)) out.println(“result is true”); if((j<3) ||(b==true)) out.println(“result is false”); %> 2.7. Toaùn töû ?: Toaùn töû naøy thay theá cho phaùt bieåu coù ñieàu kieän if.. then .. else, khi baïn caàn laáy keát quaû theo ñieàu kieän naøo ñoù, neáu coù theå khoâng caàn phaùt bieåu if-else, thì haõy thay theá baèng toaùn töû ?:, cuù phaùp cuûa chuùng nhö sau: str1=str2.equals(”khang”)?”Welcome to Java”:”Good bye JSP”; Ví duï 3.7: Pheùp toaùn ?: <% String str1=”Pham Huu Khang”; String str2 =“Khang”; out.println(“result is true”+ (str1.equals(str2)?”Welcome to Java”:”Good bye JSP”)); %> huukhang@yahoo.com 3-5
  • 21. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM 3. PHEÙP GAÙN Khi gaùn moät giaù trò hay bieán vaøo moät bieán trong Java, baïn phaûi duøng ñeán pheùp gaùn, nhöng trong Java cuõng gioángnhö trong C thì coù nhöõng pheùp gaùn ñöôïc ñôn giaûn hoaù hay noùi ñuùng hôn laø chuaån hoaù ñeå ruùt goïn laïi trong khi vieát. 3.1. Pheùp gaùn thoâng thöôøng nhaát nhö sau: int j=i; String str1 =” Hello!”; boolean b=true; 3.2. Pheùp gaùn theâm moät giaù trò laø 1 int k=0; k++; 3.3. Pheùp gaùn theâm moät vôùi chính noù giaù trò int k=0,j=1; k+=j; töông töï nhö vaäy chuùng ta coù k*=2, nghóa laø k=k*2 4. PHAÙT BIEÅU COÙ ÑIEÀU KIEÄN Caùc phat bieåu coù ñieàu kieän nhö : IF (ñieàu kieän) { caâu leänh; } IF (ñieàu kieän) { caâu leänh; }ELSE { caâu leänh; } switch (ñieàu kieän) { case Value1 caâu leänh1; break; } While (ñieàu kieän) Do - While (ñieàu kieän) Break Continue huukhang@yahoo.com 3-6
  • 22. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM 4.1. Phaùt bieåu IF (ñieàu kieän) { caâu leänh; } Söû duïng phaùt bieåu if ñeå choïn loïc keát quaû khi ñieàu kieän ñuùng, ví duï nhö sau: Ví duï 3.8: Phaùt bieåu IF <% boolean b=true; int j=3; if((j>=3) &&(b!=true)) out.println(“result is true”); if((j<3) ||(b==true)) out.println(“result is false”); %> 4.2. Phaùt bieåu IF (ñieàu kieän) { caâu leänh; }ELSE { caâu leänh; } Söû duïng phaùt bieåu if ñeå choïn loïc keát quaû khi ñieàu kieän ñuùng, vaø xuaát ra keát quaû khi ñieàu kieän sai, ví duï nhö sau: Ví duï 3.9: Phaùt bieåu IF - ELSE <% boolean b=true; int j=3; if((j>=3) &&(b!=true)) out.println(“result is true”); else out.println(“result is false”); %> 4.3. Phaùt bieåu Switch (ñieàu kieän) Phaùt bieåu switch laø phaàn cuûa phaùt bieåu if else nhieàu nhaùnh, khi coù nhieàu ñieàu kieän choïn löïa thì baïn söû duïng switch, cuù phaùp cuûa chuùng nhö sau: Switch(ñieàu kieän) { huukhang@yahoo.com 3-7
  • 23. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM case Value1 caâu leänh1; break; case Value2 caâu leänh2; break; … default: caâu leänh default; } Break: duøng ñeå thoaùt ra khoûi switch khi thoaû moät case naøo ñoù trong switch, default: khi khoâng coù baát kyø giaù trò naøo thoaûn trong caùc case thì giaù trò cuoái cuøng laø defaule statement Ví duï 3.10: Phaùt bieåu Switch <% int j=3; switch(j) { case 1: out.println(“Today is Monday”); break; case 2: out.println(“Today is Thurday”); break; case 3: out.println(“Today is Tueday”); break; default: out.println(“Today is Sunday”); } %> huukhang@yahoo.com 3-8
  • 24. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM 4.4. Phaùt bieåu While(ñieàu kieän) Phaùt bieåu while thöïc thi nhöõng caâu leänh trong while khi ñieàu kieän coø ñuùng. Ví duï 3.11: Phaùt bieåu While <% int j=1; while(j<=30) { out.println(“Number of j” + j); j++; %> 4.5. Phaùt bieåu For Phaùt bieåu for duøng cho voøng laëp coù giôùi haïn cho tröôùc, cuù phaùp coù daïng nhö sau: int i=0; for(i=1;i<10;i++) { caâu leänh; } Ví duï 3.12: Phaùt bieåu For <% int mang[]={3,5,6,7,8,9}; for (int j=0;j<mang.length;j++) { out.println(“Phan tu mang “+j+” : ”+mang[j]); } %> 5. TOÙM TAÉT Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn caùc pheùp gaùn, caùc toaùn töû, ñoàng thôøi giuùp cho caùc baïn hieåu theâm vaøo caùc phaùt bieåu coù ñieàu kieän nhö while, for, switch, …. huukhang@yahoo.com 3-9
  • 25. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Baøi 4 ÑOÁI TÖÔÏNG SESSION, REQUEST, RESPONSE TRONG JSP Chöông naøy chuùng ta seõ laøm quen caùc ñoái töôïng thöôøng söû duïng trong quaù trình thieát keá trang JSP. Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy Ñoái töôïng Request. Ñoái töôïng Response. 1. ÑOÁI TÖÔÏNG REQUEST Khi muoán laáy giaù trò töø moät theû nhaäp lieäu ñeä trình (submit) töø form hay töø chuoãi QueryString, ñieàu naøy coù nghóa laø cho pheùp laáy giaù trò töø client gôûi leân server, ñoái tröôøng hôïp naøy baïn söû duïng ñoái töôïng Request. Ñoái töôïng naøy thuoäc lôùp javax.servlet.ServletRequest. 1.1. Request vôùi töø theû nhaäp lieäu Ví duï chuùng ta khai baùo trang HTML hay JSP coù theû form, beân trong theû form khai baùo caùc theû nhaäp lieäu nhö input, select, textarea nhö ví duï 4-1. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP's Objects</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" > <tr><td></td><td>Registration</td></tr> <form name=form1 action=ex2.jsp method=post> <table border=0> <tr> <td>Name: </td><td><input type=text name=txtname></td></tr> <tr><td>Province: </td><td><select name=province> <option value=HAN> Ha Noi </option> <option value=HUE> Hue </option> <option value=HCM> Ho Chi Minh </option> </select></td></tr> <tr><td>Description: </td><td> <textarea name=txtdesc cols=30 rows=5></textarea></td> </tr> <tr><td></td><td><input type=submit value="Submit"></td></tr> </table> </form> </body> </html> huukhang@yahoo.com 3-1
  • 26. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Khi ngöôøi söû duïng goïi trang JSP naøy treân trình duyeät vaø nhaäp caùc thoâng tin yeâu caàu nhö hình 4-1. Hình 4-1: Nhaäp lieäu Ñeå laáy ñöôïc giaù trò cuûa caùc phaàn ñaõ nhaäp treân hình 4-1, chuùng ta söû duïng phöông thöùc getParameter cuûa ñoái töôïng request nhö ví duï 4-2. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <h4>Confirmation</h4> <hr size=1><br> <% String name=request.getParameter("txtname"); String province=request.getParameter("province"); String desc=request.getParameter("txtdesc"); out.println("Name is "+ name +"<br>"); out.println("Province is " + province +"<br>"); out.println("Description is " + desc +"<br>"); %> </body> </html> Keát quaû trình baøy nhö hình 4-2 neáu thoâng tin nhaäp gioáng nhö hình 4-1. huukhang@yahoo.com 3-2
  • 27. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 4-2: Söû duïng phöông thöùc getParameter 1.2. Request vôùi töø tham soá treân QueryString Töông töï nhö treân, trong tröôøng hôïp baïn muoán laáy caùc giaù trò cuûa caùc tham soá treân QueryString, baïn cuõng söû duïng phöông thöùc getParameter cuûa ñoái töôïng rquest. Chaúng haïn, chuùng ta khai baùo trang JSP coù theû input vaø söû duïng phöông thöùc get trong theû form nhö ví duï 4-3. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP's Objects</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" > <tr><td></td><td><b>Tim kiem va Liet ket</b></td></tr> <form name=form1 action=ex4.jsp method=get> <table border=0> <tr> <td>Keyword: </td><td><input type=text name=keyword></td></tr> <tr><td></td><td><input type=submit value="Submit"></td></tr> </table> </form> </body> </html> Khi ngöôøi söû duïng nhaäp moät töø khoaù naøo ñoù vaø nhaán Submit, trang ex4.jsp seõ ñöôïc trieäu goïi. Chaúng haïn, chuùng ta nhaäp töø khoaù laø SQL Server nhö hình 4-3. huukhang@yahoo.com 3-3
  • 28. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 4-3: Phöông thöùc GET Khi trang ex4.jsp trieäu goïi, treân chuoãi QueryString xuaát hieän http://localhost:81/jsp/chapter04/ex4.jsp?keyword=SQL+Server nhö hình 4-4. Hình 4-4: Laáy giaù trò töø QueryString Ñeå laáy giaù trò töø chuoãi QueryString, chuùng ta söû duïng phöông thöùc getParemeter cuûa ñoái töôïng request nhö ví duï 4-4. <%@ page contentType="text/html; charset=UTF-8" %> <% huukhang@yahoo.com 3-4
  • 29. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM // Laáy giaù trò keyword töø trang ex3.jsp String keyword=request.getParameter("keyword"); // Laáy giaù trò sort töø trang QueryString String sort=request.getParameter("sort"); %> <html> <head> <title>JSP</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <h4>Result</h4> <!--Khai baùo caùc link ñeå giöõ laïi keyword vaø khai baùo giaù trò cho tham soá sort--> <a href="ex4.jsp?keyword=<%=keyword%>&sort=ItemName">ItemName</a> <a href="ex4.jsp?keyword=<%=keyword%>&sort=UnitPrice">Unit Price</a> <br> <hr size=1><br> <% // xuaát giaù trò laáy ñöôïc out.println("Keyword is "+ keyword +"<br>"); sort=(sort==null)?"ItemName":sort; out.println("Sort by " + sort +"<br>"); %> </body> </html> 1.3. Request vôùi maûng tham soá Neáu nhö coù nhieàu theû treân form hay tham soá treân QueryString cuøng teân, chuùng ta phaûi söû duïng phöông thöùc getParameterValues cuûa ñoái töôïng request. Ví duï, chuùng ta khai baùo trang JSP coù nhieàu theû input daïng checkbox cuøng teân nhöng khaùc giaù trò nhö ví duï 4-5. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP's Objects</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" > <table width="100%" border="0" cellspacing="0" cellpadding="0"> <form action=ex6.jsp method=post> <tr><td><b>#</b></td><td><b>DepartmentID</b></td><td><b>Department Name</b></td></tr> <tr><td colspan=3><hr size=1></td></tr> <% int i=0; while(i<10) { out.println("<tr><td width=50 valign=top><input type=checkbox "): out.println("name=chkid value='"+i+"'></td>"); out.println("<td width=100 valign=top>"+ i +"</td>"); out.println("<td width=150 valign=top>Phong ban thu " + i+ " </td><tr>"); i++; } %> huukhang@yahoo.com 3-5
  • 30. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <tr><td colspan=3><hr size=1></td></tr> <tr><td colspan=3><input type=submit value="Delete"></td></tr> </table> </form> </body> </html> Khi trieäu goïi trang JSP naøy treân trình duyeät, baèng caùch choïn moät vaøi phoøng ban ñeå xoaù baïn coù giao dieän nhö hình 4-5. Hình 4-5: Theû cuøng teân vaø khaùc giaù trò Nhö hình treân, baïn choïn caùc phoøng ban coù giaù trò laø 1,5,6,8, khi submit form naøy trang ex6.jsp seõ ñöôïc trieäu goïi, ñeå laáy ñöôïc giaù trò 1,5,6,8 nhö ñaõ choïn baèng caùch söû duïng phöông thöùc getParameterValues, baïn khai baùo nhö ví duï 4-6. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <h4>Delete </h4> <hr size=1><br> huukhang@yahoo.com 3-6
  • 31. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <% String[] deleterecord=null; String delStr=""; deleterecord=request.getParameterValues("chkid"); if(deleterecord!=null){ for(int k=0;k<deleterecord.length;k++){ delStr+= deleterecord[k]+","; } delStr=delStr.substring(0,delStr.length()-1); } out.println("Select values are : " + delStr); %> </body> </html> Khi ñoù, keát quaû trình baøy treân trình duyeät nhö hình 4-6, trong thöïc teá baïn coù theå gaùn giaù trò naøy vôùi chuoãi SQL vaø söû duïng pheùp toaùn IN hay NOT IN ñeå truy vaán hay thao taùc trong döõ lieäu. Hình 4-6: Keát quaû laáy maûng giaù trò 1.4. Request keát hôïp vôùi JavaScript Ngoaøi caùc caùch treân, khi laøm öùng duïng thöôøng chuùng ta trình baøy danh saùch maåu tin phuï thuoäc vaøo giaù trò choïn treân theû select hay checkbox hoaëc readiobutton, baïn coù theå söû duïng phöông thöùc getParameter cuûa ñoái töôïng request ñeå thöïc hieän yù ñònh naøy nhö ví duï 4-7. <%@ page contentType="text/html; charset=UTF-8" %> <% // Laáy giaù trò choïn trong theû select coù teân selectid int selectid=0; // Chuyeån qua soá nguyeân neáu coù choïn if (request.getParameter("selectid")!=null) { try { selectid=Integer.parseInt(request.getParameter("selectid")); huukhang@yahoo.com 3-7
  • 32. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM } catch(Exception ex) { selectid=0; } } %> <html> <head> <title>JSP's Objects</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" > <table width="100%" border="0" cellspacing="0" cellpadding="0"> <!--Khai baùo theû select coù teân selectid--> <form action=ex7.jsp method=post name=form1> <tr><td colspan=2><h4>Show</h4></td><td> <select name=selectid onchange="document.form1.submit();"> <option value=0>Greater than 0</option> <option value=1>Greater than 1</option> <option value=2>Greater than 2</option> <option value=3>Greater than 3</option> <option value=5>Greater than 5</option> </select> <script> // Choïn laïi giaù trò choïn tröôùc ñoù trong theû select coù teân selectid for(var j=0;j<form1.selectid.length;j++) { if(form1.selectid[j].value=="<%=selectid%>") form1.selectid.selectedIndex=j; } </script> </td></tr> </form> <tr><td><b>#</b></td><td><b>DepartmentID</b></td><td> <b>Department Name</b></td></tr> <tr><td colspan=3><hr size=1></td></tr> <% // Trình baøy soá maåu tin >= giaù trò choïn trong theû select coù teân selectid int i=selectid; while(i<10) { out.println("<tr><td width=50 valign=top>"); out.println("<input type=checkbox name=chkid value='"+i+"'></td>"); out.println("<td width=100>"+ i +"</td>"); out.println("<td width=150>Phong ban thu " + i+ " </td><tr>"); i++; } %> <tr><td colspan=3><hr size=1></td></tr> </table> </body> </html> Laàn ñaàu tieân goïi ñeán trang ex7.jsp thì keát quaû trình baøy laø 10 phoøng ban, neáu ngöôøi söû duïng choïn giaù trò trong phaàn Show “Greater than ” thì soá maåu tin trình baøy lôn hôn hoaëc baèng giaù trò ñang choïn nhö hình 4-7. huukhang@yahoo.com 3-8
  • 33. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 4-7: Trình baøy maåu tin choïn loïc 2. ÑOÁI TÖÔÏNG RESPONSE Khi muoán traû giaù trò töø server xuoáng client thì söû duïng ñoái töôïng response. Ñoái töôïng naøy thuoäc lôùp javax.servlet.ServletResponse. Chaúng haïn, sau khi kieåm tra giaù trò username vaø password hôïp leä thì töï ñoäng chuyeån ñeán trang myaccount.jsp trong trang login_authentication.jsp. Ñeå laøm ñieàu naøy, chuùng ta khai baùo trang login.jsp coù hai theû nhaäp lieäu laø username vaø password nhö ví duï 4-8. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP</title> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> <script language="JavaScript"> // Khai baùo kieåm tra giaù trò nhaäp treân trình khaùch function checkinput(){ if(document.form1.username.value==""){ alert("Xin vui long nhap username"); document.form1.username.focus(); return false; } if(document.form1.password.value=="" ){ alert("Xin vui long nhap password"); document.form1.password.focus(); return false; } return true; huukhang@yahoo.com 3-9
  • 34. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM } </script> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="100%" border="0" cellspacing="5" cellpadding="5"> <tr><td> <form action=login_authentication.jsp name=form1 method=post onSubmit="return checkinput();"> <table align=center> <tr> <td colspan="2" height="19"> <h4><b><font color="#FF0000"> <font color="#0000CC"> Administration Module</font> </font></b></h4><hr> </td> </tr><tr> <td colspan=2 height="19"> <div align="left">Please enter username and password</div> </td> </tr> <tr> <td height="19"> <div align="left">Username</div> </td> <td height="19"> <div align="left"> <input type="text" name="username" size="30" maxlength="50"> </div> </td> </tr> <tr> <td height="31"> <div align="left">Password</div> </td> <td height="31"> <div align="left"> <input type="password" name="password" size="30" maxlength="10"> </div> </td> </tr> <tr> <td >&nbsp;</td> <td>&nbsp;</td> </tr><tr> <td ><input type=submit value="Login"></td> <td ><input type=reset value=Reset></td> </tr> </table></form> </body> </html> Khi trieäu goïi trang login.jsp treân trình duyeät nhö hình 4-8, neáu baïn khoâng nhaäp giaù trò cho username hay password thì cöûa soå thoâng baùo yeâu caàu xuaát hieän, quaù trình submit leân server chæ xaûy ra khi baïn nhaäp caû hai giaù trò hôïp leä. huukhang@yahoo.com 3-10
  • 35. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 4-8: Ñaêng nhaäp Khi submit thaønh coâng, trang login_authentication.jsp ñöôïc goïi, neáu username vaø password baïn nhaäp töông öùng laø khang, 123456 thì trang myaccount.jsp troû ñeán ngöôïc laïi thì goïi laïi trang login.jsp nhö ví duï 4-9. <% String username=""; String password=""; username= request.getParameter("username"); password= request.getParameter("password"); if (username.equals("khang")){ if(password.equals("123456")){ response.sendRedirect("myaccount.jsp"); } else{ /*sai password*/ response.sendRedirect("login.jsp"); } } else{ /*sai user*/ response.sendRedirect("login.jsp"); } %> 3. TOÙM TAÉT Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn hai ñoái töôïng chính laø request vaø response. huukhang@yahoo.com 3-11
  • 36. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Baøi 5 ÑOÁI TÖÔÏNG SESSION TRONG JSP Trong baøi tröôùc chuùng ta seõ laøm quen caùc ñoái töôïng thöôøng söû duïng trong quaù trình thieát keá trang JSP nhö Request, Response. Trong baøi naøy chuùng ta tieáp tuïc laøm vieäc vôùi ñoái töôïng Session. Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy Ñoái töôïng Session. ÖÙng duïng ñoái töôïng Session. 1. ÑOÁI TÖÔÏNG SESSION Khi muoán truyeàn giaù trò töø trang trang web naøy sang trang web khaùc trong moät phieân laøm vieäc thì söû duïng duïng ñoái töôïng Session. Ñoái töôïng naøy thuoäc lôùp HttpSession. http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpSession.html 1.1. Nhaän daïng moät phieân laøm vieäc Moãi khi coù moät phieân laøm vieäc ñöôïc taïo ra, thì trình chuû web seõ caáp moät ñònh danh laø moät chuoãi bao goàm caùc kyù töï vaø soá cho phieân laøm vieäc ñoù. Chaúng haïn, baïn môû moät browser vaø goïi trang jsp töø web site, khi ñoù phieân laøm vieäc ñöôïc taïo ra cuøng vôùi ñònh danh duy nhaát. Khi keát thuùc phieân laøm vieäc, ñònh danh naøy bò thu laïi vaø phaân phaùt laïi cho phieân laøm vieäc khaùc môùi taïo ra. Ñeå laáy ñöôïc ñònh danh naøy, baïn söû duïng phöông thöùc getId nhö ví duï 5-1. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP's Objects</title> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" > <table> <tr><td> Identify ID: <%=session.getId()%> </td></tr> </table> </body> </html> Khi ngöôøi söû duïng goïi trang JSP naøy treân trình duyeät giaù trò cuûa ñònh danh trình baøy nhö hình 4- 1. huukhang@yahoo.com 3-1
  • 37. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 5-1: Ñònh danh cuûa phieân laøm vieäc 1.2. Khôûi taïo vaø gaùn giaù trò cho session Khi caàn truyeàn gt töø trang JSP naøy sang trang JSP khaùc, baèng caùch khôûi taïo dt Session vaø gaùn cho chuùng thôøi gian töông öùng, sau ñoù baïn coù theå truy caäp vaøo ñoái töôïng naøy trong trang JSP khaùc trong cuøng phieân laøm vieäc. Ñeå laøm ñieàu naøy, baïn söû duïng phöông thöùc setValue voùi cuù phaùp nhö sau: session.putValue(“teân session”,”giaù trò”); Ví duï sau khi cung caáp username/password vaø nhaán nuùt Submit töø trang login.jsp nhö hình 5-2, trang login_authentication.jsp seõ ñöôïc trieäu goïi. Hình 5-2: Trang login.jsp huukhang@yahoo.com 3-2
  • 38. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Neáu username laø khang vaø password laø 123456 thì trang myaccount.jsp seõ ñöôïc trieäu goïi. Tröôùc khi trieäu goïi trang myaccount.jsp, chuùng ta khôûi taïo moät soá session duøng ñeå söû duïng cho phieân laøm vieäc naøy chaúng haïn userid, username, fullname, email nhö ví duï 5-2 (login_authentication.jsp). <% String username=""; String password=""; username= request.getParameter("username"); password= request.getParameter("password"); if (username.equals("khang")){ if(password.equals("123456")){ session.putValue("userid","123"); session.putValue("username",username); session.putValue("fullname","huukhang.com"); session.putValue("email","admin@huukhang.com"); response.sendRedirect("myaccount.jsp"); } else{ /*sai password*/ response.sendRedirect("login.jsp"); } } else{ /*sai user*/ response.sendRedirect("login.jsp"); } %> 1.3. Laáy giaù trò töø session Sau khi ñaêng nhaäp thaønh coâng, nhöõng ñoái töôïng session ñöôïc taïo ra, baèng caùch söû duïng phöông thöùc getValue, baïn coù theå laáy giaù trò töø caùc session naøy nhö ví duï 5-3 (myaccount.jsp). huukhang@yahoo.com 3-3
  • 39. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 5-3: Laáy giaù trò töø Session Ñeå laáy giaù trò töø caùc session khai baùo trong trang login_authentication.jsp vaø trình baøy treân trang myaccount.jsp, baïn khai baùo nhö ví duï 5-3. <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>JSP</title> <LINK href="style.css" rel=stylesheet> <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="100%" border="0" cellspacing="5" cellpadding="5"> <tr><td> <h4>Welcome to JSP</h4> </td></tr> <tr><td><a href="logout.jsp">logout</a></td></tr> <tr><td>userid: =<%=session.getValue("userid")%></td></tr> <tr><td>username: =<%=session.getValue("username")%></td></tr> <tr><td>fullname: =<%=session.getValue("fullname")%></td></tr> <tr><td>email: =<%=session.getValue("email")%> </td></tr> </table> </body> </html> 1.4. Huyû session Sau khi khoâng söû duïng ñoái töôïng session, baïn caàn söû duïng phöông thöùc ñeå huyø session ñoù thaøy vì ñeå chuùng toàn taïi, bôûi ví neáu chuùng khoâng söû duïng maø vaãn toàn thì web server vaãn phaûi quaûnl lyù. Chaúng haïn, khi chuùng ta logout khoûi öùng duïng website thì trang logout.jsp seõ ñöôïc tieäu goïi, ba72ng caùch söû duïng caùc phöông thöùc removeValue ví duï 5-4. huukhang@yahoo.com 3-4
  • 40. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <% session.removeValue("userid"); session.removeValue("username"); session.removeValue("fullname"); session.removeValue("email"); response.sendRedirect("login.jsp"); %> Neáu baïn trieäu goïi laïi trang trang myaccount.jsp treân trình duyeät, thì keát quaû trình baøy nhö hình 5- 4. Hình 5-4: Huyû caùc session Nhö hình treân, khi session chöa taïo ra, neáu baïn truy caäp ñeán giaù trò cuûa chuùng thì giaù trò ñoù laø null, chính vì vaäy trong moät soá trang baét buoäc ngöôøi söû duïng phaûi ñaêng nhaäp roài môùi söû duïng thì baïn caàn phaûi kieåm tra session, neáu session baèng null thì troû ñeán trang login.jsp. Chaúng haïn trong tröôøng hôïp naøy chuùng ta coù ví duï 5-5, cho pheùp söû duïng khi ngöôøi söû duïng ñaõ ñaêng nhaäp, ñieàu naøy coù nghóa laø session coù teân userid phaûi toàn taïi. <%@ page contentType="text/html; charset=UTF-8" %> <% if (session.getValue("userid")==null) response.sendRedirect("login.jsp"); %> <html> <head> <title>JSP</title> <LINK href="style.css" rel=stylesheet> huukhang@yahoo.com 3-5
  • 41. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <LINK href="newstyle.css" rel=stylesheet> <META HTTP-EQUIV="Content-Type" CONTENT="text/html ; charset=utf-8"> </head> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <table width="100%" border="0" cellspacing="5" cellpadding="5"> <tr><td> <h4>Welcome to JSP</h4> </td></tr> </table> </body> </html> 2. TOÙM TAÉT Trong baøi hoïc naøy chuùng toâi giôùi thieäu ñeán cho caùc baïn ñoái töôïng chính laø session, sau khi coù ñoái töôïng naøy, baïn coù theå keát hôïp vôùi hai ñoái töôïng request vaø response ñeå xaây döïng chöùc naêng ñaêng nhaäp heä thoáng. huukhang@yahoo.com 3-6
  • 42. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Baøi 6 PHÖÔNG THÖÙC VAØ CHEØN TAÄP TIN Khi xaây döïng öùng duïng Web noùi chung vaø öùng duïng JSP noùi rieâng, vieäc thoáng nhaát hoaù giao dieän laø ñieàu caàn thieát, chaúng haïn moïi trang JSP cuûa öùng duïng ñeàu phaûi coù kích thöôùc phaàn top, left, right, bottom vaø thaân gioáng nhau. Töông töï nhö vaäy moïi font chöõ vaø kích thöôùc cho töøng phaàn noäi dung cuõng laø ñieàu baïn phaûi thöïc hieän ñeå öùng duïng mang tính chuyeân nghieäp hôn Ngoaøi ra, nhö nhöõng baøi keá tieáp chuùng ta söû duïng chuoãi keát noái hay khai baùo ñoái töôïng Connection söû duïng trong moãi trang, taát caû nhöõng ñieàu naøy ñeàu daãn ñeán vieäc quaûn lyù khoù khaên khi caàn thay ñoåi moät trong nhöõng phaàn lieân quan. Nhöõng vaán ñeà chính seõ ñöôïc ñeà caäp trong baøi hoïc naøy Xaây döïng taäp tin ñònh daïng noäi dung Thoáng nhaát kích thöôùc cuûa moïi trang JSP Khai baùo haøm vaø thuû tuïc duøng chung Söû duïng haøm vaø thuû tuïc duøng chung 1. XAÂY DÖÏNG TAÄP TIN ÑÒNH DAÏNG NOÄI DUNG Khi trình baøy noäi dung treân trang HTML hay trang JSP, ñeå thoáng nhaát ñònh daïng chuoãi trong theû body hay theû div chaúng haïn baïn caàn khai baùo theû style trong theû <head>. <style> A{ COLOR: #003063; TEXT-DECORATION: none } A:hover { COLOR: #003063; TEXT-DECORATION: underline } A:link { FONT-WEIGHT: bold; COLOR: red; TEXT-DECORATION: none } A:visited { FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none } .title { FONT-WEIGHT: normal; FONT-SIZE: 22px } .text{ FONT: 11px Arial, Helvetica, sans-serif } huukhang@yahoo.com 3-1
  • 43. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM </style> Trong ñoù, A töông öùng vôùi lieân keát (chuoãi trong theû <a>) coù ñònh daïng öùng vôùi tröôøng hôïp lieân keát, di chuyeån con chuoät, choïn lieân keát. A{ COLOR: #003063; TEXT-DECORATION: none } A:hover { COLOR: #003063; TEXT-DECORATION: underline } A:link { FONT-WEIGHT: bold; COLOR: red; TEXT-DECORATION: none } A:visited { FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none } Chaúng haïn, chuùng ta khai baùo trang JSP vôùi noäi dung ñöôïc aùp duïng vôùi kieåu ñònh daïng khai baùo trong theû style nhö vuù duï 6-1. Ví duï 6-1: Khai baùo theû style <%@ page contentType="text/html; charset=UTF-8" %> <html> <head> <title>Style trong JSP</title> <style> A{ COLOR: #003063; TEXT-DECORATION: none } A:hover { COLOR: #003063; TEXT-DECORATION: underline } A:link { FONT-WEIGHT: bold; COLOR: red; TEXT-DECORATION: none } A:visited { FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none } .title { FONT-WEIGHT: normal; FONT-SIZE: 22px; COLOR: #003063; } .text{ FONT: 11px Arial, Helvetica, sans-serif } </style> </head> <body> huukhang@yahoo.com 3-2
  • 44. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <h4>Style Tag</h4> <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0> <TR> <TD vAlign=top class=title> *** Quaûn Trò SQL Server 2000 *** </TD> </TR> <TR> <TD class=text> <div align=justify> Tìm hieåu caùch caøi ñaët, caáu hình, quaûn trò, backup & restore, import & export, thieát keá, laäp trình, töï ñoäng hoaù taùc vuï quaûn trò, baûn sao döõ lieäu, baûo maät vaø choáng thaâm nhaäp döõ lieäu baèng. <b>SQL Injection</b>.</div> </TD> </TR> <TR><TD><hr size=1 color=red></TD</TR> <TR><TD>Welcome to <a href="www.huukhang.com" class=> www.huukhang.com</a></TD </TR> </TABLE> </body> </html> Khi trieäu goïi trang ex1.jsp treân trình duyeät, noäi dung cuûa trang web ñöôïc ñònh daïng theo theû style nhö hình 6-1. Hình 6-1: AÙp duïng theû style huukhang@yahoo.com 3-3
  • 45. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Töông töï nhö vaäy khi baïn muoán thoáng nhaát noäi dung trong nhöõng theû khaùc cuûa moät trang web thì khai baùo moät ñònh daïng trong theû style. Tuy nhieân, khi ñaët teân truøng vôùi theû HTML, moïi theû ñoù trong trang seõ cuøng chung moät ñònh daïng. Chaúng haïn, baïn khai baùo ñònh daïng cho theû td nhö sau: TD { FONT: 10px Arial, Helvetica, sans-serif } Moïi noäi dung trình baøy trong theû td seõ coù ñònh daïng nhö treân. Neáu baïn muoán coù ñònh daïng khaùc thì khai baùo thuoäc tính class cho theû td ñoù, ví duï söû duïng ñònh daïng khaùc cho theû td: <td class=text>ABC</td> Thay vì chuoãi ABC seõ coù ñònh daïng laø FONT: 10px Arial, Helvetica, sans-serif thì chuùng seõ coù ñònh daïng cuûa FONT: 11px Arial, Helvetica, sans-serif. Chuù yù raèng, trong moãi trang web baïn phaûi khai baùo theû style vaø ñònh nghóa thoáng nhaát cho caùc theû. Khi coù söï thay ñoåi baïn phaûi thay ñoåi trong moïi trang web. Ñeå söû duïng chung cho moïi trang web trong öùng duïng, baïn caàn xaây döïng moät taäp tin style, taäp tin ñöôïc bieát ñeán vôùi teân goïi custom style sheet (css). Baát kyø trang web naøo trong öùng duïng, muoán aùp duïng kieåu ñònh daïng trong taäp tin css thì khai baùo lieân keát taäp tin css baèng theû link. Ví duï, chuùng ta khai baùo taäp tin style.css bao goàm caùc ñònh daïng nhö ví duï 6-2. Ví duï 6-2: Khai baùo taäp tin css A{ COLOR: #003063; TEXT-DECORATION: none } A:hover { COLOR: #003063; TEXT-DECORATION: underline } A:link { FONT-WEIGHT: bold; COLOR: red; TEXT-DECORATION: none } A:visited { FONT-WEIGHT: bold; COLOR: black; TEXT-DECORATION: none } .title { FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #003063; } .text{ FONT: 11px Arial, Helvetica, sans-serif } Sau ñoù trong trang JSP, baïn khai baùo lieân keát taäp tin naøy baèng theû link, neáu muoán aùp duïng ñònh daïng naøy trong moãi theû HTML baïn söû duïng thuoäc tính class nhö khai baùo ñònh daïng cuûa theû style ngay trong trang ñoù nhö ví duï 6-3. Ví duï 6-3: Khai baùo söû duïng taäp tin css huukhang@yahoo.com 3-4
  • 46. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <html> <head> <title> Welcome to Link Style Sheet File </title> <LINK href="style.css" rel=stylesheet> <META http-equiv=Content-Type content="text/html; charset=utf-8"> </head> <body> <h4>Style File</h4> <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0> <TR> <TD vAlign=top class=title> *** Quaûn Trò SQL Server 2000 *** </TD> </TR> <TR> <TD class=text> <div align=justify> Tìm hieåu caùch caøi ñaët, caáu hình, quaûn trò, backup & restore, import & export, thieát keá, laäp trình, töï ñoäng hoaù taùc vuï quaûn trò, baûn sao döõ lieäu, baûo maät vaø choáng thaâm nhaäp döõ lieäu baèng. <b>SQL Injection</b>.</div> </TD> </TR> <TR><TD><hr size=1 color=red></TD</TR> <TR><TD>Welcome to <a href="www.huukhang.com" class=> www.huukhang.com</a></TD </TR> </TABLE> </body> </html> Trieäu goïi trang ex.jsp treân trình duyeät nhö hình 6-3, maøu vaø kích thöôùc font cuøng vôùi kieåu chöõa cuûa noäi dung khoâng thay ñoåi so vôùi ex1.jsp, bôûi vì phaàn theû style ñöôïc taùch ra thaønh taäp tin style.css, sau ñoù duøng theû link ñeå lieân keát taäp tin css naøy vaøo trang jsp trôû laïi. huukhang@yahoo.com 3-5
  • 47. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 6-3: Lieân keát taäp tin css Chuù yù raèng, neáu khai baùo thuoäc tính class trong theû <table> thì nhöõng noäi dung trong theû <table> seõ coù ñònh daïng theo ñònh daïng khai baùo trong thuoäc tính class. Töông töï, neáu khai baùo thuoäc tính class trong theû <tr> thì noäi dung trong theû <tr> seõ coù ñònh daïng gioáng nhö ñònh daïng khai baùo trong thoâng tin class. 2. THOÁNG NHAÁT KÍCH THÖÔÙC CUÛA MOÏI TRANG JSP Khi xaây döïng öùng duïng web chuyeân nghieäp, ñieàu ñaàu tieân baïn neân quan taâm laø söï thoáng nhaát veà kích thöôùc cuûa caùc phaàn treân trang web. Ñieàu naøy coù nghóa laø khi ngöôøi söû duïng thay ñoåi trang web khi duyeät, phaàn top, left, right, bottom coù kích thöôùc nhö nhau. Ñeå laøm ñieàu naøy, baïn chia trang web ra thaønh 5 phaàn: top, left, right, body vaø bottom. Phaàn top thöôøng trình baøy caùc thuoäc tính nhö quaûn caùo (baner), logo (bieåu töôïng cuûa coâng ty), menu (thöïc ñôn cuûa öùng duïng) vaø moät soá thoâng tin khaùc. Phaàn left laø thoâng tin veà caùc menu phuï hay coøn goïi laø menu cuûa menu chính, beân caïnh menu con naøy trang web thöôøng coù caùc lieân keát veà lieân heä, quaûng caùo, mailing list (ñaêng kyù email), gôûi ñeán baïn beø (send to friend), .... Ñoái vôùi phaàn right, thöôøng laø phaàn giôùi thieäu veà caùc thoâng ñaëc bieät vaø quaûng caùo, chaúng haïn ñoái vôùi öùng duïng baùn saùch, phaàn right thöôøng laø danh saùch caùc nhoùm saùch baùn chaïy, saép phaùt haønh, ... Phaàn bottom thöôøng thoâng tin lieân laïc cuûa coâng ty, chuû nhaân cuûa web site vaø baûn quyeàn. Ngoaøi ra, phaàn bottom ñoâi khi laø danh saùch caùc menu con khaùc. Toùm laïi, tuyø thuoäc vaøo yù töôûng thieát keá moãi phaàn nhö treân bao goàm caùc thuoäc tính maø nhaø thieát keá caàn trình baøy sao cho phuø hôïp. Tuy nhieân, phaàn body laø phaàn trình baøy noäi dung chính cuûa moãi trang web. Ngoaøi ra, tuyø vaøo töøng tröôøng hôïp cuï theå, trang web coù theå khoâng coù phaàn left vaø right. huukhang@yahoo.com 3-6
  • 48. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Nhö vaäy, chuùng ta seõ chia trang web ra thaønh 5 phaàn, phaàn body chính laø phaàn chính cuûa trang web ñoù, coøn 4 phaàn coøn laïi ñöôïc cheøn vaøo khi coù nhu caàu. Chaúng haïn, coù nhöõng trang web do thoâng tin trình baøy trong phaàn body nhieàu, neân caàn khoâng gia lôùn hôn, baïn coù theå khoâng caàn söû duïng hai phaàn left vaø right. Ñeå laøm ñieàu naøy, tröôùc tieân chuùng ta thieát keá trang sample.jsp coù 5 phaàn nhö hình 6-3. Hình 6-3: Trang sample.jsp ------------------------------------------------------------------------------------------- Löu yù: • Taïo moät table goàm 3 haøng 3 coät vaø khai baùo border=1 ñeå ñeã canh leà sau ñoù baïn coù theå khai baùo laïi thuoäc tính naøy baèng 0. • Phaàn top vaø bottom laø moät haøng vaø merge 3 coät thaønh 1. • Beân trong moãi phaàn coù theå coù moät hay nhieàu theû table khaùc. • Coù theå khoâng coù phaàn left vaø right nhöng baét buoäc phaàn top vaø bottom phaûi coù. • Baïn coù theå söû duïng chieàu roäng cuûa table theo kích thöôùc töông ñoái (%) hay soá chæ ñònh, ñoái vôùi maøn hình 600*800 thì chieàu roäng thöôøng söû duïng laø 780, khi ngöôøi söû duïng choïn ñoä phaân giaûi cuûa maøn hình lôùn hôn thì kích thöôùc cuûa table naøy khoâng thay ñoåi, trong khi ñoù noäi dung seõ phuû ñaày maøn hình khi baïn khai baùo kích thöôùc theo 100%. ------------------------------------------------------------------------------------------- Ñeå coù giao dieän nhö trang sample.jsp nhö treân, baïn coù theå khai baùo nhö ví duï 6-3. Ví duï 6-3: Noäi dung trang sample.jsp <html> <head> <title> Welcome to Including File </title> <LINK href="style.css" rel=stylesheet> <META http-equiv=Content-Type content="text/html; charset=utf-8"> huukhang@yahoo.com 3-7
  • 49. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM </head> <body bottomMargin=0 leftMargin=0 topMargin=0 rightMargin=0> <TABLE cellSpacing=2 cellPadding=2 width="778" border=1 align=center> <TR HEIGHT="100"> <TD Align=center colspan=3> TOP </TD> </TR> <TR HEIGHT="280"> <TD vAlign=top width="20%"> LEFT </TD> <TD vAlign=top width="60%"> BODY </TD> <TD vAlign=top width="20%"> RIGHT </TD> </TR> <TR HEIGHT="50"> <TD colspan=3 align=center> BOTTOM </TD </TR> </TABLE> </body> </html> Trong tröôøng hôïp baïn muoán coù ñöôøng phaân caùch giöõa moãi phaàn baèng image, baïn coù theå khai baùo laïi trang sample.jsp coù 5 haøng vaø 5 coät nhö template.jsp nhö hình 6-4. Hình 2-4: Phaân caùch coù vieàng Ñeå trình baøy trang tempale.jsp nhö hình 6-4, baïn khai baùo noäi dung trang naøy nhö ví duï 6-4. Ví duï 6-4: Khai baùo template.jsp huukhang@yahoo.com 3-8
  • 50. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <html> <head> <title> Welcome to Including File </title> <LINK href="style.css" rel=stylesheet> <META http-equiv=Content-Type content="text/html; charset=utf-8"> </head> <body bottomMargin=0 leftMargin=0 topMargin=0 rightMargin=0> <TABLE width="778" border=0 cellSpacing=0 cellPadding=0 align=center> <TR HEIGHT="100"> <TD Align=center colspan=5> TOP </TD> </TR> <!---Khai baùo ñöôøng phaân caùch---> <TR HEIGHT="1"> <TD colspan=5 bgcolor=gray></TD> </TR> <TR HEIGHT="280"> <TD vAlign=top width="150">LEFT</TD> <!---Khai baùo ñöôøng phaân caùch---> <TD bgcolor=gray width="1"></TD> <TD vAlign=top width="476">BODY</TD> <!---Khai baùo ñöôøng phaân caùch---> <TD bgcolor=gray width="1"></TD> <TD vAlign=top width="150">RIGHT</TD> </TR> <!---Khai baùo ñöôøng phaân caùch---> <TR HEIGHT="1"> <TD colspan=5 bgcolor=gray></TD> </TR> <TR HEIGHT="50"> <TD colspan=5 align=center> BOTTOM </TD </TR> </TABLE> </body> </html> Sau ñoù taùch trang template.jsp naøy thaønh 5 trang khaùc nhau ñöôïc ñaët teân töông öùng laø top.htm, left.htm, right.htm vaø bottom.htm, trong ñoù phaàn body töông öùng vôùi trang templates.jsp. Ñeå khai baùo cheøn taäp tin trong trang jsp, baïn söû duïng cuù phaùp nhö sau: <%@include file=”filename”%> Trong ñoù trang templates.jsp khai baùo cheøn top.htm, left.htm, right.htm vaø bottom.htm nhö ví duï 6-5. Ví duï 6-5: Khai baùo cheøn taäp tin trong templates.jsp <html> <head> <title> Welcome to HUUKHANG.COM </title> huukhang@yahoo.com 3-9
  • 51. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM <LINK href="style.css" rel=stylesheet> <META http-equiv=Content-Type content="text/html; charset=utf-8"> </head> <body bottomMargin=0 leftMargin=0 topMargin=0 rightMargin=0> <TABLE width="778" border=0 cellSpacing=0 cellPadding=0 align=center> <TR HEIGHT="100"> <TD Align=center colspan=5> <%@include file="top.htm"%> </TD> </TR> <!---Khai baùo ñöôøng phaân caùch---> <TR HEIGHT="1"> <TD colspan=5 bgcolor=gray></TD> </TR> <TR HEIGHT="280"> <TD vAlign=top width="150"> <%@include file="left.htm"%> </TD> <!---Khai baùo ñöôøng phaân caùch---> <TD bgcolor=gray width="1"></TD> <TD vAlign=top width="476">BODY</TD> <!---Khai baùo ñöôøng phaân caùch---> <TD bgcolor=gray width="1"></TD> <TD vAlign=top width="150"> <%@include file="right.htm"%> </TD> </TR> <!---Khai baùo ñöôøng phaân caùch---> <TR HEIGHT="1"> <TD colspan=5 bgcolor=gray></TD> </TR> <TR HEIGHT="50"> <TD colspan=5 align=center> <%@include file="bottom.htm"%> </TD </TR> </TABLE> </body> </html> Khi trieäu goïi trang templates.jsp, noäi dung cuûa 4 tang left.htm, right.htm, top.htm, bottom.htm cheøn vaøo trang templates.jsp nhö hình 6-5. huukhang@yahoo.com 3-10
  • 52. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Hình 6-5: Trang templates.jsp sau khi cheøn Trong ñoù, noäi dung cuûa trang top.htm ñònh nghóa töông töï nhö ví duï 6-5-1. Ví duï 6-5-1: Noäi dung trang top.htm <TABLE width="100%" border=0 cellSpacing=0 cellPadding=0 HEIGHT="100%" align=center> <TR > <TD width="150" Align=center> LOGO </TD> <TD Align=center> BANNER </TD> </TR> <TR HEIGHT="1"> <TD colspan=2 bgcolor=gray></TD> </TR> <TR HEIGHT="20%" bgcolor=black class=menu> <TD width="150" > Welcome </TD> <TD> Home | Search | Contact | Help </TD> </TR> </TABLE> huukhang@yahoo.com 3-11
  • 53. COMPUTER LEARNING CENTER WWW.HUUKHANG.COM Noäi dung cuûa taäp tin left.htm ñöôïc ñònh nghóa töông töï nhö ví duï 6-5-2. Ví duï 6-5-2: Noäi dung trang left.htm <TABLE width="100%" border=0 cellSpacing=0 cellPadding=0 HEIGHT="100%" align=center> <TR > <TD width="150" Align=center> LEFT </TD> </TR> </TABLE> Neáu coù söû duïng trang right.htm thì noäi dung cuûa taäp tin naøy ñöôïc ñònh nghóa töông töï nhö ví duï 6-5- 3. Ví duï 6-5-3: Noäi dung trang right.htm <TABLE width="100%" border=0 cellSpacing=0 cellPadding=0 HEIGHT="100%" align=center> <TR > <TD width="150" Align=center> FREE ADV </TD> </TR> </TABLE> Töông töï nhö vaäy, trang bottom.htm coù noäi dung nhö ví duï 6-5-4. Ví duï 6-5-4: Noäi dung trang bottom.htm <TABLE width="100%" border=0 cellSpacing=0 cellPadding=0 HEIGHT="100%" align=center> <TR class=text> <TD Align=center> HUUKHANG.COM<br> Copyright ©2000-2005. All Rights Reserved. </TD> </TR> </TABLE> Chuù yù raèng, trong moãi trang khai baùo cheøn khoâng coù caùc theû ñoùng vaø môû html, body bôûi khi cheøn thì noäi dung cuûa taäp tin ñöôïc cheøn seõ ñöôïc cheøn vaøo taäp tin bò cheøn vaø trong taäp tin bò cheøn ñaõ coù hai theû naøy. Kòch baûn trình chuû jsp hoã trôï caùc taäp tin ñöôïc cheøn vôùi caùc teân môû roäng nhö htm, jsp, inc, lib, html. Do thöïc chaát cuûa vieäc khai baùo cheøn laø cheøn ñoaïn maõ trong taäp tin cheøn vaøo taäp tin boï cheøn, trong tröôøng hôïp naøy trang cheøn htm hay jsp ñeàu gioáng nhau ñoù laø lyù do taïi sao caùc trang cheøn ôû treân ñeàu coù teân môû roäng laø htm. Tuy nhieân, khi baïn goïi trang cheøn naøy moät mình ví duï tom.htm, neáu beân trong coù maõ jsp thì maõ ñoù khoâng ñöôïc thoâng dòch. Neáu nhöõng trang cheøn naøy coù nhu caàu goïi moät mình thì baïn coù theå chuyeån chuùng thaønh trang jsp thay vì htm nhö ñaõ trình baøy. Sau khi coù ñöôïc trang templates.jsp, baïn coù theå söû duïng trang naøy laø maãu cho caùc trang khaùc baèng caùch save as thaønh caùc trang jsp khaùc khi laäp trình. Khi khai baùo cheøn taäp tin, baïn coù theå söû duïng ñöôøng daãn töông ñoái hoaëc tuyeät ñoái cuûa taäp tin cheøn so vôùi aäp tin bò cheøn. huukhang@yahoo.com 3-12