Newsgroup: it.comp.java
Titolo: Facciamo il punto sui Servlet?

Salve a tutti gli appassionati Javisti,
vorrei aprire un mini-dibattito x fare un po' di luce sui Servlet (spero
almeno di attirare
l'attenzione di un paio di anime pie!).
Innanzi tutto- per definizione il Servlet è un programmino 100% java che
gira
all'interno della directory del Server.
Punto 1: Io ho una mia pagina in rete, su 
geocities.com
 , uno dei tanti Web
Server che danno spazio free. Ho fatto scaricato sul server varie cosa tra
cui un Applet che gira
sulla mia pagina. Allora mi chiedo: che differenza esiste tra le due
tipologie? anche il
mio Applet è in Java e si trova adesso sulla macchina Server.
Punto 2: Cosa offrono in più i Servlet di un normale Applet (apparte il
fatto di risiedere
o meno su di un'altra macchina), voglio dire hanno metodi peculiari, come ad
esempio l'Applet ha il metodo paint()?
Punto3: Quello che segue è un esempio base di Servlet- cos'altro mi occorre
x far
girare il Servlet- oltre alla pagina HTML ? (nelle faq si parla di un
programma ponte che
va installato sul server).
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ExampServlet extends HttpServlet {
  public void doPost(HttpServletRequest request,
  HttpServletResponse response)
        throws ServletException, IOException
  {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<title>Example</title>" +
       "<body bgcolor=FFFFFF>");
    out.println("<h2>Button Clicked</h2>");
    String DATA = request.getParameter("DATA");
    if(DATA != null){
      out.println(DATA);
    } else {
      out.println("No text entered.");
    }
    out.println("<P>Return to
 <A HREF=../simpleHTML.html>Form</A>");
    out.close();
  }
}
Grazie x l'attenzione - spero di aver suscitato l'interesse di qualcuno di
voi-
aspettero' con ansia le vostre riposte.
Francesco
gi...@tin.it

 
gi...@tin.it
Di nulla,
MindFlavor ( 
http://web.tiscalinet.it/mindflavor
 ).


Per girare, le Servlet richiedono un programma specifico detto Servlet
Engine. Si tratta di un programma che si installa in abbinamento ad un
server HTTP e che intercetta tutti i riferimenti a servlet presenti
all'interno delle pagine HTML. I Servlet Engine più noti sono JRun della
Allaire, WebSphere della IBM e JServ del consorzio Apache. Tutti e tre
questi prodotti sono reperibili in versione demo su Internet (a parte JServ
che è gratuito) e sono predisposti per l'abbinamento ai principali server
HTTP come Microsoft Internet Information Server, IBM HTTP Server o Apache.
Da notare che, per  ovvi motivi di sicurezza, nessuno dei fornitori di
spazio Web gratuito offre il supporto alle Servlet: ciò vuol dire che se ti
vuoi creare un sito personale su uno dei tanti server Web gratuiti presenti
in rete devi rinunciare alle Servlet (d'altra parte devi rinunciare anche
all'uso di tuoi script CGI, nonchè all'uso di procedure ASP) . Se non
disponi di un server HTTP su cui fare le prove puoi comunque cercare su
Internet i siti che offrono dei motori servlet di prova: non si tratta di
siti che offrono spazio web gratuito, ma sono dei siti su cui è attivo un
servlet engine che chiunque può usare per provare i propri servlet.
Spero di essere stato esauriente.
--
Bitboy
*  Il silenzio dell'invidioso fa molto rumore. - K.Gibran

Chiariamo: le applet girano nella finestra del tuo browser e quindi
richiedono che sia il tuo browser ad essere compatibile con Java, magari
attraverso il Java Plug-In; le servlet invece girano dentro un processo del
server HTTP che risponde alle tue richieste, un po' come i vecchi CGI, e
quindi richiedono che sia il server ad essere Java-Compliant.
Le applet sono dei programmi piu' o meno interattivi..in ogni caso hanno,
come hai ben detto, un metodo paint() per disegnarsi dentro la finestra del
browser e quindi si presume abbiano una certa interfaccia per interagire con
l'utente...le servlet invece non hanno una interfaccia e mettono a
disposizione del server HTTP metodi quali doGet(req, res) e doPost(req,res)
per rispondere alle diverse tipologie di interrogazione che un utente puo'
fare ad una servlet.
In generale puoi vedere una applet come un programma vero e proprio
contenuto dentro il browser ed una servlet come un mezzo per generare
dinamicamente delle pagine HTML (in realta' il discorso servlet e' piu'
ampio e generale...ma credo che questo sia quello che ti interessava).
Per quanto riguarda la pubblicazione della tua servlet hai necessita' che
chi ti fornisce lo spazio Web possieda un server Web in grado di far girare
le servlet (e sono ormai quasi tutti in grado di farlo) e che ti dia la
possibilita' di metterlein linea (questo e' un po' piu' difficile da
ottenere, soprattutto se possiedi dello spazio gratuito) andando a variare,
dovrebbero farlo loro, la configurazione del programma ponte, come lo chiami
tu.
Spero di essere stato chiaro.
Saluti
Roberto