<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ein Karlsruher Bloggt! &#187; Java-Applet</title>
	<atom:link href="http://blog.mynotiz.de/tag/java-applet/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mynotiz.de</link>
	<description>Java, PHP und alles rund ums Thema Informatik</description>
	<lastBuildDate>Thu, 26 Jan 2012 11:22:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Java Applet signieren und lauffähig machen</title>
		<link>http://blog.mynotiz.de/programmieren/java-applets-signieren-und-lauffahig-machen-605/</link>
		<comments>http://blog.mynotiz.de/programmieren/java-applets-signieren-und-lauffahig-machen-605/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 17:56:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Applet signieren]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java-Applet]]></category>
		<category><![CDATA[Java-Applet Dateizugriff]]></category>

		<guid isPermaLink="false">http://blog.mynotiz.de/?p=605</guid>
		<description><![CDATA[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. [...]
Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-quellcode-in-html-konvertieren-271/' rel='bookmark' title='Java Quellcode in HTML konvertieren'>Java Quellcode in HTML konvertieren</a> <small>So, da ich öfters Java Quellcode hier veröffentliche wollte ich...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-regular-expression-tester-469/' rel='bookmark' title='Java Regular Expression Tester'>Java Regular Expression Tester</a> <small>Hi Leute, nach relativ kurzer Entwicklungszeit habe ich nun mein...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-messagedialog-messagebox-242/' rel='bookmark' title='Java MessageDialog / Messagebox'>Java MessageDialog / Messagebox</a> <small>Wenn man Grafische Benutzer Oberflächen kurz GUIs in Java realisieren...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<h2>Einleitung</h2>
<p>Ich arbeite momentan an einem Imagehoster Skript mit Multi-Uploader, um gleichzeitig mehrere Bilder auf einen Schlag hochzuladen. Den Multi-Uploader habe ich mittels <strong>Java </strong>realisiert und soll als <strong>Applet</strong> 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</p>
<ul>
<li>kompilierte Klassen (*.class &#8211; Dateien)</li>
<li>externe Bibliotheken (JARs)</li>
</ul>
<p>archiviert und daraus ein Applet erstellt. Die Ordnerstruktur unseres Beispiel-Applets sieht wie folgt aus:<br />
<div class="wp-caption alignnone" style="width: 213px"><img title="Ordnerstruktur Projekt des Java-Applets" src="/bilder/javaApplet/ordnerstruktur_java_applet.gif" alt="Ordnerstruktur Projekt des Java-Applets" width="203" height="146" /><p class="wp-caption-text">Ordner des Java-Applets</p></div></p>
<h2>Archive entpacken</h2>
<p>Das <strong>Jar-Archiv</strong> <em>mysql-connector-java-5.1.7-bin.jar</em> wird für die Verbindung zu einer Datenbank benötigt. Ebenso das Bild <em>pic.gif</em> 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 <em>mysql-connector-java-5.1.7-bin.jar</em> entpacken. Dies können wir über ein normales Packprogramm wie zum Beispiel <a href="http://www.7-zip.org/">7-Zip</a> oder <a href="http://www.winrar.de">Winrar</a> entpacken.<br />
<div class="wp-caption alignnone" style="width: 405px"><img title="Jar-Archiv extrahieren" src="/bilder/javaApplet/extract_here_java_applet.gif" alt="Jar-Archiv extrahieren" width="395" height="297" /><p class="wp-caption-text">Jar-Archiv extrahieren</p></div></p>
<p>Eine andere Möglichkeit bietet uns ein Hilfsprogramm der Java Umgebung. Dazu gehen wir in die Konsole (Unter Windows Start-&gt;Ausführen-&gt;CMD) und geben folgenden Befehl ein</p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">jar xf mysql-connector-java-5.1.7-bin.jar</div>
<p>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 <em>jdkx.x.x_xx\bin\</em>. Für Windows unter <em>C:\Programme\Java\jdkx.x.x_xx\bin\</em> und für Vista unter <em>C:\Progam Files\Java\ jdkx.x.x_xx\bin\</em>. Wie man nun sieht, wurden weitere Ordner erstellt:  <em>com</em>, <em>META-INF</em> und <em>org</em>.<br />
<div class="wp-caption alignnone" style="width: 198px"><em><img title="Ordner des Java-Applets" src="/bilder/javaApplet/ordnerstruktur_java_applet_2.gif" alt="Ordner des Java-Applets" width="188" height="192" /></em><p class="wp-caption-text">Ordner des Java-Applets</p></div></p>
<p>Die Ordner <em>com</em> und <em>org</em> enthalten weitere Unterordner mit den jeweiligen Klassen des Mysql-Connectors.</p>
<h2>Jar-Archiv erstellen</h2>
<p>Jetzt haben wir alle Vorkehrungen getroffen um das Projekt zu einem Jar-Archiv zusammenzufassen. Mit dem folgenden Befehl in der Konsole <strong>erzeugen</strong> wir ein <strong>Jar-Archiv</strong>:</p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">jar -cfv JavaApplet.jar database.class start.class pic.gif com META-INF org</div>
<p>Der Befehl ist wie folgt aufgebaut:</p>
<ul>
<li><strong>jar</strong> ist der Befehl zum erzeugen eines Jar-Archiv</li>
<li><strong>-cfv</strong> &#8211;&gt; <strong>c</strong> == Jar-Archiv erstellen <strong>f</strong> == Jar-Achriv Name <strong>v</strong> == Debugausgabe</li>
<li>JavaApplet.jar &#8211;&gt; ist der Name des Jar-Archives welches erstellt werden soll</li>
<li>die weiteren Parameter sind die Klassen und Ordner(in denen sich Klassen befinden) welche man zum Jar-Archiv hinzufügen will</li>
</ul>
<h2>Applet einbinden</h2>
<p>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:</p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;JavaApplet&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
Hier kann man noch was angegeben usw.&lt;br&gt;<br />
&lt;applet code=&#8221;start.class&#8221; archive=&#8221;JavaApplet.jar&#8221; width=800 height=800&gt;<br />
Oops! Geht nicht mit diesem Browser.<br />
&lt;/applet&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</div>
<p>Uns interessiert nur die Zeile, mit dem Applet-Tag. Der Parameter <strong>code</strong> gibt die <strong>Main-Class</strong> an. <strong>Archive</strong> ist das Archive, welches wir uns gerade angelegt haben.</p>
<div style="margin: 5px 10px 15px 15px;"></div>
<p>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 -&gt; Java Console. Falls ihr diesee nicht findet, dann könnt ihr unter <a href="http://go.raidrush.ws/?https://addons.mozilla.org/en-US/firefox/addon/5403" target="_blank">Java-Console</a> diese herunterladen) an.<br />
<div class="wp-caption alignnone" style="width: 614px"><img title="Java Konsole" src="/bilder/javaApplet/javaConsole.jpg" alt="Java Konsole" width="604" height="463" /><p class="wp-caption-text">Java Konsole</p></div></p>
<h2>Archiv signieren</h2>
<p>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.<br />
Hierzu müssen wir als erstes ein Zertifikat erstellen. Diese können wir mit folgendem Befehl erzeugen:</p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">keytool -genkey -validity 365 -keyalg rsa -alias meinSchluessel</div>
<p>Der Parameter -validity 365 gibt an, wie lange das Zertifikat gültig ist. Dieser wird in Tagen angegeben.<br />
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.<br />
Danach exportiert man diese Werte mit folgendem Befehl in ein Zertifikat: </p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">keytool -export -alias meinSchluessel -file meinZerti.crt</div>
<p>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:</p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">jarsigner JavaApplet.jar meinSchluessel</div>
<p>Um die Signierung zu überprüfen, lässt sich der jarsigner mit veränderten Parametern verwenden:</p>
<div align="left" class="java" style="border: 1px dotted black; padding: 5px; background-color: #EBEBEB;">jarsigner -verify -verbose -certs JavaApplet.jar</div>
<p>Es kann passieren, dass während des signieren des Archives folgende Fehlermeldung auftritt:<br />
jarsigner: attempt to rename JavaApplet.jar to JavaApplet.jar.orig failed</p>
<p>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.<br />
Falls es doch nicht geht, dann sollte man noch mal in der Java-Console nachschauen, ob es irgendeine Exception gibt.</p>
<h2>Danksagung</h2>
<p>Vielen Dank an<em> </em><strong>harry1526 </strong>aus dem<a href="http://board.raidrush.ws" target="_blank"> RaidRush Forum</a>, der mir das Tutorial frei zur Verfügung gestellt hat.</p>
<p>Hier noch der Originalpost: <a href="http://board.raidrush.ws/showthread.php?t=554481" target="_blank">http://board.raidrush.ws/showthread.php?t=554481</a></p>
<div class="bottomcontainerBox" style="">
			<div style="float:left; width:140px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.mynotiz.de%2Fprogrammieren%2Fjava-applets-signieren-und-lauffahig-machen-605%2F&amp;layout=button_count&amp;show_faces=false&amp;width=140&amp;action=like&amp;font=verdana&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width=140px; height:21px;" allowTransparency="true"></iframe></div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<g:plusone size="medium" href="http://blog.mynotiz.de/programmieren/java-applets-signieren-und-lauffahig-machen-605/"></g:plusone>
			</div>
			<div style="float:left; width:85px;padding-right:10px; margin:4px 4px 4px 4px;height:30px;">
			<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://blog.mynotiz.de/programmieren/java-applets-signieren-und-lauffahig-machen-605/"  data-text="Java Applet signieren und lauffähig machen" data-count="horizontal">Tweet</a>
			</div>			
			</div><div style="clear:both"></div><div style="padding-bottom:4px;"></div><p>Ähnliche Beiträge:<ol>
<li><a href='http://blog.mynotiz.de/programmieren/java-quellcode-in-html-konvertieren-271/' rel='bookmark' title='Java Quellcode in HTML konvertieren'>Java Quellcode in HTML konvertieren</a> <small>So, da ich öfters Java Quellcode hier veröffentliche wollte ich...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-regular-expression-tester-469/' rel='bookmark' title='Java Regular Expression Tester'>Java Regular Expression Tester</a> <small>Hi Leute, nach relativ kurzer Entwicklungszeit habe ich nun mein...</small></li>
<li><a href='http://blog.mynotiz.de/programmieren/java-messagedialog-messagebox-242/' rel='bookmark' title='Java MessageDialog / Messagebox'>Java MessageDialog / Messagebox</a> <small>Wenn man Grafische Benutzer Oberflächen kurz GUIs in Java realisieren...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.mynotiz.de/programmieren/java-applets-signieren-und-lauffahig-machen-605/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

