90 likes | 222 Views
Apache Commons. Erik Mohn. Om Commons?. Prosjekt gjennomført av: Apache Software Foundation Skal gjøre tilgjengelig gjennbrukbare open source komponenter for Java Komponentene skal være uavhengige av andre prosjekter, og yter hver sine små men nyttige tjenester .
E N D
Apache Commons Erik Mohn
Om Commons? • Prosjekt gjennomført av: Apache Software Foundation • Skal gjøre tilgjengelig gjennbrukbare open source komponenter for Java • Komponentene skal være uavhengige av andre prosjekter, og yter hver sine små men nyttige tjenester. • Prosjektene skal være lett gjennbrukbare • Startet med loggingutviklet til Struts • Delt inn i 3 deler • Proper • Sandbox • Dormant
Commons Proper • Gjennbrukbare komponenter tilgjengelig for alle som ønsker å benytte seg av dem. • Fortsatt under utvikling • Består av 35 prosjekter som hver for seg har sitt bruksområde • Noen av prosjektene: • Betwixt – Tjeneste for mapping tilogfra XML • Codec – Gjenerelle algoritmer for encoding/decoding (phonetic, base64) • Collections/Lang/Math –Utvidelseavjava.collections/lang/math • Dbutils –JDBS hjelpe bibliotek • Email –Byggd på java.mail for å gjøre sending av epost lettere • FileUpload –Gjøre filopplastning fra web-applikasjoner lettere • Net –Implementasjon av en rekke nettverksprotokoller • Validator –Rammeverk for å definere valederings regler for en XML fil
Commons Sandbox • Arbeidsbenk for utvikling av nye tjenester • Fritt tilgjengelig for alle som ønsker å delta • Målet for tjenestene er å etter hvert nå Commons Proper • Består nå av 14 prosjekter Noen prosjekter Compress –Grensesnitt for arbeid med tar,zip,bzip2 CSV –Komponent for å arbeide med CVS filer
Commons Dormant • Elementer fra Commons Sandbox som etter liten utviklingsaktivitet har endt opp i denne delen av Commons
Email Eksempel import org.apache.commons.mail.SimpleEmail; import javax.mail.*; SimpleEmailepost= new SimpleEmail(); epost.setHostName("mail.SMTPSERVER.com"); epost.addTo(“ola@normann.no", “Ola Normann"); epost.setFrom(“kari@normann.no", “Kari Normann"); epost.setSubject(“Epostfra Kari"); epost.setMsg("Loremipsum dolor sit amet, consectetueradipiscing"); epost.send();
FileUpload Eksempel <HTML> <HEAD> <script type="text/javascript"> varnumFiles =1; function leggTilElement() { numFiles++; varni = document.getElementById('minDiv'); varnewdiv = document.createElement('div'); newdiv.innerHTML = '<p> Fil '+numFiles+': <input type=\'file\' name=\''+numFiles+'file\' \' /></p> '; ni.appendChild(newdiv); } </script> </HEAD> <BODY> Last opp filer <FORM name="filer" action="fileupload.jsp" method="post" enctype="multipart/form-data"> <p>Fil 1: <input type="file" name="file" id ="file1" /> <a href="javascript:;" onClick="leggTilElement();">Legg tilflere filer</a></p> <div id="minDiv"> </div> <input type="submit" name="Submit" value="Last opp!"/> </FORM> </BODY> </HTML>
FileUpload Eksempel <%@ page contentType="text/html;charset=windows-1252"%> <%@ page import="org.apache.commons.fileupload.*, java.util.List, java.util.Iterator, java.io.File"%> <html> <% DiskFileUpload f = new DiskFileUpload(); f.setSizeMax(1000000); List filListe = f.parseRequest(request); Iteratori = filListe.iterator(); while(i.hasNext()) { FileItemfilen = (FileItem)i.next(); //Kontrollereromfilenfaktiskerlastetoppelleromdethenvisestil en FormField if(!filen.isFormField()) { File nyFil= new File(getServletContext().getRealPath("/upload/"), filen.getName()); filen.write(nyFil); } } %> <body>Filene erlastetopp!</body> </html>
Vurdering • Pluss • Mange gode værktøy for å gjnnomføre kjente opperasjoner • Noen er veldig enkle å ta i bruk • Lett tilgjengelig • Minus • Dårlig eller ingen dokumentasjon Spørsmål?