Feed on
Posts
Comments

Heute eine kleine Befehlsreferenz, wie man mit Hilfe von Maven ein Projectsetup machen kann um mit Hilfe von Eclipse und Tomcat 5.5 ein JSP-Projekt zu realisieren.

Um Maven zu installieren konsultiert man am besten die offiziele Website! Ist für geübte Java-Leute kein Problem!

Erstellen des Projektes mit Maven

1. Öffne die Konsole und gehe zu dem Dateipfad, wo dein Projekt erstellt werden soll.
z.B: cd c:\workspace

2. gib folgenden Befehl ein:
mvn archetype:create
-DarchetypeGroupId=org.apache.maven.archetypes
-DarchetypeArtifactId=maven-archetype-webapp
-DgroupId=com.mycompany.app
-DartifactId=my-webapp

Die Attribute -DgroupId und -DartifactId können natürlich beliebig angepasst werden! Aufmerksame Benutzer haben gemerkt, dass Maven am Ende einen Ordner mit dem Namen my-webapp in dem aktuellen Verzeichnis erstellt. Dies ist bereits die gesamte Struktur für die Webapplikation.

Aus der gegebenen Struktur ein Eclipse-Projekt erstellen

Nachdem wir nun die Ordnerstruktur erstellt haben, müssen wir daraus ein EclipseProjekt machen. Dazu gehen wir auf der Konsole in den Ordner my-webapp und geben folgenden Befehl ein:
mvn eclipse:eclipse
Dieses Projekt lässt sich jetzt wie gewöhnlich in Eclipse importieren.

Modifikation von pom.xml um mit Tomcat 5.5. zusammenzuarbeiten

Damit unser Maven-Projekt die Installation von unserem Tomcat kennt, müssen wir im pom.xml-File eine kleine Änderung vornehmen.

Unter dem Eintrag <build> muss folgendes hinzugefügt werden:

1
2
3
4
5
6
7
8
9
10
11
12
<build>
  <finalname>meine-Webapp</finalname>
<plugins>
<plugin>
      <groupid>org.codehaus.mojo</groupid>
      <artifactid>tomcat-maven-plugin</artifactid>
      <configuration>
        <url>http://localhost:9090/manager</url>
      </configuration>
    </plugin>
  </plugins>
</build>

Der Pfad unter <url> muss natürlich dementsprechend angepasst werden.

Starten von Tomcat mit Hilfe von Maven

Der Befehl zum Starten unseres Tomcats lautet:
mvn tomcat:run
Deployen des Webprojektes auf Tomcat

Der Befehl für den Deploy lautet
mvn tomcat:deploy
Viel Spass damit

Für einmal eine persönliche Anekdote aus meinem Leben. Ein Zufall wie es das Leben schrieb. Jeder in der Schweiz hat wohl gemerkt, dass es definitiv gegen den Winter zugeht und wie es so üblich ist muss man zu Beginn der Winterjahreszeit/Mitte Herbst die Spuren des Sommers aufräumen. So wollte es das Schicksal, dass ich letzten Sonntag die Gartenmöbel in der Garage verstauen sollte.

Trotz dieser guten Absicht sollte ich bitter bestraft werden. Nach getaner Arbeit wollte ich durch den Garten zurück zu dem Hauseingang laufen. Wie es aber im Leben so oft der Fall ist, achtete ich nicht auf den Weg und übersah etwas Verehrendes! Ein Tier – wahrscheinlich eine Katze – hatte genau auf meinem Pfad zu der Eingangstüre ein Geschenk platziert. Was womöglich als freundlicher Gratisdünger gemeint war, wurde mir zum „tödlichen“ Verhängnis! Ein Berg von unflüssigem EXKREMENT! Wie ich also so über den Rasen lief - nichts böses Ahnend – setzte ich meinen Fuss in den „Output“ von diesem doch so sympathischen Tier. -> Schockreaktion vom Hirn -> Muskelzucken -> Misstritt! -> Schmerzen! -> extreme Schmerzen!!

Resultat: Bänder am linken Fuss angerissen! Jetzt darf ich zum Dank zwei Wochen meinen Fuss hochlagern und eine Binde tragen. Faszination: die extreme blaue Schwellung (siehe Bild). Darum liebe Blogleserinnen und Blogleser: Zieht Lehre aus meinem „Big-Mistake“ : IMMER AUF DEN WEG SCHAUEN!

Misstritt

Heute hatte ich das Problem, dass folgender EL-Ausdruck auf meinem Tomcat 5.5 nicht geparst wurde ${header.host}. Nach weiteren Nachforschungen stellte ich fest, dass gar kein EL-Ausdruck von Tomcat interpretiert wurde! Wie bekommt man EL erfolgreich mit Tomcat zu laufen?

  1. Kopiere jstl.jar und standard.jar in den Ordner %CATALINA_HOME%\common\lib
  2. Verwende in dem Deployment Descriptor folgender Starttag:
  3. 1
    2
    3
    4
    5
    6
    
    <web-app version="2.4">
             xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    </web-app>

JSP 2.0 CheatSheet

Hier ein kleines CheatSheet, welches heute entstanden ist, als ich mich mit dem Thema JSP auseinandersetzte. Wahrscheinlich noch nicht komplett, aber immerhin ein Anfang. Viel Spass :-)

Download JSP CheatSheet

Heute hatte ich das Vergnügen mich mit C# 2005 zu beschäftigen. Dazu benötigte ich eine Methode, welche mir eine zufällige Reihenfolge eines Zahlenintervall generiert und diese zurückgeben kann. Bedingung ist, dass jede Zahl aus dem Zahlenintervall genau einmal in der zurückgegebenen Resultats-Liste erscheint.

Bitte beachte, dass dies so eine Quick’n'Dirty Programmier Methode ist. Nicht optimal durchdacht für die Performanz.Es sollte aber für kleine Zahlenranges kein Problem darstellen. Naja vielleicht kann jemand davon Gebrauch machen. Viel Spass.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 public List generateRandomSequence(int start, int end)
 {
            List numbers = new List();
            Random rand = new Random();
 
            while (numbers.Count != end)
            {
                int x = rand.Next(start,end);
 
                if (!numbers.Contains(x))
                {
                    numbers.Add(x);
                }
            }
         return numbers;
}

Heute beschäftigte ich mich wiedereinmal mit dem Thema Linux und dazu wollte ich die neuste Ubuntu Version auf meinen Dell Laititude D620 installieren. Installation usw. kein Problem, jedoch der Grafiktreiber konnte nicht automatisch erkennt werden.Falsche Auflösung und falsche Farbtiefe. Wie kann man dieses Problem lösen?

Ganz einfach:

1. Öffne die Konsole und gib folgenden Befehl ein:
sudo apt-get install nvidia-glx-new
2. Man muss das xorg.config - File editieren. Gib dazu folgenden Befehl auf der Konsole ein:
sudo vi /etc/X11/xorg.conf
Für nicht so geübte Linuxler bietet sich auch sudo gedit /etc/X11/xorg.conf an

Bennene im xorg.config den Eintrag Driver “nv” in Driver “nvidia” um.Speichern, Ubuntu neustarten et voilà.

Hinweis: Sollte das ganze nicht funktionieren, so muss man zuerst noch nvidia-kernel-common installieren. Kann man via Synaptic machen..

In Vista hat sich der Aufbau des Windows Explorers etwas verändert. Eine tolle Funktion sind die sogenannten Linkfavoriten (auf Screenshot rot umrandet).Standardmässig sind bereits einige Linkfavoriten vorhanden, jedoch wie kann ich selber solche Linkfavoriten erstellen?
Linkfavoriten

Das ganze geht im Prinzip sehr einfach:

1. Man klickt mit der rechten Maustaste in den Linkfavoriten-Bereich

Linkfavoriten Ordner öffnen

2. In dem erscheinenden Menü wählt man Linkfavoritenordner öffnen

Es wird ein neuer Ordner geöffnet.

Linksfavoriten Ordner links

alles was wir jetzt machen müssen ist in diesen Ordner eine Verknüpfung zu erstellen, welche zu dem gewünschten Zielort zeigt.

Will ich also einen Link einfügen zu dem Ordner C:\Mein Testordner, so kopiere ich in den geöffneten Ordner eine Verknüpfung zu C:\Mein Testordner

Das ganze sieht dann wie folgt aus:

Links Ordner MeinTestOrdner

Der Link ist nun erfolgreich konfiguriert und erscheint in jedem Explorer Fenster, welches wir öffnen.

Da ich mich gerade auf eine Wepprogramming-Prüfung vorbereiten muss, hatte ich das Vergnügen mich mit JSON herumzuschlagen. Was ist JSON? JSON steht für JavaScript Object Notation und setzt JavaScript Konzepte für OO-Programmierer um. JSON lässt seinen Benutzern sehr viel Freiheit und ist durchaus eine gelungene Sache. Hier ein kleiner Überblick was JSON so alles zu Bieten hat.Hinweis: Hier gehts um eine Erweiterung von JavaScript, also muss man es auch wie JavaScript programmieren!

Erstes Beispiel:

1
2
3
4
5
6
7
8
Object myObject = new Object();
 
var firstBook = new Object();
firstBook.title = "Mein testtitel";
firstBook.author = "Dave Davenport";
 
myObject.books = new Array();
myObject.books[0] = firstBook;

so definiert man einfache Objekte mit JSON. Der Zugriff geht auch sehr einfach. Will man z.B. auf den Author von firstBook zugreifen, so macht man dies wie folgt: myObject.books[0].title

Komplexers Gebilde

1
2
3
4
5
var country  = {
   location: "Sidney",
   inhabitant: 34,
   populars: [ {name: "Hans Muster"}, {name: "Caroline Beispiel" }],
}

Mit diesem Gebilde wird die Komplexität und die Verschachtelungsmöglichkeiten von JSON schon etwas deutlicher. Will ich nun z.B. auf den Eintrag “Caroline Beispiel” zugreiffen, so kann ich dies wie folgt tun: country.populars[0].name

Funktionen

Wo Objekte im Spiel sind, braucht es natürlich auch Funktionen. JSON kennt hier zwei Möglichkeiten um Funktionen zu definieren.

Direkter Weg

1
2
3
4
5
6
var myObject = new Object();
 
myObject.testFunction=function()
{
   alert("Schuhgrösse");
}

Bei dieser Möglichkeit deklariert man die Funktion direkt für dieses Objekt.

Indirekter Weg

1
2
3
4
5
6
7
8
9
var myObject = new Object();
 
function meineTestFunction(name)
{
   alert(name + " stinkt!");
}
 
// ACHTUNG: Hier keine () !!!!!
myObject.meineTestFunction=meineTestFunction;

Macht man es so hat man den Vorteil, dass die einmal deklarierte Funktion noch weiteren Objekten übergeben werden kann.
Um eine Funktion aufzurufen verwendet man wie gewohnt myObject.meineTestFunction(„Reto“);

Konstruktor

Was wäre ein Objekt ohne Konstruktor?Genau, und darum gibt es auch bei JSON eine Art Konstruktor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function Employee(name, salary)
{
     this.name = name;
     this.salary = salary;
 
    // Man kann her sogar Funktionen definieren
    this.printSalary=function()
    {
         alert(this.name + " : " + this.salary);
    }
}
 
var HansKnopf = new Employee("Hans", 12);
HansKnopf.printSalary();

Macht man es so, hat es jedoch einen erheblichen Nachteil. Erstellen wir viele Objekte vom Typ Employee, so wird die Funktion printSalary() für jedes Objekt neu erstellt. Daher sollte man besser auf einen Prototyp ausweichen.

Mit dem Prototyp ist sichergestellt, dass die Funktion nur einmal deklariert wird:

1
2
3
4
5
6
7
8
9
10
11
12
13
function Employee(name, salary)
{
	this.name = name;
	this.salary = salary;
}
 
Employee.prototype.printSalary=function()
{
	alert(this.name + " : " + this.salary);
}
 
var HansKnopf = new Employee("Hans", 12);
HansKnopf.printSalary();

Eine Funktion von einem anderen Objekt aufrufen

Ganz interessant ist auch die folgende Möglichkeit:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function Cat(name)
{
	this.name = name;
 
	this.getName= function()
	{
		alert(this.name);
	}
}
 
function Dog(name)
{
	this.name = name;
}
 
myCat = new Cat("Bruno");
myDog = new Dog("Nino");
 
// Lade die Funktion von myCat temporär in eine Variable
var tmpFunc = myCat.getName;
 
// Übergib myDog der Funktion
tmpFunc.call(myDog);

Schlussendlich wird so “Nino” ausgeprintet und nicht etwa “Bruno”.

So ich hoffe, dass dieser kurzer Überblick etwas Aufschlussreich war. JSON ein Thema das sich durchaus lohnt! Auch im Zusammenhang mit AJAX. Viel Spass damit.

Ähnlich einfach wie unter Windows XP ist es, Windows Vista in eine Microsoft Windows 2003 Domäne zu integrieren. Man geht hier folgendermassen vor:

1. Man klickt mit der rechten Maustaste auf den Eintrag Computer, welcher sich im Menü Start befindet

Windows Vista Startmenü

2. In dem erscheinenden Menü wählt man Eigenschaften.

Windows Vista Systemsteuerung->System

3. In dem erscheinenden Fenster klickt man auf Einstellungen Ändern

Systemeigenschaften - Computername

4. In dem neu geöffneten Dialog wählt man ändern mit einem Mausklick an

Computername-bzw-Domänenänderung

5. In diesem Dialog selektiert man Domäne und gibt anschliessend den Domänennamen ein.

6. Anschliessend alle geöffneten Dialoge mit OK bestätigen, Rechner neustarten und sich an der Domäne anmelden

Ein Email von einem Freund hat mich dazu bewogen hier eine kleine Installationsanleitung für J2SE JDK auf Windows XP oder Windows Vista zu publizieren. Was bedeutet JDK? JDK steht für Java Development Kit. Es umfässt das ganze Framework, welches man braucht um Standard Java Applikationen zu kompilieren und auszuführen. Natürlich ist auch die Virtual Machine in dem Installer enthalten.

Was umfässt diese Installationsanleitung? Hier wird beschrieben wie man Java soweit installiert, dass die Standardbefehle wie z.B: javac auf der Konsole ausgeführt werden können. Nun zu der Anleitung:

  1. Man besucht die Website java.sun.com
  2. In der Kategorie downloads findet man einen Eintrag Java SE (JDK) 6 (Achtung: Die Versionsnummer kann variieren)
  3. Nach dem man Java SE (JDK) 6 selektiert hat, wird man zu einer detaillierteren Downloadsite weitergeleitet
  4. Hier klicken wir unter dem Eintrag JDK 6 Update 2 auf den Button Download (normalerweise der oberste Eintrag)
  5. Für die Installation wählen wir die Windows Offline Installation aus
  6. Anschliessend den Download normal ausführen.

nach dem downlaod kann man die Installation ausführen.

Folgender Dialog erscheint:

2.JPG

Wir klicken hier auf Accept und somit erscheint der nächste Dialog:

3.jpg

Hier lassen wir alle Einstellungen auf Standard. Achtung: Der Pfad, welcher unter Install to angegeben ist müssen wir uns merken.

Anschliessend schliessen wir die Installation ab indem wir auf next klicken.

Somit ist das Java JDK installiert. Damit wir jetzt aber Java in der Konsole brauchen können, müssen wir noch die Umgebungsvariablen setzten.

1. Dafür klicken wir mit der rechten Maustaste auf den Eintrag Computer im Startmenü von Windows Vista. (Windows XP User machen das gleiche auf dem Arbeitsplatz)

Windows Vista Startmenü

2. Im erscheinenden Menü wählen wir Eigenschaften aus. Unter Windows Vista öffnet sich folgender Dialog: (Windows XP User überspringen den nächsten Schritt…)

Windows Vista Systemsteuerung->System

3. Hier wählen wir Erweiterte Systemeinstellungen. Folgender Dialog erscheint: (XP-User ab hier einsteigen)

Windows Vista Systemeigenschaften

4. In dem erscheinenden Dialog, wählen Wir Umgebungsvariablen

Windows Vista Umgebungsvariablen1

5. Nachdem der obige Dialog erschienen ist, klicken wir auf den unteren (derjenige unter dem eintrag Systemvariablen) Neu… Button.

Neue Systemvariable

6. In dem erscheinenden Dialog definieren wir eine neue Systemvariable mit folgenden Attributen
Name der Variable: JAVA_HOME
Wert der Variable: Path zum JDK (z.B: C:\Program Files\Java\jdk1.6.0_02)

7. Anschliessend klicken wir auf OK. Nun browsen wir im Fenster Systemvariablen zum Eintrag Path

Umgebungsvariablen Path

8. Nach dem Path selektiert wurde, klicken wir auf bearbeiten:

Systemvariable JavaHome

9. Am Ende von dem Feld Wert der Variablen geben wir folgenden String ein:
;%JAVA_HOME%\bin
10. Am Schluss bestätigen wir alle offenen Fenster mit OK

Zum überprüfen ob die Installation erfolgreich war, können wir die Konsole öffnen und den Befehl javac eingeben. Folgender Output sollte generiert werden:

Javac auf Konsole

Viel Spass beim Kompilieren

« Newer Posts - Older Posts »

Free counter and web stats