List of usage examples for org.apache.commons.fileupload.servlet ServletRequestContext ServletRequestContext
public ServletRequestContext(HttpServletRequest request)
From source file:psiprobe.controllers.deploy.UploadWarController.java
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { if (FileUploadBase.isMultipartContent(new ServletRequestContext(request))) { File tmpWar = null;/*w w w . ja va 2 s . c om*/ String contextName = null; boolean update = false; boolean compile = false; boolean discard = false; // parse multipart request and extract the file FileItemFactory factory = new DiskFileItemFactory(1048000, new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(-1); upload.setHeaderEncoding(StandardCharsets.UTF_8.name()); try { List<FileItem> fileItems = upload.parseRequest(request); for (FileItem fi : fileItems) { if (!fi.isFormField()) { if (fi.getName() != null && fi.getName().length() > 0) { tmpWar = new File(System.getProperty("java.io.tmpdir"), FilenameUtils.getName(fi.getName())); fi.write(tmpWar); } } else if ("context".equals(fi.getFieldName())) { contextName = fi.getString(); } else if ("update".equals(fi.getFieldName()) && "yes".equals(fi.getString())) { update = true; } else if ("compile".equals(fi.getFieldName()) && "yes".equals(fi.getString())) { compile = true; } else if ("discard".equals(fi.getFieldName()) && "yes".equals(fi.getString())) { discard = true; } } } catch (Exception e) { logger.error("Could not process file upload", e); request.setAttribute("errorMessage", getMessageSourceAccessor() .getMessage("probe.src.deploy.war.uploadfailure", new Object[] { e.getMessage() })); if (tmpWar != null && tmpWar.exists() && !tmpWar.delete()) { logger.error("Unable to delete temp war file"); } tmpWar = null; } String errMsg = null; if (tmpWar != null) { try { if (tmpWar.getName().endsWith(".war")) { if (contextName == null || contextName.length() == 0) { String warFileName = tmpWar.getName().replaceAll("\\.war$", ""); contextName = "/" + warFileName; } contextName = getContainerWrapper().getTomcatContainer().formatContextName(contextName); /* * pass the name of the newly deployed context to the presentation layer using this name * the presentation layer can render a url to view compilation details */ String visibleContextName = "".equals(contextName) ? "/" : contextName; request.setAttribute("contextName", visibleContextName); if (update && getContainerWrapper().getTomcatContainer().findContext(contextName) != null) { logger.debug("updating {}: removing the old copy", contextName); getContainerWrapper().getTomcatContainer().remove(contextName); } if (getContainerWrapper().getTomcatContainer().findContext(contextName) == null) { // move the .war to tomcat application base dir String destWarFilename = getContainerWrapper().getTomcatContainer() .formatContextFilename(contextName); File destWar = new File(getContainerWrapper().getTomcatContainer().getAppBase(), destWarFilename + ".war"); FileUtils.moveFile(tmpWar, destWar); // let Tomcat know that the file is there getContainerWrapper().getTomcatContainer().installWar(contextName, new URL("jar:" + destWar.toURI().toURL().toString() + "!/")); Context ctx = getContainerWrapper().getTomcatContainer().findContext(contextName); if (ctx == null) { errMsg = getMessageSourceAccessor().getMessage("probe.src.deploy.war.notinstalled", new Object[] { visibleContextName }); } else { request.setAttribute("success", Boolean.TRUE); // Logging action Authentication auth = SecurityContextHolder.getContext().getAuthentication(); String name = auth.getName(); // get username logger logger.info(getMessageSourceAccessor().getMessage("probe.src.log.deploywar"), name, contextName); if (discard) { getContainerWrapper().getTomcatContainer().discardWorkDir(ctx); logger.info(getMessageSourceAccessor().getMessage("probe.src.log.discardwork"), name, contextName); } if (compile) { Summary summary = new Summary(); summary.setName(ctx.getName()); getContainerWrapper().getTomcatContainer().listContextJsps(ctx, summary, true); request.getSession(false).setAttribute(DisplayJspController.SUMMARY_ATTRIBUTE, summary); request.setAttribute("compileSuccess", Boolean.TRUE); } } } else { errMsg = getMessageSourceAccessor().getMessage("probe.src.deploy.war.alreadyExists", new Object[] { visibleContextName }); } } else { errMsg = getMessageSourceAccessor().getMessage("probe.src.deploy.war.notWar.failure"); } } catch (Exception e) { errMsg = getMessageSourceAccessor().getMessage("probe.src.deploy.war.failure", new Object[] { e.getMessage() }); logger.error("Tomcat throw an exception when trying to deploy", e); } finally { if (errMsg != null) { request.setAttribute("errorMessage", errMsg); } if (tmpWar.exists() && !tmpWar.delete()) { logger.error("Unable to delete temp war file"); } } } } return new ModelAndView(new InternalResourceView(getViewName())); }
From source file:servlets.RegistroPrendas.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession respuesta = request.getSession(true); PrintWriter out = response.getWriter(); String uploadPath = "C:" + "/" + "Carga"; File destino = new File(uploadPath); if (!destino.exists()) { destino.mkdir();/* w ww . ja va 2 s . com*/ } ServletRequestContext src = new ServletRequestContext(request); if (ServletFileUpload.isMultipartContent(src)) { DiskFileItemFactory factory = new DiskFileItemFactory((1024 * 1024), destino); ServletFileUpload upload = new ServletFileUpload(factory); try { java.util.List lista = upload.parseRequest(src); File file = null; java.util.Iterator it = lista.iterator(); while (it.hasNext()) { FileItem item = (FileItem) it.next(); if (item.isFormField()) out.println(item.getFieldName() + "<br>"); else { file = new File(item.getName()); item.write(new File(destino, file.getName())); out.println(item.getName() + " Fichero subido"); String ruta = uploadPath + "/" + item.getName(); DAO d = new DAO(); try { d.conectar(); d.registrarPrendas(ruta); respuesta.setAttribute("success", "Las prendas se han registrado exitosamente"); response.sendRedirect("registroPrendas.jsp"); d.desconectar(); } catch (Exception e) { out.println("Excepcion: " + e); } } } } catch (org.apache.commons.fileupload.FileUploadException ex) { Logger.getLogger(RegistroPrendas.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(RegistroPrendas.class.getName()).log(Level.SEVERE, null, ex); } } }
From source file:temporal.web.DemoServlet.java
void generateOutput(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { InputStream in = null;/*from www .ja v a 2 s . c o m*/ OutputStream out = null; try { response.setContentType(mDemo.responseType()); out = response.getOutputStream(); @SuppressWarnings("unchecked") // bad inherited API from commons Properties properties = mapToProperties((Map<String, String[]>) request.getParameterMap()); String reqContentType = request.getContentType(); if (reqContentType == null || reqContentType.startsWith("text/plain")) { properties.setProperty("inputType", "text/plain"); String reqCharset = request.getCharacterEncoding(); if (reqCharset != null) properties.setProperty("inputCharset", reqCharset); in = request.getInputStream(); } else if (reqContentType.startsWith("application/x-www-form-urlencoded")) { String codedText = request.getParameter("inputText"); byte[] bytes = codedText.getBytes("ISO-8859-1"); in = new ByteArrayInputStream(bytes); } else if (ServletFileUpload.isMultipartContent(new ServletRequestContext(request))) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload uploader = new ServletFileUpload(factory); FileItemIterator it = uploader.getItemIterator(request); /* @SuppressWarnings("unchecked") // bad commons API /* List<FileItem> items = (List<FileItem>) uploader.parseRequest(request); Iterator<FileItem> it = items.iterator();*/ while (it.hasNext()) { log("found item"); FileItemStream item = it.next(); InputStream stream = item.openStream(); if (item.isFormField()) { String key = item.getFieldName(); // String val = item.getString(); String val = org.apache.commons.fileupload.util.Streams.asString(stream); properties.setProperty(key, val); } else { byte[] bytes = org.apache.commons.fileupload.util.Streams.asString(stream).getBytes(); in = new ByteArrayInputStream(bytes); } } } else { System.out.println("unexpected content type"); String msg = "Unexpected request content" + reqContentType; throw new ServletException(msg); } mDemo.process(in, out, properties); } catch (FileUploadException e) { throw new ServletException(e); } finally { Streams.closeQuietly(in); Streams.closeQuietly(out); } }
From source file:xworker.http.fileupload.FileuploadActionsInitFileuploadRequestCreator.java
@SuppressWarnings("unchecked") public static Object run(ActionContext actionContext) throws FileUploadException { Thing self = (Thing) actionContext.get("self"); HttpServletRequest request = (HttpServletRequest) actionContext.get("request"); //MultiPartRequest ServletRequestContext context = new ServletRequestContext(request); FileItemFactory factory = DiskFileItemFactoryManager.getDiskFileItemFactory(self); MultiPartRequest multiPartRequest = new MultiPartRequest(request, factory, context); HttpRequestBean requestBean = new HttpRequestBean(multiPartRequest); try {/*from ww w.j a va2 s .co m*/ Bindings bindings = actionContext.push(null); bindings.put("request", multiPartRequest); bindings.put("requestBean", requestBean); Object result = null; for (Thing actions : (List<Thing>) self.get("actions@")) { for (Thing action : actions.getChilds()) { result = action.getAction().run(actionContext, null, true); if (ActionContext.RETURN == actionContext.getStatus() || ActionContext.CANCEL == actionContext.getStatus() || ActionContext.BREAK == actionContext.getStatus() || ActionContext.EXCEPTION == actionContext.getStatus()) { break; } } } return result; } finally { actionContext.pop(); } }
From source file:xworker.http.fileupload.FileuploadThingActions.java
@SuppressWarnings("unchecked") public static String doFileuploadAction(ActionContext actionContext) throws ClassNotFoundException, InstantiationException, IllegalAccessException, FileUploadException, ServletException { Thing self = (Thing) actionContext.get("self"); HttpServletRequest request = (HttpServletRequest) actionContext.get("request"); HttpServletResponse response = (HttpServletResponse) actionContext.get("response"); String key = "__fileuploadAction__"; FileuploadAction action = (FileuploadAction) self.getData(key); Long lastModified = (Long) self.getData(key + "LastModified"); if (action == null || lastModified == null || lastModified != self.getMetadata().getLastModified()) { Class<FileuploadAction> cls = (Class<FileuploadAction>) Class.forName(self.getString("classPath")); action = cls.newInstance();//from ww w. ja va 2 s . com self.setData(key, action); self.setData(key + "LastModified", self.getMetadata().getLastModified()); } //MultiPartRequest ServletRequestContext context = new ServletRequestContext(request); FileItemFactory factory = DiskFileItemFactoryManager.getDiskFileItemFactory(self); MultiPartRequest multiPartRequest = new MultiPartRequest(request, factory, context); // return action.doService(multiPartRequest, request, response, actionContext); }