1. Przeanalizuj i przetestuj poniższy przykład serwletu obsługującego formularz html. Użyj serwera Resin ( lokalnie ). Informacje dotyczące umieszczenia serwletu i mapowania url znajdziesz w pliku readme.txt w katalogu głównym Resina.

  2. Napisz serwlet pobierający pytania z pliku tekstowego (zob. JavaI 5.3), losujący zestawy pytań (np. java.util.Random) i generujący dynamicznie stronę www z wylosowanym zestawem pytań.


<form action="/servlet/GenTest" method="post">
<b>Nazwisko: </b><br><input type="text" name="nazwisko">
<input type="submit" value="Rozpocznij test">
</form>

import java.io.*;
import java.util.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class GenTest extends HttpServlet
{
   String str;           //pole (zmienna składowa klasy)
   
   public void init()                   
   {                            //metoda wywoływana jednokrotnie, podczas inicjalizacji serwletu
      str="Test z Geografii";
   }                         
   
   public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException 
   {                                                                                                         //metoda wywoływana 
      res.setContentType("text/html");                                                                       //w celu obsłużenia
      PrintWriter pw = res.getWriter();                                                                      //żądania typu POST
                                                                                                            
      pw.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");                       
      pw.println();                                                                                         
      pw.println("<head>");                                                                                 
      pw.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">");           
      pw.println();                                                                                         
      pw.println("<title>Test</title>");                                                                    
      pw.println("</head>");                                                                                
      pw.println();                                                                                         
      pw.println("<body bgcolor=white>");                                                                   
      pw.println();                                                                                         
      pw.println("<h1>"+str+"</h1>");                                                                       
      pw.println();                                                                                         
                                                                                                            
      String param=req.getParameter("nazwisko");                                                             //parametr
                                                                                                             //z formularza html
      pw.println("Nazwisko : " + param + "<hr>");                                                           
                                                                                                            
      pw.println("<form action=/servlet/Wyniki method=post>");                                              
                                                                                                            
      pw.println("<H4>Najdlu&#x017c;sza rzeka &#x015b;wiata?</H4>");                                         //polskie znaki
      pw.println("<P>");                                                                                     //w standardzie
      pw.println("<INPUT type=radio name=pyt1 value=odp1> Wis&#x0142;a <BR>");                               //unicode
      pw.println("<INPUT type=radio name=pyt1 value=odp2> Odra         <BR>");                              
      pw.println("<INPUT type=radio name=pyt1 value=odp3> Dunaj        <BR>");                              
      pw.println("<INPUT type=radio name=pyt1 value=odp4> Nil          <BR>");                              
                                                                                                            
      pw.println("<H4>Najwy&#x017c;szy szczyt &#x015b;wiata?</H4>");                                        
      pw.println("<P>");                                                                                    
      pw.println("<INPUT type=radio name=pyt2 value=odp1> Babia G&#x00F3;ra       <BR>");                   
      pw.println("<INPUT type=radio name=pyt2 value=odp2> &#x0141;ysa G&#x00F3;ra <BR>");                   
      pw.println("<INPUT type=radio name=pyt2 value=odp3> Mount Everest           <BR>");                   
      pw.println("<INPUT type=radio name=pyt2 value=odp4> K2                      <BR>");                   
                                                                                                            
      pw.println("<br><hr><input type=\"submit\" value=\"Send\">");                                         
      pw.println("</form>");                                                                                
                                                                                                            
      pw.println("</body>");                                                                                
      pw.close();                                                                                           
   }                                                                                                        
}