Moduļa 7.2. vingrinājumi

exercise44: Aplikācijas veidošana ar Ant

Mērķis:

  • Iepazīties ar statisko Web resursu (piemēram, HTML failu) veidošanu
  • Iepazīties ar Javas aplikāciju būvēšanas rīka "Ant" iespējām
  • Pievienot bildītes servletu, kurš klientam piegādā GIF failu

Darbības īsumā:

  • Uzbūvēt (sakompilēt un saarhivēt) servletu aplikāciju dotajā direktorijā
  • Pievienot index.html jaunu linku uz servletu
  • Pievienot jaunu servletu no dotā koda - tādu, kurš atgriež konkrētu GIF bildīti

Detalizēts darbību izklāsts:

  • Izveidot pareizu direktoriju struktūru - pārkopējiet savā apakšdirektorijā exercise44 piedāvātos failus
  • Izpildiet DOS komandrindā - direktorijā "exercise44" sekojošas darbības:
    ant clean
    ant ear 
    deploy 
    bind
    
  • Failam index.html (no izstrādes direktorijas "web") pievienot jaunu linku - uz servletu ImageServlet. Izstrādes direktorijā "src" iekopēt apmēram šādu "ImageServlet" izejas tekstu:
    import java.io.*;
    import java.util.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class ImageServlet extends HttpServlet { 
        public void doGet (HttpServletRequest request, 
                HttpServletResponse response)
                throws ServletException, IOException { 
    
            response.setContentType("image/gif"); 
                    ServletContext scontext = getServletContext();
                    String faila_vards = scontext.getInitParameter("bildes_fails"); 
                    OutputStream out = response.getOutputStream(); 
    
                    byte[] buffer = new byte[1024];
                    FileInputStream fis = new FileInputStream(faila_vards); 
                    int len; 
                    while ((len = fis.read(buffer)) != -1) {
                            out.write(buffer,0,len); 
                    }
                    fis.close(); 
                    out.close(); 
        }
    }
    

    Konfigurācijas failā web.xml (no izstrādes direktorijas "web/WEB-INF") izveidot jaunu atslēgas-vērtības pāri, kurā norādīts ceļš uz kādu GIF failu Jūsu datora failu sistēmā (pēc savas izvēles ierakstiet tur reāli eksistējošu failu). Sintakse failā "web.xml" ir šāda:

       <context-param>
          <param-name>atslega1</param-name>
          <param-value>vertiba1</param-value>
       </context-param>
       <context-param>
          <param-name>bildes_fails</param-name>
          <param-value>c:/direktorijas/bilde.gif</param-value>
       </context-param>
    

    Pievienot web/index.html failam savu vakardienas mājasdarbu - login.html failu un JSP lapu, kura pārbauda paroli un redirektē nereģistrētos lietotājus citur, bet reģistrētos nosūta uz index.html

  • Pārveidot JSP lapu par ekvivalentu servletu Login.java, kurš tāpat apstrādā "login.html" formu un redirektē lietotāju vai nu uz lapu "index.html", kurā var darboties tālāk, vai arī atkārtoti uz "login.html", ja tas ir nereģistrēts lietotājs
  • Izveidot jaunu - "ImageServlet", kurš no "web.xml" nolasa parametru "bildes_fails" un atbilstošo GIF failu nosūta Servleta klientam. Uzstādīt atbilstošu "Content-type: image/gif". Lietot baitu izvades plūsmu, nevis PrintWriter, lai veiktu izvadi.

exercise45: Sesijas uzturēšana

  • Pārveidot index.html par servletu Index.java, kurš pārbauda, vai ir uzstādīta sesija. Ja nav, tad redirektē lietotāju uz "login.html". Sesiju uzstāda servlets Login.java
  • Sesijas veidošanā izmantot Sesijas API

exercise46: Paroļu skatīšanās datubāzē

  • Izveidot savā Oracle shēmā tabulu "users", kurai ir divas tekstveida kolonnas "logins" un "pwd" - katra ar tipu VARCHAR(30). Šo darbību var veikt ar SQL Plus.
  • Pievienot šai tabulai dažus lietotājus ar parolēm
  • Modificēt Login.java programmu tā, lai tā skatītos datubāzē un pārbaudītu, vai login/pwd pāris tur ir.
  • Datubāzes draiveri pievienot build.xml failam kā ārēju "dependency", lai tas tiktu iekļauts EAR failā.