I have a webform on
JSP page which has several parameters(strings and integers) values and a file to be uploaded to the server through a
servlet. It is strange to see that i'm able to upload the file on to the server but not able to get the rest of the parameters in the servlet using request.getParameter("someString") Can anyone please find out the problem with my code or guide me?
<form method="POST" enctype="multipart/form-data" action="/cassino/uploadFile" >
<fieldset>
<div class="form-group">
<label >*ID riparazione</label>
<input type="text" name="idRiparazione" />
</div>
<div class="form-group">
<label>*ID mandrino smontato</label>
<input type="text" name="idMandrinoSmontato" />
</div>
<div class="form-group">
<label>*Service livello(SL)</label>
<input type="text" name="serviceLivello" />
</div>
<div class="form-group">
<label>Attachment</label>
<input type="file" name="attachment" class="" id="attach" />
</div>
</fieldset>
</div>
<p class="text-right">
<input type="submit" value="Salva" name="newMacchina" />
<input type="reset" value="Cancella" />
</p>
</form>
and
uploadfile.java
@WebServlet( name = "uploadFile", urlPatterns = { "/uploadFile" } )
public class uploadFile extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final int THRESHOLD_SIZE = 1024 * 1024 * 3;
private static final int MAX_FILE_SIZE = 1024 * 1024 * 15;
private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 20;
/**
* handles file upload via HTTP POST method
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// checks if the request actually contains upload file
//ServletFileUpload.isMultipartContent(request);
String idRiparazione = request.getParameter("idRiparazione");
String idMandrinoSmontato = request.getParameter("idMandrinoSmontato");
String serviceLivello = request.getParameter("serviceLivello");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello Servlet Get</h1>");
out.println(idMandrinoSmontato);
out.println(serviceLivello);
out.println("</body>");
out.println("</html>");
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(THRESHOLD_SIZE);
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(MAX_FILE_SIZE);
upload.setSizeMax(MAX_REQUEST_SIZE);
// constructs the directory path to store upload file
String uploadPath = "C:\\SKFSFCassino\\uploads\\riparazione\\"; //getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY;
// creates the directory if it does not exist
File uploaddir = new File(uploadPath);
if(!uploaddir.exists())
{
uploaddir.mkdirs();
}
try {
List formItems = upload.parseRequest(request);
Iterator it = formItems.iterator();
// iterates over form's fields
while(it.hasNext())
{
FileItem item = (FileItem)it.next();
// processes only fields that are not form fields
if (!item.isFormField()) {
String fileName = new File(item.getName()).getName();
String filePath = uploadPath + File.separator + fileName;
File storeFile = new File(filePath);
// saves the file on disk
item.write(storeFile);
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//response.sendRedirect(request.getContextPath()+"/modules/SKFsfRepair/new/viewNewContent.jsp");
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException {
throw new ServletException("GET method used with " + getClass( ).getName( )+": POST method required.");
}