Por que está vindo null

Olá pessoal eu tenhu a seguinte situação tenhu:

tenhu uma página q tem um <form> pra enviar aquivo. Quando clico em submit ele envia para um servlet q se chama AnexaArquivo, o problema é q quando vou pegar o parametro String nome = request.getParameter(“nome”); vem como null. Não entendi essa!!! segue a baixo os códigos

form.JSP

&lt;form method="post" enctype="multipart/form-data" action="AnexaArquivo"&gt; <font face="arial" size="1">Selecione o arquivo para anexar a sua dúvida.</font><font face="arial" size="1">OBS: O tamanho máximo do arquivo permitido é de 5MB!</font><br> <font face="arial" size="1">Anexo: </font>&lt;input type="file" name="anexo" enctype="multipart/form-data" size="30"&gt; &lt;input type="hidden" name="nome" value='&lt;%=request.getParameter("nome")%&gt;'&gt; &lt;------------------------------------------- Nome q vai para o AnexaArquivo.java &lt;input type="submit" value="Enviar arquivo"&gt;

AnexaArquivo.java

[code]protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

    String nomeAluno= request.getParameter(&quot;nome&quot;);  &lt;--------------------------------------------------------- Está vindo NULL porque??????
    try{
    boolean isMultipart = FileUpload.isMultipartContent(request);
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeMax(1024*1024*5);//5Mb
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
while(itr.hasNext()) {            
FileItem item = (FileItem) itr.next();
if(!item.isFormField()) {
	File fullFile  = new File(item.getName());
	nomeArquivo = fullFile.getName();
            javax.swing.JOptionPane.showMessageDialog(null,&quot;O Arquivo &quot;+nomeArquivo+&quot; foi enviado com sucesso!!!&quot;);
	File savedFile = new File(getServletContext().getRealPath(&quot;/uploads/&quot;),fullFile.getName());
		item.write(savedFile);
            
}
    response.sendRedirect(&quot;aluno.jsp?nome=&quot;+nomeAluno+&quot;&arquivo=&quot;+nomeArquivo);
  }
    }catch(Exception e){
        e.printStackTrace();
    }
    
}[/code]

Cara, mas tu tá chamando direto o teu jsp?
Teu jsp tem campos hidden que pegam parâmetros da requisição, se por exemplo tu não está pegando akeles valores de um outro formulário, ele vai ficar null quando tu submeter para a servlet…

Agora, se tu jah tiver pegando de outro form akeles valores, verifica pra ver se tá tudo certo os nomes do campos…

[ ]'s…

jason,

poderia dar uma melhorada na legibilidade do seu código ?
está muito confuso, tente aplicar os conceitos de MVC.
E debugger é uma palavrinha que você precisa entender bem.

javax.swing.JOptionPane.showMessageDialog(null,"O Arquivo "+nomeArquivo+" foi enviado com sucesso!!!");

voce nao espera que o usuario veja essa menssagem né ?

[quote=benflodin]javax.swing.JOptionPane.showMessageDialog(null,"O Arquivo "+nomeArquivo+" foi enviado com sucesso!!!");

voce nao espera que o usuario veja essa menssagem né ?[/quote]

Espero, porque? qual o problema?

[quote=zirocool]Cara, mas tu tá chamando direto o teu jsp?
Teu jsp tem campos hidden que pegam parâmetros da requisição, se por exemplo tu não está pegando akeles valores de um outro formulário, ele vai ficar null quando tu submeter para a servlet…

Agora, se tu jah tiver pegando de outro form akeles valores, verifica pra ver se tá tudo certo os nomes do campos…

[ ]'s…[/quote]

dae Zirocool, ta tudo certinhu sim, aquela requisição no campo hidden vem certo, mas quando mando para o servlet ele vem NULL.

Cara oq é estranho é que quando envio pelo método POST ele vem null, mas quando envio pelo método GET ele pega certinhu…

Alguém consegue resolver meu problema?

abraço!

Coloque algum valor fixo para o campo “nome” e veja se ele é recebido pelo servlet. Caso sim, então é o problema no request.getParameter(“nome”) que não tem nada. Eu não programaria assim não.

Eu pegaria o nome do arquivo através do próprio campo “anexo” lá no servlet. Tem classes que fazem isso. Veja se a FileUpload tem um getName() pois eu não conheço ela.

não não existe nenhum problema, eu que me esqueci que quando fazemos referencia a um JOptionPane em um Servlet ele automaticamente se torna um alerta em javascript!