codice:
package upload;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
//Create a factor for disk-based file items
FileItemFactory factory = new DiskFileItemFactory();
//Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
PrintWriter out = null;
out = response.getWriter();
response.setContentType("text/html");
try {
//Parse request
List<FileItem> items = upload.parseRequest(request);
//Process the upload items
for(FileItem item :items){
if(item.isFormField()){
//Se il valore di ritorno e true allora il campo è testuale
String name = item.getFieldName(); //Nome del campo
String value = item.getString(); //Valore associato
this.visualizza1(out, name, value);
}else{
//Se inFormField è false allora abbiamo un file inserito nel server
String name = item.getFieldName(); //Nome del campo input
long size = item.getSize(); //Dimensione del file
String fileName = item.getName(); //Il suo nome originale sul computer dell'utente
String type = item.getContentType(); ////Tipologia MIME dei dati passati
byte[] data = item.get(); //Il contenuto vero e proprio del file in questione
this.visualizza2(out, name,size,fileName,type);
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
}
private void visualizza1(PrintWriter out, String name, String value) {
out.println("\n" +
"<html>" +
"<head>" +
"<title>InserisciOrdineServlet</title>" +
"</head>" +
"<body>" +
"
L'ordine e' stato inserito con successo</p>" +
"
I dati inseriti sono</p>" +
"
Nome: " + name + "</p>" +
"
Value: " + value + "</p>" +
"</body>" +
"</html>");
}
private void visualizza2(PrintWriter out, String name, long size,
String fileName, String type) {
out.println("\n" +
"<html>" +
"<head>" +
"<title>InserisciOrdineServlet</title>" +
"</head>" +
"<body>" +
"
L'ordine e' stato inserito con successo</p>" +
"
I dati inseriti sono</p>" +
"
Nome: " + name + "</p>" +
"
Size: " + size + "</p>" +
"
FileName: " + fileName + "</p>" +
"
Type: " + type + "</p>" +
"</body>" +
"</html>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
p.s= ho inserito l'html di risposta nella servlet solo perchè è un esempio di solito uso le jsp