Cadastro de imagem e texto enviando para o servlet

Boa tarde;
Preciso enviar para o servlet o texto e fazer o upload de imagem para o diretorio. Como passar o parametro apenas em uma ação???Preciso de apenas um formulario???
Agradeço a ajuda…

<html>
<head>
<title>Upload page</title>
</head>

<body>

<form id="formImagem" name="formImagem" method="post" action="ServletUpload" enctype="multipart/form-data">



<input type="hidden" id="tipoForm" name="tipoForm" value="imagem">

<input name="imagem" type="file" accept="image/jpeg; image/gif; image/bmp; image/png" id="imagem" class="dados" maxlength="60" tabindex="1" value="c:" style="position:absolute; top:263px; left:12px;  width:500px; ">

<input name="imagem1" type="file" accept="image/jpeg; image/gif; image/bmp; image/png" id="imagem" class="dados" maxlength="60" tabindex="1" value="c:" style="position:absolute; top:303px; left:12px;  width:500px; ">



<input type="submit" id="upload" name="upload" tabindex="2" style="position:absolute; top:20px; left:532px; ">
</form>

<form name="formConsultaUsuario" method="post" action="ServletUpload">
	
	<p>Nome : <input type="text" name="textNome"></p>
	<p><input type="submit" value="Inserir"></p>
	</form>


 </body>
 </html>

Nenhuma opção para referencia???

No lado do servidor o nome chega nulo…

String nome = request.getParameter(“textNome”);

Conseguiiiiiiiiii retornar apenas uma imagem da tabela que encontra-se no diretorio, como faça para retornar uma lista, já que o usuario possui varias fotos suas… É melhor retornar um ArrayList???

public ImageIcon recuperaImagemDiretorio(String caminho) throws ClassNotFoundException, SQLException {
	Connection conexao = null;

	/**
	  Estabeleça a conexao
	*/
	Class.forName("com.mysql.jdbc.Driver"); 
	String url = "jdbc:mysql://localhost/nomedobanco"
	String user = "user";
	String password = "";
	conexao = DriverManager.getConnection(url,user, password);
	System.out.print("Conectado");

	 

	        Statement declaracao = null;

	        ResultSet resultado = null;

	        StringBuffer sql = new StringBuffer();

	        sql.append("SELECT foto FROM usuario5 WHERE id = 5");

	        

	        try {

	            declaracao = (Statement) conexao.createStatement();

	            resultado = declaracao.executeQuery(sql.toString());

	            if (resultado.next()) {

	 

	String caminhoImagem = resultado.getString("foto");
	conexao.close();

	 

	                if (caminhoImagem!=null){

	                    
	                	imagem = new ImageIcon(caminho);
	                	
	                	System.out.print(caminhoImagem);
	                } 

	          }

	        } catch (SQLException ex) {

	            ex.printStackTrace();

	        } catch (Exception ex) {

	            ex.printStackTrace();

	        }

	        return imagem;

	    }

}

Pesquisando encontrei

Solution B:

  1. download http://jakarta.apache.org/commons/sandbox/fileupload/
  2. invoke readHeaders() in
    org.apache.commons.fileupload.MultipartStream

Como uso readHeaders???
Alguem tem um exemplo???

Meu servlet…



public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	        String nome = request.getParameter("tipo");
                    
	        
	        boolean isMultiPart = FileUpload.isMultipartContent(request);

            if (isMultiPart) {

                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);
                            	                            	
                            	response.setContentType("text/html");
                        		PrintWriter out = response.getWriter();
                        		Usuario usuario = (Usuario)request.getAttribute("user"); 
                        		out.println("<html>");
                        		out.println("<head><title>Consulta Usuario</title></head>");
                        		out.println("<body>");
                        		out.println("<h1>Dados Cadastrados</h1>");
                        		
                        		
                        		out.println("<table border=1>");
                        		out.println("<tr>");
                        		    		                        		
                        		
                        		out.println("<br><td>Figura : </td><td>"+ "<img src=" + recuperaImagemDiretorio("imagem.JPG")+ " alt=\"Angry face\" WIDTH=102 HEIGHT=135 />"+    "</td>");
                        		out.println("</tr>");
                        		out.println("<tr>");
                        		out.println("<br><td>Email : </td><td>" + "</td>");
                        		out.println("</tr>");
                        		out.println("<tr>");
                        		out.println("<br><td>Telefone : </td><td>" +  "</td>");
                        		out.println("</tr>");
                        		out.println("<tr>");
                        		out.println("<br><td>Endereço : </td><td>" + "</td>");
                        		out.println("</tr>");
                        		out.println("</table>");
                        		out.println("</body>");
                        		out.println("</html>");
                        		out.close();
                            	
                            	
                            	

                            }

                        }

                    }

                }

catch (FileUploadException ex) {

   ex.printStackTrace();

                }

catch (Exception ex) {

   ex.printStackTrace();

                }

            }

    }