PDA

View Full Version : Servlet


Sara79
10-11-2003, 15:14
Grazie innanzi tutto per aver risposto. Arrivo fino alla firma dell'applet....nn mi pare particolarmente complicato. Cosa un po + maccinosa forse è l'utilizzo delle servlet. Ora, forse avanzo una richiesta...se poi qualcuno mi da una mano.... :) nn è che qualcuno mi potrebbe fare anche un esempio semplice semplice di utilizzo delle servlet???? Tnx. Sara.

PGI
12-11-2003, 16:31
Ho trovato un esempio bello e pronto qui:

link (http://www.keysolutions.com/ServletFAQ.nsf/0/99abc10529dab92a8525686700737ea2?OpenDocument)

C'è il codice sia del servlet che della pagina html "client".

Se hai già firmato l'applet potresti anche considerare la possibilità di usare direttamente quella per inviare l'e-mail (anche se non sono certo al 100% che funzioni, ho fatto solo un paio di esperimenti).

Di seguito il codice per un'applet Java che (se firmata) dovrebbe consentire l'invio di un messaggio di posta elettronica: naturalmente l'unico punto di interesse è costituito dal metodo "sendMessage" (che è ridotto proprio al minimo indispensabile), il resto è fuffa-GUI. Considerà però che in ogni caso l'applet costringe al caricamento dell'intero pacchetto javamail e activation (ca. 350kb) da parte del client, il che segna un punto a favore della servlet.


import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.applet.*;
import java.awt.*;

public class JAMail extends Applet {
private TextArea msgArea;
private TextField subjField, toField, fromField;
private Button send;

public JAMail() {
setBackground(new Color(255,255,255));

GridBagLayout layout=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
gbc.fill=GridBagConstraints.BOTH;
setLayout(layout);

msgArea=new TextArea();
setConstraints(gbc,0,0,2,1,0,60);
layout.setConstraints(msgArea, gbc);
add(msgArea);


gbc.fill=GridBagConstraints.HORIZONTAL;

Label subjLabel=new Label("Oggetto");
setConstraints(gbc, 0, 1, 1, 1, 25, 0);
layout.setConstraints(subjLabel,gbc);
add(subjLabel);

subjField=new TextField();
setConstraints(gbc,1,1,1,1,75,10);
layout.setConstraints(subjField, gbc);
add(subjField);

Label toLabel=new Label("Destinatario");
setConstraints(gbc, 0, 2, 1, 1, 0, 10);
layout.setConstraints(toLabel, gbc);
add(toLabel);

toField=new TextField();
setConstraints(gbc,1,2,1,1,0,0);
layout.setConstraints(toField,gbc);
add(toField);

Label fromLabel=new Label("Mittente");
setConstraints(gbc, 0, 3, 1, 1, 0,10);
layout.setConstraints(fromLabel, gbc);
add(fromLabel);

fromField=new TextField();
setConstraints(gbc, 1,3, 1,1,0,0);
layout.setConstraints(fromField, gbc);
add(fromField);

send=new Button("Invia");
setConstraints(gbc,0,4,2,1,0,20);
gbc.fill=GridBagConstraints.NONE;
layout.setConstraints(send,gbc);
add(send);
}

public boolean action(Event e, Object arg) {
if(e.target instanceof Button) {
sendMessage();
return true;
}
return false;
}

public void sendMessage() {
Properties p=new Properties();
//sostituisci "smptServer" con il server di posta da usare per
//l'invio dell'e-mail, una stringa tipo "smpt.server.it"
p.put("mail.smtp.host",/*smptServer*/);
Session session=Session.getInstance(p,null);
try {
Message imsg=new MimeMessage(session);
imsg.setFrom(new InternetAddress(fromField.getText()));
InternetAddress[] address={new InternetAddress(toField.getText())};
imsg.setRecipients(Message.RecipientType.TO, address);
imsg.setSubject(subjField.getText());
imsg.setText(msgArea.getText());
imsg.setSentDate(new Date());
Transport.send(imsg);
} catch(Exception e) {
System.out.println(e);
}
}

public void setConstraints(GridBagConstraints g, int x, int y, int gw, int gh, int wx, int wy) {
g.gridx=x;
g.gridy=y;
g.gridwidth=gw;
g.gridheight=gh;
g.weightx=wx;
g.weighty=wy;
}
}


&Ciao.

kingv
12-11-2003, 17:50
basta il post di una signorina e guarda come si produce codice a chili... :D :D

PGI
12-11-2003, 18:14
Originariamente inviato da kingv
basta il post di una signorina e guarda come si produce codice a chili... :D :D

:D :D

Sara79
12-11-2003, 19:22
Grazie per la risposta...ormai nn c speravo +. Ora lo provo e le personalizzo...magari lo miglioro...se ne sarò capace! Sxiam bene va là!!! tnx a tti :kiss:

cn73
12-11-2003, 20:53
Donna o non donna ti devi leggere

Fundamentals of Java Servlets: (http://developer.java.sun.com/developer/onlineTraining/Servlets/Fundamentals/index.html)

Poi per gli esempi: http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets2.html