Listato 7. Operazioni per la gestione dei file
//Dispatcher.java
private void doCreate(HttpServletRequest req, HttpServletResponse resp) throws IOException {
//Recupero dei parametri attesi ed esecuzione della funzione
String user=req.getParameter("user");
String password=req.getParameter("password");
String email=req.getParameter("email");
try {
um.create(user,password,email);
fm.createAccount(user);
resp.getWriter().println("Account creato, prego, autenticarsi per iniziare a pubblicare i file.");
}catch (SQLException e) {
resp.getWriter().println("Si è verificata un'eccezione, prego riprovare.");
}
}
private void doUpload(HttpServletRequest req, HttpServletResponse resp) throws IOException{
//Recupero dei parametri attesi ed esecuzione della funzione
String user=req.getParameter("user");
String dir=req.getParameter("dir");
//Verifica che l'utente sia autenticato
if (!isLoggedIn(user,req)){
//L'utente non è loggato, messaggio di errore
resp.getWriter().println("Spiacente, devi effettuare il login, per effettuare" +
" questa operazione!");
return;
}
//Deleghiamo la creazione del file lato server alla libreria Apache Upload
boolean isMultipart = FileUpload.isMultipartContent(req);
if (isMultipart) try {
DiskFileUpload upload = new DiskFileUpload();
//Recuperiamo la lista di file da copiare
Collection file = upload.parseRequest(req);
fm.insert(user,dir,file);
resp.getWriter().println("Il file è stato copiato sul server.");
} catch (IOException e) {
//Gestione flusso eccezionale
resp.getWriter().println("Si è verificata un'eccezione, prego riprovare.");
} catch (NoMoreSpaceException e) {
//Gestione flusso eccezionale
resp.getWriter().println("Spiacente, non hai più spazio a disposizione.");
} catch (Exception e) {
//Gestione flusso eccezionale
resp.getWriter().println("Si è verificata un'eccezione, prego riprovare.");
}
}
private void doShowfile(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//Recupero dei parametri attesi ed esecuzione della funzione
String user=req.getParameter("user");
String dir=req.getParameter("dir");
try {
File[] file=fm.getFileList(user,dir);
//Salviamo l'oggetto nella request, in modo da renderli visibili
RequestDispatcher rd=this.getServletContext().getRequestDispatcher("/list.jsp");
req.setAttribute("file",file);
//alla pagina JSP che verrà inoltrata
rd.forward(req,resp);
} catch (IOException e) {
//Gestione flusso eccezionale
resp.getWriter().println("Si è verificata un'eccezione, prego riprovare.");
}
}
..//