2012-12-06 5 views
6

Ich muss eine URL-Ressource in WebSphere einrichten und folgt this Tutorial. Das Lernprogramm erfordert jedoch die Änderung von WebSphere web.xml und ibm-web-bnd.xml mit WebSphere Studio. Ich habe kein WebSphere Studio, daher muss ich diese Dateien manuell mit einem Texteditor ändern. Ich habe versucht, nach den 2 Dateien zu "suchen", aber die "Suchergebnisse" sind so viele, dass ich nicht weiß, welche die richtige Datei ist.Einrichten einer URL-Ressource in WebSphere Application Server 7.0?

Wo finde ich die 2 Dateien? Welchen Wert muss ich auch für die ID resource-ref setzen? Ich habe festgestellt, dass WebSphere Studio kein Textfeld zum Festlegen der resource-ref-Werte enthält, aber in der Codeansicht einen Wert hat.

Vielen Dank!

Antwort

18

web.xml ist eine Standard-JavaEE-Datei und ihre Struktur ist in der Servlet-Spezifikation gut dokumentiert. In web.xml deklarieren Sie die URL, wie es in Ihrem lokalen JNDI-Namespace (java:comp/env) bekannt ist.

web.xml sollte innerhalb WEB-INF, unterhalb Ihrer WAR-Projektstruktur befinden. Wenn Sie eine IDE (wie Eclipse) zum Erstellen von Webprojekten verwenden, sollte diese Datei bereits für Sie erstellt werden (es sei denn, Sie verwenden Servlet Specification 2.5 und höher - Servlet Specification 2.5 ist in JavaEE 5.0 enthalten - wobei Deployment-Deskriptoren optional sind).

ibm-web-bnd.xml ist eine WebSphere-spezifische Datei. Es enthält die Bindung deklarierter Artefakte (z. B. eine URL-Definition) in eine echte Artefakte. Sie sollten in der Dokumentation von IBM nachlesen, um das Format dieser Datei herauszufinden.

Die Datei ibm-web-bnd.xml sollte sich im selben Verzeichnis wie web.xml befinden.

Das id Attribut resource-ref kann auf einen beliebigen Wert eingestellt werden, die Sie mögen, solange sie durch eine passende id Attribut innerhalb ibm-web-bnd.xml Querverweis ist. Auf diese Weise kann WebSphere Definitionen in ibm-web-bnd.xml mit Definitionen in web.xml korrelieren. Die zufällige Zeichenfolge, die Sie im Lernprogramm sehen, wird von RAD oder WSAD erstellt. Sie können dort einen beliebigen Bezeichner platzieren.

EDIT (hinzugefügt Anleitung)

Auf den Punkt gebracht, ist der Prozess dies:

  1. In web.xml, können Sie die lokalen JNDI-Namen definieren. Das ist der Name, unter dem sich Ihr Java-Code auf die URL bezieht. Zum Beispiel myWebsiteUrl. Ihr Code muss eine JNDI-Suche unter java:comp/env/myWebsiteUrl durchführen. Die Definition ist in dieser Richtung:

    <resource-env-ref> 
        <resource-env-ref-name>myWebsiteUrl</resource-env-ref-name> 
        <resource-env-ref-type>java.net.URL</resource-env-ref-type> 
    </resource-env-ref> 
    
  2. In WebSphere selbst, eine URL-Definition hinzufügen. Der Schlüssel dort ist der JNDI-Name in WebSphere JNDI-Struktur, über die die URL bekannt sein wird. Sie können dort einen beliebigen Wert einstellen, obwohl es (per Konvention) empfohlen wird, dass Sie ihm url/ voranstellen. Zum Beispiel: url/test.

  3. In ibm-web-bnd.xml, müssen Sie myWebsiteUrl (sah-up von der Anwendung) binden url/test (die der JNDI-Name ist, mit dem WebSphere die URL kennt). Die Definition wird entlang der Linien sein:

    <resource-env-ref name="myWebsiteUrl" binding-name="url/test"/> 
    

Schritt 3 ist nicht erforderlich. Wenn ibm-web-bnd.xml zum Zeitpunkt der Bereitstellung nicht vorhanden ist, fordert Sie der GUI-basierte Implementierungsablauf (der bei der Bereitstellung von Anwendungen über die WAS-Verwaltungskonsole verwendet wird) zur Eingabe der Bindungswerte auf. (Wenn Sie mit Hilfe von Skripten bereitstellen, können Sie immer noch die ibm-web-bnd.xml Datei weglassen, solange Sie die Bindungen in einer anderen Art und Weise angeben, aber das ist über den Rahmen dieser Antwort. Lesen Sie die IBM-Dokumentation über Strategie Dateien und AdminApp.installApplication)

Hinweis: Solange Sie JavaEE 5.0 und höher verwenden, benötigen Sie das Attribut id in den Definitionen nicht. Der Artikel, den Sie gerade lesen, ist übrigens sehr veraltet.

+0

Hallo, Isaac. Danke für deine Antwort! Können Sie mir beibringen, wie WebSphere für die JNDI-Verwendung eingerichtet wird? Ich habe keinen Hintergrund zu JNDI und das ist das erste Mal, dass ich eine URL-Ressource erstelle, also denke ich, dass ich etwas falsch verstanden habe. – Arci

+0

Basierend auf meinem Verständnis muss ich für die Verwendung von JNDI eine URL-Ressource auf WebSphere einrichten, bei der ich eine URL im Schlüsselwertpaar deklarieren muss (z. B. url1 = http://www.website.com/url1). Der Schlüssel wird in der Web-Anwendung verwendet, wobei er sich auf das 'java: comp/env/key'-Format beziehen kann. Nach dem, was ich im Tutorial verstanden habe, muss ich WebSphere web.xml und ibm-web-bnd.xml und nicht die web.xml und die ibm-web-bnd.xml von WAR einstellen. Oder bezieht sich das Tutorial auf das XML meiner WAR-Datei? Wenn ja, wo kann ich den Wert meiner URLs auf WebSphere festlegen? – Arci

+0

Bearbeitete die Antwort. – Isaac