Desculpa não conseguir esclarecer as coisas, mais eu tb to meio perdido com isso
Entao o negocio do servidor é o seguinte, nos pagamos um servidor que esta em outra cidade, nele esta rodando o tomCat.
Quanto ao site, é um site de uma ferramenta de autoria, onde o usuario pode criar apresentaçoes contendo audio, video, texto, flash, varios tipo de arquivo, é o possivel o usuario montar um site se quiser so arrastando componentes, sem nada de programação, o que eu não sei fazer, é, como eu salvo essas informações do projeto do usuario no servidor, como eu fasso para enviar dados pra la, eu nao sei como fazer isso usando applet.
O outro programador que esta fazendo isso, me passo o codigo que esta sendo usado por enquanto, é uma solução que se pode dizer que não é das melhores, eu queria saber qual a melhor maneira, ou pelo menos melhor que essa abaixo de salvar dados no servido via Servlet.
public class ServletUpload extends HttpServlet {
/** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
String formulario = "";
try {
List items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.getFieldName().equals("tipoForm")) {
formulario = item.getString();
}
if (!item.isFormField()) {
if (item.getName().length() > 0) {
this.inserirImagemDiretorio(item);
}
}
}
}
catch (FileUploadException ex) {
}
catch (Exception ex) {
}
PrintWriter output;
response.setContentType("text/html;charset=UTF-8");
output = response.getWriter();
output.println("<html><head><title>");
output.println("Envia arquivo");
output.println("</title></head>");
output.println("<body>");
output.println("<form id=\"formImagem\" name=\"formImagem\" method=\"post\" action=\"ServletUpload\" enctype=\"multipart/form-data\">");
output.println("<input type=\"hidden\" id=\"tipoForm\" name=\"tipoForm\" value=\"imagem\">");
output.println("<input name=\"imagem\" type=\"file\">");
output.println("<input type=\"submit\" id=\"upload\" name=\"upload\" value=\"Enviar\">");
output.println("</form>");
output.println("<script type='Text/javascript'>");
output.println(" window.onload=alert('Arquivo enviado')");
output.println("</script>");
output.println("</body></html>");
output.close();
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/** Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/** Returns a short description of the servlet.
*/
public String getServletInfo() {
return "Short description";
}
private void inserirImagemDiretorio(FileItem item) throws
IOException {
//Pega o diretório /logo dentro do diretório atual de onde a
//aplicação está rodando
String caminho = getServletContext().getRealPath("/arquivos") + "/";
// Cria o diretório caso ele não exista
File diretorio = new File(caminho);
if (!diretorio.exists()){
diretorio.mkdir();
}
// Mandar o arquivo para o diretório informado
String nome = item.getName();
String arq[] = nome.split("\\\\");
for (int i = 0; i < arq.length; i++) {
nome = arq[i];
}
//verifica se arquivo existe, acrescentando "_" caso exista
int n=0;
boolean lExiste = true;
File f;
while (n<500 && lExiste) {
n = n + 1;
f = new File(diretorio.getPath() + "/" + nome);
if (f.exists()==false)
lExiste = false;
else
nome = "_" + nome;
f = null;
}
File file = new File(diretorio, nome);
FileOutputStream output = new FileOutputStream(file);
InputStream is = item.getInputStream();
byte[] buffer = new byte[2048];
int nLidos;
while ((nLidos = is.read(buffer)) >= 0) {
output.write(buffer, 0, nLidos);
}
output.flush();
output.close();
}
}