è tutto il pomeriggio che cerco di capire il perchè nn riesco a creare file nella mia web app.
ne ho fatto il deploy su tomcat7 e tutto funziona a parte la creazione dei file.
all'interno della root del sito ho creato una directory download e gli ho dato i permessi 777 (il server è su linux).
poi da una Servlet richiamo una classe per salvare i dati in pdf:
codice:
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.sql.SQLException;
import java.util.ArrayList;
public class ExportPdf {
private DBManager dbm = DBManager.getInstance();
public void createPdf() throws FileNotFoundException, DocumentException, ClassNotFoundException, SQLException {
Font fontMap = new Font(Font.FontFamily.COURIER, 9);
Font fontTestata = new Font(Font.FontFamily.COURIER, 10, Font.BOLD);
Document document = new Document(PageSize.A4, -65F, -65F, 20F, 20F);
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("download\\books.pdf"));
document.open();
int[] cellWidths = {50, 30, 30, 12, 30, 30};
PdfPTable pdftable = new PdfPTable(6);
pdftable.setWidths(cellWidths);
PdfPCell cellTitle = new PdfPCell(new Paragraph("TITLE", fontTestata));
cellTitle.setColspan(1);
PdfPCell cellAuthor = new PdfPCell(new Paragraph("AUTHOR", fontTestata));
cellAuthor.setColspan(1);
PdfPCell cellEditor = new PdfPCell(new Paragraph("EDITOR", fontTestata));
cellEditor.setColspan(1);
PdfPCell cellPrice = new PdfPCell(new Paragraph("PRICE", fontTestata));
cellPrice.setColspan(1);
PdfPCell cellIsbn = new PdfPCell(new Paragraph("ISBN", fontTestata));
cellIsbn.setColspan(1);
PdfPCell cellNote = new PdfPCell(new Paragraph("NOTE", fontTestata));
cellNote.setColspan(1);
pdftable.addCell(cellTitle);
pdftable.addCell(cellAuthor);
pdftable.addCell(cellEditor);
pdftable.addCell(cellPrice);
pdftable.addCell(cellIsbn);
pdftable.addCell(cellNote);
ArrayList<ArrayList<String>> list = dbm.exportBook();
for (int i = 0; i < list.size(); i++) {
for (int j = 0; j < (list.get(i)).size(); j++) {
PdfPCell cellMap = new PdfPCell(new Paragraph((list.get(i)).get(j), fontMap));
cellMap.setColspan(1);
pdftable.addCell(cellMap);
}
}
document.add(pdftable);
document.close();
}
}
quando però provo ad lanciare la servlet ottengo sempre questo errore:
download\books.pdf (Permesso negato)
ed infatti dentro la cartella nn c'è nessun file.
qualche idea?