Frohe Weihnachten und einen Guten Rutsch
Seit längerem schon habe ich wegen meines Studiums, welches ich Anfang Oktober in Karlsruhe begonnen habe, keine Zeit und/oder Lust gehabt neue Artikel zu veröffentlichen. Jedoch werde ich in nächster Zeit wieder mehr schreiben. Gerade bezüglich JAVA oder der Informatik.
Allen den ich mit meinen Artikeln helfen konnte und natürlich auch allen anderen Lesern, einen frohe Weihnachten und einen Guten Rutsch!
Kostenlose Icons
Kennt ihr das. Ihr arbeitet an einem Projekt und wollt es mit ein paar Icons aufpeppen. Oftmals findet ihr aber keine Passenden. Dafür gibt es eine Lösung.
http://www.iconfinder.net bietet eine simple Suchfunktion. Anschließend gelangt man über die Treffer auch zu den Icon-Sets des jeweiligen Icons. Sehr praktisch wie ich finde. Achtet beim verwenden der Icons oder Sets auf die Lizenz. Nicht alle dürft ihr für komerzielle Zwecke oder ohne vorher zu Fragen benutzen.
Weitere tolle Icons stellt uns schon seit längerer Zeit famfamfam.com. Verwendet werden können 3 Iconsets. Das bekannteste Set ist Silk Icons.
Hier gelangt ihr zur Downloadseite der FamFamFam Icons.
Und hier gibts noch mehr kostenlose Icons.
PHP Dateigröße & MimeType einer externen Datei ermitteln
Um einen RemoteUpload, für zum Beispiel einen ImageHoster, zu realisieren ist es sinnvoll, bevor man die Datei auf seinen Server oder seinen Webspace herunterladet, zu überprüfen wie groß die Datei ist und welchen MimeType man diese hat. Folgende Funktion ermöglicht es euch dies zu tun. Es werden lediglich die Header-Informationen der Datei ausgelesen, somit muss das Skript nicht die ganze Datei laden.
Funktion
Hier könnt ihr euch die Funktion http_test_existance herunterladen.
Aufruf
$url = “http://www.google.de/intl/de_de/images/logo.gif”;
$fileinfo = http_test_existance($url);
// MimeType
$fileinfo['content-type'];
// FileSize
$fileinfo['content-length'];
?>
Achtet darauf falls ihr einen RemoteUpload realisiert nach dem herunterladen der Datei nochmals auf den MimeType und die Dateigröße zu überprüfen. Der Http-Header könnte möglicherweise manipuliert sein.
Piratenpartei check von SemperVideo
Gestern Abend bin ich über das Nachrichtenportal wikio.de auf ein Video zur Bundestagswahl 2009 über die Piratenpartei gestoßen. Erstellt wurde das Video von SemperVideo.de und fasst die wichtigsten Punkte der Partei zusammen.
SemperVideo – Parteien zur Bundestagswahl 2009 – Piratenpartei Teil 1
SemperVideo – Parteien zur Bundestagswahl 2009 – Piratenpartei Teil 2
Auch andere Parteien wurden unter die Lupe genommen.
SemperVideo – Wieso man Piraten wählen sollte
Sehr interessante Videos, einfach mal anschauen.
Java Applet signieren und lauffähig machen
Einleitung
Ich arbeite momentan an einem Imagehoster Skript mit Multi-Uploader, um gleichzeitig mehrere Bilder auf einen Schlag hochzuladen. Den Multi-Uploader habe ich mittels Java realisiert und soll als Applet in die Webseite eingebunden werden. Anfangs hatte ich jedoch einige Probleme beim erstellen des Applets. Ein Tutorial aus dem RaidRush Forum hat mir dabei sehr geholfen. Im folgenden Artikel wird beschrieben wie man
- kompilierte Klassen (*.class – Dateien)
- externe Bibliotheken (JARs)
archiviert und daraus ein Applet erstellt. Die Ordnerstruktur unseres Beispiel-Applets sieht wie folgt aus:

Ordner des Java-Applets
Archive entpacken
Das Jar-Archiv mysql-connector-java-5.1.7-bin.jar wird für die Verbindung zu einer Datenbank benötigt. Ebenso das Bild pic.gif im Applet verwendet. Nun wollen wir alle Dateien zu einen Archiv zusammenfügen. Bevor wir jedoch das eigentliche Jar-Archiv erstellen können, müssen wir zuvor erstmal das Archiv mysql-connector-java-5.1.7-bin.jar entpacken. Dies können wir über ein normales Packprogramm wie zum Beispiel 7-Zip oder Winrar entpacken.

Jar-Archiv extrahieren
Eine andere Möglichkeit bietet uns ein Hilfsprogramm der Java Umgebung. Dazu gehen wir in die Konsole (Unter Windows Start->Ausführen->CMD) und geben folgenden Befehl ein
Falls ihr den Hinweis bekommt, dass Windows diesen Befehl nicht kennt, dann müsst ihr den vollen Pfad angeben oder den JAVA-Pfad zu den Umgebungsvariablen hinzufügen. Die Java-Tools befinden sich normalerweise im Ordner jdkx.x.x_xx\bin\. Für Windows unter C:\Programme\Java\jdkx.x.x_xx\bin\ und für Vista unter C:\Progam Files\Java\ jdkx.x.x_xx\bin\. Wie man nun sieht, wurden weitere Ordner erstellt: com, META-INF und org.

Ordner des Java-Applets
Die Ordner com und org enthalten weitere Unterordner mit den jeweiligen Klassen des Mysql-Connectors.
Jar-Archiv erstellen
Jetzt haben wir alle Vorkehrungen getroffen um das Projekt zu einem Jar-Archiv zusammenzufassen. Mit dem folgenden Befehl in der Konsole erzeugen wir ein Jar-Archiv:
Der Befehl ist wie folgt aufgebaut:
- jar ist der Befehl zum erzeugen eines Jar-Archiv
- -cfv –> c == Jar-Archiv erstellen f == Jar-Achriv Name v == Debugausgabe
- JavaApplet.jar –> ist der Name des Jar-Archives welches erstellt werden soll
- die weiteren Parameter sind die Klassen und Ordner(in denen sich Klassen befinden) welche man zum Jar-Archiv hinzufügen will
Applet einbinden
Damit wäre die erste Aufgabe erledigt. Nun können wir das Applet testen. Wir legen uns dazu eine Html-Datei an. Diese enthält folgenden Inhalt:
<head>
<title>JavaApplet</title>
</head>
<body>
Hier kann man noch was angegeben usw.<br>
<applet code=”start.class” archive=”JavaApplet.jar” width=800 height=800>
Oops! Geht nicht mit diesem Browser.
</applet>
</body>
</html>
Uns interessiert nur die Zeile, mit dem Applet-Tag. Der Parameter code gibt die Main-Class an. Archive ist das Archive, welches wir uns gerade angelegt haben.
Nun können wir die HTML-Datei öffnen und wie man sieht es „funktioniert“. Aber der Schein trügt. Denn wenn wir unsere Interaktion auslösen wollen, dann bekommen wir nichts angezeigt. Schauen wir uns mal den Output der Java-Console (im Firefox unter Extra -> Java Console. Falls ihr diesee nicht findet, dann könnt ihr unter Java-Console diese herunterladen) an.

Java Konsole
Archiv signieren
In der ersten Zeile wird uns schon alles gesagt. Das Applet wird nicht richtig ausgeführt, da es nicht signiert worden ist und gegen die Sicherheitsrichtlinien verstößt. Aus diesem Grund müssen wir dies noch machen.
Hierzu müssen wir als erstes ein Zertifikat erstellen. Diese können wir mit folgendem Befehl erzeugen:
Der Parameter -validity 365 gibt an, wie lange das Zertifikat gültig ist. Dieser wird in Tagen angegeben.
Beim Ausführen des Befehls wird man nach verschiedenen Sachen gefragt, wie zum Beispiel Name, Organisation, Herkunftsland und weitere. Diese werden dann später, wenn das Aplett ausgeführt wird, angezeigt.
Danach exportiert man diese Werte mit folgendem Befehl in ein Zertifikat:
Das hat den Vorteil, wenn man mehrere Jar-Archive mit dem gleichen Zertifikat signieren möchte. Anschließend kann man das Jar-Archiv mit folgendem Befehl signieren:
Um die Signierung zu überprüfen, lässt sich der jarsigner mit veränderten Parametern verwenden:
Es kann passieren, dass während des signieren des Archives folgende Fehlermeldung auftritt:
jarsigner: attempt to rename JavaApplet.jar to JavaApplet.jar.orig failed
Dies bedeutet, dass das Archiv von irgendeinem Prozess noch verwendet wird. Meistens hilft es, den Firefox zu schließen. Nun können wir das Applet erneut starten. Es kommt eine Meldung welchen den User fragt, ob er das Applet ausgeführt werden darf. Wenn alles richtig gemacht worden ist, müssten auch alle Interaktionen ausgeführt werden.
Falls es doch nicht geht, dann sollte man noch mal in der Java-Console nachschauen, ob es irgendeine Exception gibt.
Danksagung
Vielen Dank an harry1526 aus dem RaidRush Forum, der mir das Tutorial frei zur Verfügung gestellt hat.
Hier noch der Originalpost: http://board.raidrush.ws/showthread.php?t=554481
Ein Karlsruher Bloggt!