[j2ee] jsp url`s en JBoss.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik snap niet hoe url`s naar jsp pagina`s werken onder JBoss.

Stel dat ik een app heb die heet : blaAdmin. En stel dat ik in mijn WEB-INF dir een subdir jsp heb en een jsp pagina die heet bla.jsp. Dan kan ik toch de pagina als volgt aanroepen?

http://localhost/blaAdmin/WEB-INF/jsp/bla.jsp

Onder tomcat alleen heb ik geen problemen... dan werkt het allemaal. Maar onder JBoss krijg ik het gewoon niet aan de praat (en dat terwijl Tomcat de servlet container is van JBoss).

Wie kan me uitleggen wat ik fout doe?

En verder werken wij vaak met een lege context root, dus /. Wie weet hoe het hier werkt? Ik zou verwachten dat je http://localhost/WEB-INF/jsp/bla.jsp zou mogen zeggen. Helaas werkt dit ook niet.

  • El_BingO
  • Registratie: Juli 2001
  • Laatst online: 22-04 10:47
Ik zou de WEB-INF er tussenuit halen ;)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
El_BingO schreef op dinsdag 01 februari 2005 @ 11:01:
Ik zou de WEB-INF er tussenuit halen ;)
Ik heb de jsp`s even verhuist naar de root van de 'war' en nu werkt het wel.. Maar waarom zou je dan je jsp`s in /WEB-INF/jsp willen hebben staan? Ik heb het een keer overgenomen en het werkte wel met tomcat..

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Ik zie sowieso niet waarom je je bestanden in /WEB-INF/jsp hebt staan. De WEB-INF is toch de map waarin de configuratie bestanden en andere benodigdheden (libraries, andere klassen, tag-files) die nodig zijn voor de applicatie maar die je niet direct toegankelijk wilt maken voor derden.

Voor tomcat zet ik alle jsp's in de WebRoot map, hieronder zit dan de WEB-INF met de configuratie en classes voor de applicatie.

www.fendt.com | Nikon D7100 | PS5


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
FendtVario schreef op dinsdag 01 februari 2005 @ 11:10:
Ik zie sowieso niet waarom je je bestanden in /WEB-INF/jsp hebt staan. De WEB-INF is toch de map waarin de configuratie bestanden en andere benodigdheden (libraries, andere klassen, tag-files) die nodig zijn voor de applicatie maar die je niet direct toegankelijk wilt maken voor derden.
Ik ben nog maar een beginner op het gebied van de weblayer/servlets/jsp en had het een keer uit een voorbeeld overgenomen. Dus vandaar..

Ik heb intussen wat uitleg van anderen gekregen en het is me nu wel iets duidelijker.
Voor tomcat zet ik alle jsp's in de WebRoot map, hieronder zit dan de WEB-INF met de configuratie en classes voor de applicatie.
Ik heb de jsp verhuist naar de webroot map en het werkt.

  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Alarmnummer schreef op dinsdag 01 februari 2005 @ 11:16:
Ik ben nog maar een beginner op het gebied van de weblayer/servlets/jsp en had het een keer uit een voorbeeld overgenomen. Dus vandaar..
Dan helpt de lamme de blinde, ben ook nog maar beginner op het gebied van j2ee :+

www.fendt.com | Nikon D7100 | PS5


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15-05 08:48

Janoz

Moderator Devschuur®

!litemod

In principe werkt tomcat dan fout. Bestanden binnen de WEB-INF directory zijn over het algemeen configuratie bestanden die je niet extern beschikbaar wilt hebben. Vaak worden jsp's hier ook onder gezet simpel en alleen om ze niet beschikbaar te maken voor rechtstreekse aanroepen. Zeker in een MVC omgeving dienen de jsp's alleen maar als views en zijn ze afhankelijk van acties/servlets die ervoor zitten. Rechtstreeks aangeroepen JSP's zullen alleen maar foutmeldingen opleveren omdat ze uitgaan van bepaalde in het request opgeslagen objecten.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
De reden dat sommige Web Containers dit toelaten heeft te maken met beveiliging. Het is voor een gebruiker nooit mogelijk om JSP's uit een WEB-INF map te halen.

WebLogic kan hier bijvoorbeeld ook niet mee omgaan. Maar Orion bijvoorbeeld weer wel.

In de J2EE spec staat volgens mij dat het in de WebRoot map moet staan. Echter een WebContainer mag zelf hier extra mogelijkheden aan toevoegen. Dus wat Tomcat doet is niet fout. Het is een extra mogelijkheid.

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


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Maar dan zou je de JSP's ook in een submap van de webroot kunnen zetten waar je de toegang van inperkt. JSP's die zelfstandig kunnen functioneren kunnen dan in de webroot. JSP's die een view zijn voor een servlet in een aparte map die je niet direct kan opvragen.

www.fendt.com | Nikon D7100 | PS5


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15-05 08:48

Janoz

Moderator Devschuur®

!litemod

Klopt, dat kan ook heel goed. Daarnaast houdt dat het ook een stuk mooier gescheiden. Hier waar ik werk is er een duidelijk onderscheid tussen techniek (javacode en configuratie in de WEB-INF waar alleen programmeurs bij mogen komen) en vormgeving (de andere mappen waar eigenlijk alleen vormgevers en (technisch)htmlers bij mogen komen).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Alles wat in de WEB-INF folder komt te staan, wordt door de container afgeschermd voor de 'clients'. Je kan in principe wel een jsp folder in WEB-INF onderbrengen, als je deze folder aanspreekt via een interne forward of dergelijke. Maar ik denk niet dat dit de bedoeling is.

Indien je toch dergelijke security wil, kan je nog altijd gaan werken met security constraints op die jsp's.
Pagina: 1