List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload isMultipartContent
public static final boolean isMultipartContent(HttpServletRequest request)
From source file:br.edu.ifpb.sislivros.model.ProcessadorFotos.java
public String processarArquivo(HttpServletRequest request, String nameToSave) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { ServletFileUpload upload = new ServletFileUpload(); try {/*from w w w . j a va 2 s .co m*/ FileItemIterator itr = upload.getItemIterator(request); while (itr.hasNext()) { FileItemStream item = itr.next(); if (!item.isFormField()) { // pode ser tb sem a barra ???? // String path = request.getServletContext().getRealPath(""); String contextPath = request.getServletContext().getRealPath("/"); //refatorar aqui apenas para salvarimagem receber um pasta, inputStream e o nome //aqui, criar um inputStream atravs do arquivo item antes de enviar //diminuir 1 mtodo, deixando salvarImagem mais genrico if (salvarImagem(contextPath + File.separator + folder, item, nameToSave)) { return folder + "/" + nameToSave; } } } } catch (FileUploadException ex) { System.out.println("erro ao obter informaoes sobre o arquivo"); } } else { System.out.println("Erro no formulario!"); } return null; }
From source file:com.pronoiahealth.olhie.server.rest.BooklogoUploadServiceImpl.java
@Override @POST// ww w . j av a2 s . c om @Path("/upload") @Produces("text/html") @SecureAccess({ SecurityRoleEnum.ADMIN, SecurityRoleEnum.AUTHOR }) public String process(@Context HttpServletRequest req) throws ServletException, IOException, FileUploadException { try { // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(req); if (isMultipart == true) { // FileItemFactory fileItemFactory = new FileItemFactory(); String bookId = null; String contentType = null; // String data = null; byte[] bytes = null; String fileName = null; long size = 0; ServletFileUpload fileUpload = new ServletFileUpload(); fileUpload.setSizeMax(FILE_SIZE_LIMIT); FileItemIterator iter = fileUpload.getItemIterator(req); while (iter.hasNext()) { FileItemStream item = iter.next(); InputStream stream = item.openStream(); if (item.isFormField()) { // BookId if (item.getFieldName().equals("bookId")) { bookId = Streams.asString(stream); } } else { if (item != null) { contentType = item.getContentType(); fileName = item.getName(); item.openStream(); InputStream in = item.openStream(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); IOUtils.copy(in, bos); bytes = bos.toByteArray(); // fileItem.get(); size = bytes.length; // data = Base64.encodeBytes(bytes); } } } // Add the logo Book book = bookDAO.getBookById(bookId); // Update the front cover BookCategory cat = holder.getCategoryByName(book.getCategory()); BookCover cover = holder.getCoverByName(book.getCoverName()); String authorName = bookDAO.getAuthorName(book.getAuthorId()); //String frontBookCoverEncoded = imgService // .createDefaultFrontCoverEncoded(book, cat, cover, // bytes, authorName); byte[] frontBookCoverBytes = imgService.createDefaultFrontCover(book, cat, cover, bytes, authorName); //String smallFrontBookCoverEncoded = imgService // .createDefaultSmallFrontCoverEncoded(book, cat, cover, // bytes, authorName); byte[] frontBookCoverSmallBytes = imgService.createDefaultSmallFrontCover(book, cat, cover, bytes, authorName); // Save it // Add the logo book = bookDAO.addLogoAndFrontCoverBytes(bookId, contentType, bytes, fileName, size, frontBookCoverBytes, frontBookCoverSmallBytes); } return "OK"; } catch (Exception e) { log.log(Level.SEVERE, "Throwing servlet exception for unhandled exception", e); // return "ERROR:\n" + e.getMessage(); if (e instanceof FileUploadException) { throw (FileUploadException) e; } else { throw new FileUploadException(e.getMessage()); } } }
From source file:controller.categoryServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String catimage = ""; String nameCategory = ""; String command = ""; int catogory_id = 0; String catogory_imagehidden = ""; String catogory_image = ""; if (!ServletFileUpload.isMultipartContent(request)) { // if not, we stop here PrintWriter writer = response.getWriter(); writer.println("Error: Form must has enctype=multipart/form-data."); writer.flush();// w w w . jav a 2 s.com return; } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(MEMORY_THRESHOLD); // sets temporary location to store files factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file // this path is relative to application's directory String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { // parses the request's content to extract file data @SuppressWarnings("unchecked") List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { // iterates over form's fields for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { catimage = new File(item.getName()).getName(); String filePath = uploadPath + File.separator + catimage; File storeFile = new File(filePath); item.write(storeFile); } else if (item.getFieldName().equals("name")) { nameCategory = item.getString(); } else if (item.getFieldName().equals("command")) { command = item.getString(); } else if (item.getFieldName().equals("catid")) { catogory_id = Integer.parseInt(item.getString()); } else if (item.getFieldName().equals("catogery_imagehidden")) { catogory_imagehidden = item.getString(); } } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } String url = "", error = ""; if (nameCategory.equals("")) { error = "Vui lng nhp tn danh mc!"; request.setAttribute("error", error); } HttpSession session = request.getSession(); try { if (error.length() == 0) { CategoryEntity c = new CategoryEntity(nameCategory, catimage); switch (command) { case "insert": if (cate.getListCategoryByName(nameCategory).size() > 0) { System.out.println("ten k "); out.println("ten k dc trung nhau"); out.flush(); return; } else { cate.insertCategory(c); request.setAttribute("er", "thanh cong"); url = "/java/admin/ql-category.jsp"; } break; case "update": if (cate.getListCategoryByName(nameCategory).size() > 0) { System.out.println("ten k "); out.println("ten k dc trung nhau"); out.flush(); return; } else { cate.updateCategory(nameCategory, catimage, catogory_id); url = "/java/admin/ql-category.jsp"; } break; } } else { url = "/java/admin/add-category.jsp"; } } catch (Exception e) { } response.sendRedirect(url); }
From source file:it.biblio.servlets.Inserimento_pub.java
/** * metodo per gestire l'upload di file e inserimento pubblicazione con prima * ristampa//w w w .j a v a2s. c o m * * @param request * @param response * @param k * @return * @throws IOException */ private boolean upload(HttpServletRequest request) throws IOException, Exception { Map<String, Object> pub = new HashMap<String, Object>(); Map<String, Object> ristampe = new HashMap<String, Object>(); Map<String, Object> keyword = new HashMap<String, Object>(); HttpSession s = SecurityLayer.checkSession(request); if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory fif = new DiskFileItemFactory(); ServletFileUpload sfo = new ServletFileUpload(fif); List<FileItem> items = sfo.parseRequest(request); for (FileItem item : items) { String fname = item.getFieldName(); if (item.isFormField() && fname.equals("titolo") && !item.getString().isEmpty()) { pub.put("titolo", item.getString()); pub.put("utente", s.getAttribute("userid")); } else if (item.isFormField() && fname.equals("descrizione") && !item.getString().isEmpty()) { pub.put("descrizione", item.getString()); } else if (item.isFormField() && fname.equals("autore") && !item.getString().isEmpty()) { pub.put("autore", item.getString()); } else if (item.isFormField() && fname.equals("categoria") && !item.getString().isEmpty()) { pub.put("categoria", item.getString()); } else if (item.isFormField() && fname.equals("ISBN") && !item.getString().isEmpty()) { ristampe.put("isbn", item.getString()); } else if (item.isFormField() && fname.equals("numero_pagine") && !item.getString().isEmpty()) { ristampe.put("numpagine", Integer.parseInt(item.getString())); } else if (item.isFormField() && fname.equals("anno_pub") && !item.getString().isEmpty()) { ristampe.put("datapub", item.getString()); } else if (item.isFormField() && fname.equals("editore") && !item.getString().isEmpty()) { ristampe.put("editore", item.getString()); } else if (item.isFormField() && fname.equals("lingua") && !item.getString().isEmpty()) { ristampe.put("lingua", item.getString()); } else if (item.isFormField() && fname.equals("indice") && !item.getString().isEmpty()) { ristampe.put("indice", item.getString()); } else if (item.isFormField() && fname.equals("keyword") && !item.getString().isEmpty()) { keyword.put("tag1", item.getString()); } else if (item.isFormField() && fname.equals("keyword2") && !item.getString().isEmpty()) { keyword.put("tag2", item.getString()); } else if (item.isFormField() && fname.equals("keyword3") && !item.getString().isEmpty()) { keyword.put("tag3", item.getString()); } else if (!item.isFormField() && fname.equals("PDF")) { String name = item.getName(); long size = item.getSize(); if (size > 0 && !name.isEmpty()) { File target = new File(getServletContext().getRealPath("") + File.separatorChar + "PDF" + File.separatorChar + name); item.write(target); ristampe.put("download", "PDF" + File.separatorChar + name); } } else if (!item.isFormField() && fname.equals("copertina")) { String name = item.getName(); long size = item.getSize(); if (size > 0 && !name.isEmpty()) { File target = new File(getServletContext().getRealPath("") + File.separatorChar + "Copertine" + File.separatorChar + name); item.write(target); ristampe.put("copertina", "Copertine" + File.separatorChar + name); } } } Database.insertRecord("keyword", keyword); ResultSet ss = Database.selectRecord("keyword", "tag1='" + keyword.get("tag1") + "' && " + "tag2='" + keyword.get("tag2") + "' && tag3='" + keyword.get("tag3") + "'"); if (!isNull(ss)) { int indicek = 0; while (ss.next()) { indicek = ss.getInt("id"); } pub.put("keyword", indicek); Database.insertRecord("pubblicazioni", pub); ResultSet rs = Database.selectRecord("pubblicazioni", "titolo='" + pub.get("titolo") + "'"); while (rs.next()) { ristampe.put("pubblicazioni", rs.getInt("id")); } return Database.insertRecord("ristampe", ristampe); } else { return false; } } return false; }
From source file:edu.byui.fb.AddImage.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/*from w w w. j a v a2 s.co m*/ * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Get the DataBaseHandler DataBaseHandler dbh = DataBaseHandler.getInstance(); // Get information about the user currently logged in boolean logged = (boolean) request.getSession().getAttribute("logged"); String username = (String) request.getSession().getAttribute("username"); User user = dbh.getUser(username); // Are we currently logged in if (username != null && user != null && logged) { // Check to make sure the request is multipart if (ServletFileUpload.isMultipartContent(request)) { try { // Parse the request into FileItems List<FileItem> multipart = new ServletFileUpload(new DiskFileItemFactory()) .parseRequest(request); String title = ""; InputStream imageInputStream = null; // Loop through each item for (FileItem item : multipart) { // Are we dealing with a file or something different if (!item.isFormField()) { if (item.getFieldName().equals("image")) { imageInputStream = item.getInputStream(); } } else if (item.isFormField()) { if (item.getFieldName().equals("title")) { title = item.getString(); } } } // Was there a title? If not, give a fake title if (title.equals("")) { title = "No title"; } // Set up the image and add to the DataBase. Image image = new Image(title, imageInputStream); dbh.addImage(image, user); request.setAttribute("imageAdded", true); } catch (FileUploadException ex) { Logger.getLogger(AddImage.class.getName()).log(Level.SEVERE, null, ex); } } } else { // Was there an error? request.setAttribute("addedError", true); } // Go to admin.jsp request.getRequestDispatcher("LoadImages?dest=admin.jsp").forward(request, response); }
From source file:controller.productServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); String proimage = ""; String nameProduct = ""; double priceProduct = 0; String desProduct = ""; String colorProduct = ""; int years = 0; int catId = 0; int proid = 0; String command = ""; if (!ServletFileUpload.isMultipartContent(request)) { // if not, we stop here PrintWriter writer = response.getWriter(); writer.println("Error: Form must has enctype=multipart/form-data."); writer.flush();/*ww w . ja va2 s . c om*/ return; } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(MEMORY_THRESHOLD); // sets temporary location to store files factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file // this path is relative to application's directory String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { // parses the request's content to extract file data @SuppressWarnings("unchecked") List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { // iterates over form's fields for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { proimage = new File(item.getName()).getName(); String filePath = uploadPath + File.separator + proimage; File storeFile = new File(filePath); System.out.println(proimage); item.write(storeFile); } else if (item.getFieldName().equals("name")) { nameProduct = item.getString(); } else if (item.getFieldName().equals("price")) { priceProduct = Double.parseDouble(item.getString()); } else if (item.getFieldName().equals("description")) { desProduct = item.getString(); System.out.println(desProduct); } else if (item.getFieldName().equals("color")) { colorProduct = item.getString(); } else if (item.getFieldName().equals("years")) { years = Integer.parseInt(item.getString()); } else if (item.getFieldName().equals("catogory_name")) { catId = Integer.parseInt(item.getString()); } else if (item.getFieldName().equals("command")) { command = item.getString(); } else if (item.getFieldName().equals("proid")) { proid = Integer.parseInt(item.getString()); } } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } String url = "", error = ""; if (nameProduct.equals("")) { error = "Vui lng nhp tn danh mc!"; request.setAttribute("error", error); } try { if (error.length() == 0) { ProductEntity p = new ProductEntity(catId, nameProduct, priceProduct, proimage, desProduct, colorProduct, years); switch (command) { case "insert": prod.insertProduct(p); url = "/java/admin/ql-product.jsp"; break; case "update": prod.updateProduct(catId, nameProduct, priceProduct, proimage, desProduct, colorProduct, years, proid); url = "/java/admin/ql-product.jsp"; break; } } else { url = "/java/admin/add-product.jsp"; } } catch (Exception e) { } response.sendRedirect(url); }
From source file:dk.clarin.tools.userhandle.java
public static String getParmFromMultipartFormData(HttpServletRequest request, List<FileItem> items, String parm) {//from www . j ava 2 s. c o m logger.debug("parm:[" + parm + "]"); String userHandle = ""; boolean is_multipart_formData = ServletFileUpload.isMultipartContent(request); if (is_multipart_formData) { try { /* logger.debug("In try"); DiskFileItemFactory fileItemFactory = new DiskFileItemFactory (); / * *Set the size threshold, above which content will be stored on disk. * / fileItemFactory.setSizeThreshold(1*1024*1024); //1 MB / * * Set the temporary directory to store the uploaded files of size above threshold. * / logger.debug("making tmpDir in " + ToolsProperties.tempdir); File tmpDir = new File(ToolsProperties.tempdir); if(!tmpDir.isDirectory()) { logger.debug("!tmpDir.isDirectory()"); throw new ServletException("Trying to set \"" + ToolsProperties.tempdir + "\" as temporary directory, but this is not a valid directory."); } fileItemFactory.setRepository(tmpDir); * / ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory); logger.debug("Now uploadHandler.parseRequest"); List items<FileItem> = uploadHandler.parseRequest(request); */ logger.debug("items:" + items); Iterator<FileItem> itr = items.iterator(); logger.debug("itr:" + itr); while (itr.hasNext()) { logger.debug("in loop"); FileItem item = (FileItem) itr.next(); /* * Handle Form Fields. */ if (item.isFormField()) { logger.debug("Field Name = " + item.getFieldName() + ", String = " + item.getString()); if (item.getFieldName().equals(parm)) { userHandle = item.getString(); logger.debug("Found " + parm + " = " + userHandle); /* if(userId == null && userHandle != null) userId = userhandle.getUserId(request,userHandle); if(userEmail == null && userId != null) userEmail = userhandle.getEmailAddress(request,userHandle,userId); */ break; // currently not interested in other fields than parm } } else if (item.getName() != "") { /* * Write file to the ultimate location. */ logger.debug("File = " + item.getName()); /* We don't handle file upload here data = item.getName(); File file = new File(destinationDir,item.getName()); item.write(file); */ logger.debug("FieldName = " + item.getFieldName()); logger.debug("Name = " + item.getName()); logger.debug("ContentType = " + item.getContentType()); logger.debug("Size = " + item.getSize()); logger.debug("DestinationDir = " + ToolsProperties.documentRoot /*+ ToolsProperties.stagingArea*/); } } } catch (Exception ex) { logger.error("uploadHandler.parseRequest Exception"); } } else { @SuppressWarnings("unchecked") Enumeration<String> parmNames = (Enumeration<String>) request.getParameterNames(); for (Enumeration<String> e = parmNames; e.hasMoreElements();) { // Well, you don't get here AT ALL if enctype='multipart/form-data' String parmName = e.nextElement(); logger.debug("parmName:" + parmName); String vals[] = request.getParameterValues(parmName); for (int j = 0; j < vals.length; ++j) { logger.debug("val:" + vals[j]); } } } logger.debug("value[" + parm + "]=" + userHandle); return userHandle; }
From source file:it.biblio.servlets.Modificapub.java
/** * metodo per gestire l'upload di file e inserimento dati * * @param request//from www. j a v a 2s. co m * @param response * @return * @throws IOException */ private boolean upload(HttpServletRequest request) throws IOException, SQLException, Exception { HttpSession s = SecurityLayer.checkSession(request); Map<String, Object> pub = new HashMap<String, Object>(); Map<String, Object> ristampe = new HashMap<String, Object>(); Map<String, Object> keyword = new HashMap<String, Object>(); Map<String, Object> storyboard = new HashMap<String, Object>(); if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory fif = new DiskFileItemFactory(); ServletFileUpload sfo = new ServletFileUpload(fif); List<FileItem> items = sfo.parseRequest(request); for (FileItem item : items) { String fname = item.getFieldName(); if (item.isFormField() && fname.equals("titolo") && !item.getString().isEmpty()) { pub.put("titolo", item.getString()); } else if (item.isFormField() && fname.equals("autore") && !item.getString().isEmpty()) { pub.put("Autore", item.getString()); } else if (item.isFormField() && fname.equals("descrizione") && !item.getString().isEmpty()) { pub.put("descrizione", item.getString()); } else if (item.isFormField() && fname.equals("categoria") && !item.getString().isEmpty()) { pub.put("categoria", item.getString()); } else if (item.isFormField() && fname.equals("ISBN") && !item.getString().isEmpty()) { ristampe.put("isbn", item.getString()); } else if (item.isFormField() && fname.equals("numero_pagine") && !item.getString().isEmpty()) { ristampe.put("numpagine", Integer.parseInt(item.getString())); } else if (item.isFormField() && fname.equals("anno_pub") && !item.getString().isEmpty()) { ristampe.put("datapub", item.getString()); } else if (item.isFormField() && fname.equals("editore") && !item.getString().isEmpty()) { ristampe.put("editore", item.getString()); } else if (item.isFormField() && fname.equals("lingua") && !item.getString().isEmpty()) { ristampe.put("lingua", item.getString()); } else if (item.isFormField() && fname.equals("indice") && !item.getString().isEmpty()) { ristampe.put("indice", item.getString()); } else if (item.isFormField() && fname.equals("keyword") && !item.getString().isEmpty()) { keyword.put("tag1", item.getString()); } else if (item.isFormField() && fname.equals("keyword2") && !item.getString().isEmpty()) { keyword.put("tag2", item.getString()); } else if (item.isFormField() && fname.equals("keyword3") && !item.getString().isEmpty()) { keyword.put("tag3", item.getString()); } else if (item.isFormField() && fname.equals("idkey") && !item.getString().isEmpty()) { keyword.put("id", item.getString()); } else if (item.isFormField() && fname.equals("idpub") && !item.getString().isEmpty()) { pub.put("id", item.getString()); } else if (item.isFormField() && fname.equals("idris") && !item.getString().isEmpty()) { ristampe.put("isbn", item.getString()); } else if (item.isFormField() && fname.equals("modifica") && !item.getString().isEmpty()) { storyboard.put("descrizione_modifica", item.getString()); } else if (!item.isFormField() && fname.equals("PDF")) { String name = item.getName(); long size = item.getSize(); if (size > 0 && !name.isEmpty()) { File target = new File(getServletContext().getRealPath("") + File.separatorChar + "PDF" + File.separatorChar + name); item.write(target); ristampe.put("download", "PDF" + File.separatorChar + name); } } else if (!item.isFormField() && fname.equals("copertina")) { String name = item.getName(); long size = item.getSize(); if (size > 0 && !name.isEmpty()) { File target = new File(getServletContext().getRealPath("") + File.separatorChar + "Copertine" + File.separatorChar + name); item.write(target); ristampe.put("copertina", "Copertine" + File.separatorChar + name); } } } storyboard.put("id_utente", s.getAttribute("userid")); storyboard.put("id_pub", pub.get("id")); if (Database.updateRecord("keyword", keyword, "id=" + keyword.get("id"))) { Database.updateRecord("pubblicazioni", pub, "id=" + pub.get("id")); Database.insertRecord("storyboard", storyboard); Database.updateRecord("ristampe", ristampe, "isbn=" + ristampe.get("isbn")); return true; } else { return false; } } return false; }
From source file:com.orange.mmp.context.RequestContext.java
/** * Default constructor using httpServletRequest * //from w ww. ja v a 2s.c o m * @param httpServletRequest The original httpServletRequest */ @SuppressWarnings("unchecked") public RequestContext(HttpServletRequest httpServletRequest) throws MMPException { this.httpServletRequest = httpServletRequest; this.isMultipart = ServletFileUpload.isMultipartContent(httpServletRequest); if (this.isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(MAX_UPLOAD_FILESIZE, new File(System.getProperty("java.io.tmpdir"))); servletFileUpload = new ServletFileUpload(factory); try { this.multipartItems = servletFileUpload.parseRequest(httpServletRequest); } catch (FileUploadException fue) { throw new MMPApiException("Failed to parse multipart request", fue); } } }
From source file:com.siberhus.web.ckeditor.servlet.BaseActionServlet.java
@Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String requestURI = request.getRequestURI(); if (requestURI != null && requestURI.lastIndexOf("/") != -1) { String actionName = requestURI.substring(requestURI.lastIndexOf("/") + 1, requestURI.length()); int paramIdx = actionName.indexOf("?"); if (paramIdx != -1) { actionName = actionName.substring(0, actionName.indexOf("?")); }/*from w w w .jav a 2 s .co m*/ Method method = null; try { method = this.getClass().getMethod(actionName, HttpServletRequest.class, HttpServletResponse.class); } catch (Exception e) { e.printStackTrace(); response.sendError(HttpServletResponse.SC_NOT_FOUND, "Action=" + actionName + " not found for servlet=" + this.getClass()); return; } try { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { request = new MultipartServletRequest(request); log.debug("Files *********************"); MultipartServletRequest mrequest = (MultipartServletRequest) request; for (FileItem fileItem : mrequest.getFileItems()) { log.debug("File[fieldName={}, fileName={}, fileSize={}]", new Object[] { fileItem.getFieldName(), fileItem.getName(), fileItem.getSize() }); } } if (log.isDebugEnabled()) { log.debug("Parameters **************************"); Enumeration<String> paramNames = request.getParameterNames(); while (paramNames.hasMoreElements()) { String paramName = paramNames.nextElement(); log.debug("Param[name={},value(s)={}]", new Object[] { paramName, Arrays.toString(request.getParameterValues(paramName)) }); } } Object result = method.invoke(this, request, response); if (result instanceof StreamingResult) { if (!response.isCommitted()) { ((StreamingResult) result).execute(request, response); } } } catch (Exception e) { e.printStackTrace(); if (e instanceof InvocationTargetException) { throw new ServletException(((InvocationTargetException) e).getTargetException()); } throw new ServletException(e); } } }