[J2EE] Hoe een class deployen.

Pagina: 1
Acties:

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Hier stond iets.

Ik heb een class, die ik kna deployen onder de link:

localhost/My/My.html

Maar hoe kan ik ervoor zorgen dat deze meteen als ik localhost intik geladen word.

Ik heb al iets over docroot zien staan in de administrator tool, maar daar staat netjes een html bestand. Is het de bedoeling dat ik hier een andere html maak die gewoon de pagina laad die ik hierboven definieerde?

Of kan het anders/netter

[ Voor 88% gewijzigd door BSeB op 06-02-2005 20:40 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Je hebt als het goed eens ergens een context-root gedefinieerd (in een deployement descriptor). Die je vervolgens ook in de URL kan gebruiken. Tenzij je context-root gelijk is aan /.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
BSeB schreef op zondag 06 februari 2005 @ 12:40:
Hier stond iets.

Ik heb een class, die ik kna deployen onder de link:

localhost/My/My.html

Maar hoe kan ik ervoor zorgen dat deze meteen als ik localhost intik geladen word.

Ik heb al iets over docroot zien staan in de administrator tool, maar daar staat netjes een html bestand. Is het de bedoeling dat ik hier een andere html maak die gewoon de pagina laad die ik hierboven definieerde?

Of kan het anders/netter
Ik snap hier helemaal niks van. Je deployed een class onder een html link :?

Kijk eens naar web.xml. Daarin definieer je bijv een welcome file list. Ik twijfel of je dit bedoelt, maar goed.

Misschien helpt het als je eens vertelt waar je precies mee bezig bent? Ben je html onder Tomcat aan het draaien? Of ben je met Java bezig?

  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Wat ik dus heb is het volgende:

Ik heb een class, welke ik kan deployen (.war). Maar als ik intyp:

localhost:80

dan kom ik op de standaard site van de application server. De docroot.

Ik wil dus graag als ik localhost:80 intyp dat dan die war meteen geladen word en ik dus niet meer op de site van Sun kom.

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
BSeB schreef op maandag 07 februari 2005 @ 11:59:
Wat ik dus heb is het volgende:

Ik heb een class, welke ik kan deployen (.war). Maar als ik intyp:

localhost:80

dan kom ik op de standaard site van de application server. De docroot.

Ik wil dus graag als ik localhost:80 intyp dat dan die war meteen geladen word en ik dus niet meer op de site van Sun kom.
Een war wordt standaard onder zijn naam gedeployed. dus als je war myapp.war heet dan is ie bereikbaar onder http://localhost/myapp (of http://localhost:8080/myapp).

Voor zover ik heb kunnen ontdekken kun je een war niet onder een andere context draaien. Maak je er nou een ear van dan kan het wel. Je maakt een lege ear die alleen de war deployed, en dan kun je de context opgeven van de war. De application.xml van de ear wordt dan ongeveer zo:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 
1.3//EN' 'http://java.sun.com/dtd/application_1_3.dtd'>
<application>
    <display-name>Applicatie</display-name>
    <description>Dit is een applicatie</description>
    <module>
        <web>
            <web-uri>myapp.war</web-uri>
            <context-root>/</context-root>
        </web>
    </module>
</application>

[ Voor 8% gewijzigd door zneek op 07-02-2005 14:49 ]


  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Ik snap idd dat ik ergens een application.xml moet hebben, maar die zit niet in mijn war bestand. MOet ik dan deze application.xml maken en deployen als service en die laad dan de .war.

Dus de .war hoef ik dan niet meer te deployen?

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Nog een keer het antwoord goed lezen. Zneek zegt dat je een ear bestand moet aanmaken, en dat deze een application.xml bevat met daarin de data zoals gegeven.
Ear files bevatten .war files, .jar files en/of een aantal descriptors die vertellen hoe je applicatie aan elkaar hangt. Ik zou als ik jou was maar eens het web gaan afstruinen en gewoon eens wat ouderwets lees en studeerwerk verrichten. Je krijgt dan ook wat meer grip op wat er nu eigenlijk allemaal gebeurt in je VM en je applicatie server.
Naar welke applicatie/webserver deploy jij je warfile nu? Want als het tomcat is, die slikt geen ear-files en moet je dus een andere oplossing zoeken. Gebruik je Sun One, dat is ook een applicatieserver, dus die kun je wel ear files voeren.

Succes! :)

edit:

Zie hier voor uitleg waarom tomcat geen ear-files slikt. :)

[ Voor 10% gewijzigd door bigbeng op 18-02-2005 11:05 ]


  • BSeB
  • Registratie: Juni 2001
  • Laatst online: 22-09-2025
Idd ik gebruik Sun One en lezen doe ik al een hele hoop. Maar ear is niet zoveel info van als van bijvoorbeeld war of tomcat.

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Zit er in J2EE niet een deploytool? Volgens mij kun je daarmee ear-files aanmaken. Maar ik heb hem al een tijdje niet meer gebruikt, dus misschien zit ik je nu brakke tools aan te smeren. :)

Als je meer van de commandline tools bent (en liever volledig alles onder controle houdt) dan kun je ook Ant gebruiken.

En wat lezen betreft, ik bedoel dat je wat minder met de taak die je voor je hebt liggen bezig moet zijn en wat meer focussen op de basis. Dus even niet op "hoe" moet ik het doen, maar meer "waarom" werkt het zo? Snappez vous? :)

  • MisterData
  • Registratie: September 2001
  • Laatst online: 11-05 22:29
In Tomcat heet dat ding geloof ik ROOT. als je je webapp-map renamed naar ROOT (en de oude dan weggooid), zou het dan werken?

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Een ear file is net als een war file een zip file. de opbouw moet dan als volgt zijn:

code:
1
2
3
4
bestand.ear
  |-> bestand.web
  |-> WEB-INF
          |-> application.xml

[ Voor 9% gewijzigd door ronaldmathies op 18-02-2005 21:30 ]

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
ronaldmathies schreef op vrijdag 18 februari 2005 @ 21:30:
Een ear file is net als een war file een zip file. de opbouw moet dan als volgt zijn:

code:
1
2
3
4
bestand.ear
  |-> bestand.web
  |-> WEB-INF
          |-> application.xml
Moet die WEB-INF niet META-INF zijn? Of heb ik nu een biertje teveel op :?

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Sorrie, moet inderdaad META-INF zijn ipv WEB-INF.

en de bestand.web moet bestand.war zijn.
Wow, hoeveel fouten kan je in één stukje tekst maken.

code:
1
2
3
4
bestand.ear
  |-> bestand.war
  |-> META-INF
          |-> application.xml

[ Voor 30% gewijzigd door ronaldmathies op 19-02-2005 11:28 ]

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line

Pagina: 1