Este artigo compartilha com você o método de implementação do upload de arquivos da estrutura STRUTS2 para sua referência. O conteúdo específico é o seguinte
Processo de configuração STRUTS2
(1) Adicione o pacote JAR ao projeto
(2) Configuração do filtro (filtro) em web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xmls/javaee/web--/java.sun.com/xmls/javaee/web--b--/java.sun.com/xmls/javaee/web--/java.sun.com/xmls/javaee/web--/2slum> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
(3) Arquivo de configuração de escrita
<? xml versão = "1.0" coding = "utf-8"?> <web-app Version = "2.5" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: xsi = "http://www.w3.org/2001/xmlschema-stance" xsi: schemalocati ON = "http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <libe-name> </sisibe-name> <filtro ><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>
(4) Escrita da aula de ação
pacote com.xmgc.sc.action; importar java.io.file; importar java.io.fileInputStream; importar java.io.fileOutputStream; importar java.io.ioException; importar org.apache.struts2.ServletActionContext; classe pública myUploadaction {private string title; upload de arquivo privado; // o nome do tipo de arquivo no formulário é o mesmo private string uploadContentType; // o prefixo deve ser o upload acima do upload String privado uploadFilename; public string gettitle () {return title; } public void Settitle (título da string) {this.title = title; } public file getUpload () {return upload; } public void setupLoad (upload de arquivo) {this.upload = upload; } public string getUploadContentType () {return uPLOPLONTENTTYPE; } public void setupLoadContentType (String uPLOPLONTENTTYPE) {this.uploadContentType = uPLOPLONTENTTYPE; } public String getUploadFilEName () {return uPLOPLeFilename; } public void setupLoadFilename (String uPLOPLeName) {this.uploadfilename = uPLOPLFILENAME; } /* public string getSavePath () {// servletContext cxt = servletActionContext.getServletContext (); // String Path = cxt.getRealPath ("/"); // O caminho é: http: // localhost: 8080/sc // Após o upload, torna-se e: /software/apache-tomcat-6.0.45/webapps/sc return savepath; } public void setSavePath (String savePath) {//e:/software/apache-tomcat-6.0.45/webapps/sc/myupload this.savePath = servletActionContext.getServletContext (). }*/public string Execute () lança ioexception {System.out.println (title); // title System.out.println (uploadContentType); // Tipo de arquivo do arquivo a ser upload system.out.println (uploadFilename); String realpath = servletActionContext.getServletContext (). GetRealPath ("/"); String Path = RealPath+"myUpload/"+uPLOPLFILENAME; System.out.println (RealPath); System.out.println (caminho); FileInputStream fis = new FileInputStream (upload); FileOutputStream fos = new FileOutputStream (caminho); byte [] bytes = novo byte [1024]; // define uma matriz de bytes de 1024 tamanho int len = -1; // costumam ser usados como bits de sinalização enquanto (len = fis.read (bytes))> 0) {fos.Write (bytes, 0, len); } retornar nulo; }}(5) Escrita de páginas JSP
<%@ página contentType = "text/html; charset = utf-8"%> <!-ENCTYPE = "Multipart/form-dados", esta é a configuração mais importante-> <formato de ação = "myupload.action" typType = "multipart/form-data" Method = "post>"> norma <arquivo <input "<input" typenpe = "multipart/form-data" "/" post "> arquivo <arquivo <input" <input "em <btype =" multipart/form-data ""/"post>"> norma <arquivo <input "<input) type = "file" name = "upload"/> <br/> <input type = "submit" value = "upload"/> </morm>
Após este resumo, sinto que o upload de um único arquivo na estrutura do Struts2 ainda é muito simples. Basta armazenar o endereço e escrevê -lo nesse endereço através do fluxo de entrada e saída. Durante a maior parte do trabalho, o Struts2 fez isso por nós.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.