Intanto grazie mille!!
L'alert di params mi scrive correttamente la sequenza dei parametri;
dataSource è il nome della servlet che viene richiamata;
lato javascript dovrebbe funzionare tutto;
mi sembra alquanto strano il fatto che faccio la send dei parametri e poi la servlet non vede niente!
Ti posto anche il codice della servlet, magari ti fa comodo:
codice:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import uk.me.jstott.jcoord.*;
import com.oreilly.servlet.MultipartRequest;
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private String webTempPath, filePath, file, result;
private MyParser ps;
private UTMRef UTMmax, UTMmin;
private LatLng latlngMax, latlngMin;
private Enumeration parameters;
public void init( ){
webTempPath = getServletContext().getRealPath("/") + "tabelle";
try
{
File file = new File(webTempPath);
if (!file.exists()){
if (file.mkdir()){
System.out.println("Directory di Upload creata");
} else {
System.out.println("Directory di Upload già esistente");
}
}
}
catch (Exception e)
{
System.err.println("errore\n"+e);
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
processGet(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
parameters = request.getParameterNames();
System.out.println(parameters.toString());
int p = 0;
while (parameters.hasMoreElements()) {
System.out.println(parameters.nextElement());
p++;
}
if (p == 0) {
upload(request, response);
}
else if (p > 0) {// richiesta di creazione file
create(request, response);
}
}
protected void processGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (filePath != null){
ps = new MyParser(filePath);
result = ps.getColumns();
//per togliere le parentesi quadre all'inizio e alla fine
result = result.substring(1, result.length()-1);
} else {
result = "Seleziona prima un Dataset da caricare!";
}
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
out.println("<?xml version=\"1.0\" standalone=\"yes\"?>");
out.println("<root>");
out.println(result);
out.println("</root>");
out.close();
}
protected void upload(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("upload");
//file limit size of 5 MB
MultipartRequest mpr = new MultipartRequest(request,webTempPath,5 * 1024 * 1024);
Enumeration enums = mpr.getFileNames( );
response.setContentType("text/html");
file = mpr.getFilesystemName((String) enums.nextElement());
filePath = webTempPath + "\\" + file;
PrintWriter out = response.getWriter( );
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet upload</title>");
out.println("</head>");
out.println("<body bgcolor=\"#6A95B2\">");
out.println("<center><font face=\"Tahoma\" size=\"4\">UPLOAD ESEGUITO!</font>
");
out.println("<center>The name of uploaded file is: "
+ file + "
");
out.println(webTempPath);
out.println("
<a href=\"index.html\"><img src=\"ico/home1.gif\"</a></center>");
out.println("</body>");
out.println("</html>");
}
protected void create(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ArrayList<String> param = new ArrayList<String>();
System.out.println("creation");
int i = 0;
while (parameters.hasMoreElements()) {
System.out.println(parameters.nextElement());
param.add(i, (String)parameters.nextElement());
System.out.println(param.get(i));
i++;
}
latlngMax = new LatLng(Double.parseDouble(param.get(0)), Double.parseDouble(param.get(1)));
latlngMin = new LatLng(Double.parseDouble(param.get(2)), Double.parseDouble(param.get(3)));
UTMmax = latlngMax.toUTMRef();
UTMmin = latlngMin.toUTMRef();
param.add(Double.toString(UTMmax.getEasting()));
param.add(Double.toString(UTMmax.getNorthing()));
param.add(Double.toString(UTMmin.getEasting()));
param.add(Double.toString(UTMmin.getNorthing()));
result = ps.makeFile(param, webTempPath);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
PrintWriter out = response.getWriter();
out.println("<?xml version=\"1.0\" standalone=\"yes\"?>");
out.println("<root>");
out.println(result);
out.println("</root>");
out.close();
}
}
Questa è la servlet in cui faccio il controllo e chiedo di fare 2 richieste con una sola doPost...però ne ho anche fatta un altra di servlet, per prova, in cui facevo solo la seconda richiesta, nella quale le mando i parametri, ma anche lì non mi vede nessun parametro!