servlet - fil sender

, en servlet kan anvendes sammen med en html form mærke, at brugerne til at uploade dokumenter til server.en uploadet fil kan være en tekstfil eller image fil eller ethvert andet dokument, som skaber en fil. uploade form:,, følgende htm kode under skaber en uploaderen form.følgende er de vigtigste punkter, man skal være opmærksom på:,,, form og metode, tilskriver bør fastsættes til post, metode og få metode kan ikke anvendes.,,, form, enctype, tilskriver bør fastsættes til flere dele /form af data,.,,, form, handling, attribut der bør fastsættes en servlet fil, der ville klare fil sender på backend server.følgende eksempel bruger, uploadservlet, servlet at uploade filen.,,, at uploade en enkelt fil, du skal bruge et enkelt < input - /> tagfat med attribut type = "journal".at tillade flere filer uploader, omfatter mere end én input mærkater med forskellige værdier for navn attribut.The browser associates a Browse button with each of them.,, , <html> <head> <title>File Uploading Form</title> </head> <body> <h3>File Upload:</h3> Select a file to upload: <br /> <form action="UploadServlet" method="post" enctype="multipart/form-data"> <input type="file" name="file" size="50" /> <br /> <input type="submit" value="Upload File" /> </form> </body> </html> ,This will display following result which would allow to select a file from local PC and when user would click at "Upload File", form would be submitted along with the selected file:, , ,File Upload:, Select a file to upload: , , , , , NOTE: This er bare dumme form og ikke vil fungere.- skriver backend servlet: efter er servlet, uploadservlet, som skulle tage sig af at acceptere uploadet fil og opbevarer den i registret < hankat anlæg adresseregister > /webapps /data.denne fortegnelse kan også tilsættes ved hjælp af en ekstern konfiguration, som f.eks. en kontekst, param element i web.xml som følger:, < web - app >...< sammenhæng param > < beskrivelse > placering opbevarer uploadet fil < /beskrivelse > < param navn > fil uploade < /param navn > < param værdi > c) apache-tomcat-5.5.29. webapps. data. < /param værdi > < /forbindelse param >...< /web - app >,, som er kildekoden til uploadservlet, der kan klare flere fil sender på et tidspunkt.før procedding du sørge for, at de således:,,, som for eksempel afhænger af fileupload, så vær sikker på, at du har den seneste version af, commons-fileupload.x.x.jar, fil i din classpath.du kan downloade fra http: //commons. apache. org /fileupload /.,,, fileupload afhænger af underhuset io, så vær sikker på, at du har den seneste version af, commons-io-x.x.jar, fil i din classpath.du kan downloade fra http: //commons. apache. org /io /.,,, mens testning efter eksempel, bør du uploade filen, der er mindre størrelse end maxfilesize, ellers ikke ville blive uploadet fil.,,, du har skabt telefonbøger c:), temperatur og c: apache-tomcat-5.5.29. det webapps. oplysninger i god tid i forvejen,.,,, //import, der kræves i java biblioteker import java. io. *; import java. util. *; import javax.servlet.servletconfig; import javax.servlet.servletexception; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import org.apache.commons.fileupload.fileitem; import org.apache.commons.fileupload.fileuploadexception; import org.apache.commons.fileupload.disk.diskfileitemfarbejde og børnepasning; import org.apache.commons.fileupload.servlet.servletfileupload; import org. apache. underhuset. io. produktionen. *; offentlige klasse uploadservlet udvider httpservlet (private boolean ismultipart; private snor filepath; private int maxfilesize = 50 * 1024; private int maxmemsize = 4 * 1024; private fil fil offentlige tomrum lokalitet () (//- fil placering hvor ville det være oplagret.filepath = getservletcontext(). getinitparameter ("fil upload");} offentlige tomrum dopost (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, java.io.ioexception (//se, at vi har en sag at uploade anmodning ismultipart = servletfileupload. ismultipartcontent (anmodning), svar. setcontenttype ("tekst /html"); java.io.printwriter ud = respons. getwriter (); hvis (!ismultipart) {ud. println (< html > "). println (< head >"). println (< afsnit > servlet uploade < /afsnit > "). println (" < /head > "). println (< krop >"). println (< p > ingen oplysninger uploadet < /p > "). println (< /organ >"). println (< /html > "); tilbage;} diskfileitemfactory fabrik = nye diskfileitemfactory(); //maksimale størrelse, som vil blive opbevaret i erindring - fabrikken. setsizethreshold (maxmemsize); //placering for at redde de data, der er større end maxmemsize.fabrik. setrepository (ny database ("c: ¶ ¶ vikar"); //skabe en ny fil. kontaktperson servletfileupload uploade = nye servletfileupload (fabrik); //maksimale fil størrelse til at blive uploadet.upload. setsizemax (maxfilesize); prøve (//analysere den anmodning om at få sagen poster.liste fileitems = upload. parserequest (anmodning); //proces uploadet fil poster iterator i = fileitems. iterator();. println (< html > "). println (< head >"). println (< afsnit > servlet uploade < /afsnit > "). println (< /head >"). println (< krop > "), mens (i.hasnext ()) (fileitem fi = (fileitem). next(); hvis (!fi.isformfield () (//bliver uploadet fil parametre snor fieldname = fi. getfieldname(); snor filnavn = fi. getname(); snor contenttype = fi. getcontenttype(); boolean isinmemory = fi. isinmemory(); lange sizeinbytes = fi. getsize(); //skrive den fil, hvis (filnavn. lastindexof (". ("), og gt = 0) (file = nye fil (filepath + filnavn. substring (filnavn. lastindexof (").")))) andet (file = nye fil (filepath + filnavn. substring (filnavn. lastindexof (").") + 1)} fi. skrive (fil);. println ("uploadet filnavn:" + filnavn+ "< br >")). println (< /organ > "). println (< /html >");} fangst (undtagen ex) (system. println (ex)}} offentlige eller doget (httpservletrequest anmodning, httpservletresponse respons) kaster servletexception, java.io.ioexception {kaste nyt servletexception ("- metode, der anvendes til" + getclass (). getname () + ": efter metode påkrævet.");}}, samle og løbende servlet: udarbejde over servlet uploadservlet og skabe kræves optagelse i web.xml fil ændringer. < servlet > < servlet navn > uploadservlet < /servlet navn > < servlet klasse > uploadservlet < /servlet klasse > < /servlet > < servlet kortlægning > < servlet navn > uploadservlet < /servlet navn > < url - > /uploadservlet < /url - > < /servlet kortlægning >, prøv nu at overføre filer ved hjælp af: form, som du har skabt.da du ville prøve http: //localhost: 8080 /uploadfile.htm, det ville vise følgende resultat, som vil hjælpe dig med at uploade en fil fra dine lokale maskine.,, fil uploade:,, at vælge en fil at uploade:,,, hvis du servelt manuskript fungerer fint, din fil skal uploades i c: apache-tomcat-5.5.29. det webapps. data. fortegnelse.



Previous:
Next Page: