PDA

View Full Version : aiuto servlet


Marieddu
20-07-2004, 11:08
Scusate... sto cercando di capire qualcosa sulle servlet...

Dopo che creo il mio file MiaServlet.class come lo devo pubblicare sul web? Ovvero mi basta metterlo in http://miosito.it/sevlet/MiaServlet per poterla lanciare
(ho provato e non funge)

oppure devo configurare qualcosaltro?

texerasmo
20-07-2004, 11:20
Che engine servlet sati usando?

Marieddu
20-07-2004, 11:27
Sinceramente non lo so....

io compilo tutto e funziona ma quando la metto nella mia homepage no. Non riesco a capire se dipende dal fatto che la devo mettere in una path particolare oppure c'è un errore di altro tipo

texerasmo
20-07-2004, 11:38
hai provato a metterla qui?
WEB-INF/classes

passami la tua servlet la provo sotto tomcat

Marieddu
20-07-2004, 11:46
mha...
la servlet è un banalissimo "ciao mondo!"
La lancio con jbuilder e lui usa già tomcat, ma se vuoi te la passo...
Mi viene pittosto il dubbio che il server su cui ho creato il mio spazio web(fortunecity.com) non mi permetta di farle funzionare... però mi sembra strano...

texerasmo
20-07-2004, 12:05
allora..
nel frattempo ne ho fatta uno io
devi vedere dove il tuo engine servlet ha settato la visuallizzazione per le servlet

a me è una cosa del genere su jetty.

http://localhost:9090/servlet/MioServlet



Per tomcat dovresti muoverti così


in genere le servlet vanno messe sotto web-inf/classes


ora devi vedere nel web.xml se c'è una cosa del genere oppure nella tua web-application

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>


ok?

Marieddu
20-07-2004, 12:14
scusa ma non riesco a capire...

La servlet non è un applicazione autonoma?
Io la metto in una directory del server e se questo ha l'interprete java la dovrebbe eseguire...

Io l'ho messa in un directory servlet e poi WEB-INF ma non funge, però c'è perchè se la chiamo con miosito.it/servlet/miaservlet.class
allora me explorer mi chiede se la voglio scaricare. Se invece la chiamo con miosito.it/servlet/miaservlet il server mi dice file not found...

E poi... nella path è obbligatorio o opzionale inserire il numero della porta? Se è 8080 dovrebbe già essere il default....

Forse facciamo prima se mi puoi postare i passi fondamentali per creare e pubblicare la servlet cosi capisco cosa sto saltando...

Grazie :muro:

texerasmo
20-07-2004, 12:26
miosito.it/servlet/miaservlet

senza .class


:D

fammi sapere

texerasmo
20-07-2004, 12:29
allora io dieri di scricarti un engine servlet ho jetty oppure tomcat installa e poi andiamo avanti.. ok?

http://jetty.mortbay.org/jetty/index.html


http://jakarta.apache.org/tomcat/



poi facciamo un esempio insieme

Marieddu
20-07-2004, 15:20
Originariamente inviato da texerasmo
miosito.it/servlet/miaservlet

senza .class


:D

fammi sapere


Ufff....
proprio come avevo capito io ma non funge.....

Marieddu
20-07-2004, 15:24
Originariamente inviato da texerasmo
allora io dieri di scricarti un engine servlet ho jetty oppure tomcat installa e poi andiamo avanti.. ok?

http://jetty.mortbay.org/jetty/index.html


http://jakarta.apache.org/tomcat/



poi facciamo un esempio insieme


Ho problemi per download così pesanti xchè non ho adsl...
Si può procedere lo stesso, tanto jbuilder per mandare in run le servlet lancia di sup tomcat...

texerasmo
20-07-2004, 15:58
allora proviamo così..
devi trovare un file che si chiama web.xml
vedi detro jbuilder se c'è

Marieddu
20-07-2004, 16:49
Ok...
Trovato!

Marieddu
20-07-2004, 16:58
eccolo qui

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE web-app (View Source for full doctype...)>
- <web-app>
- <servlet>
<servlet-name>miaservlet</servlet-name>
<servlet-class>server.MiaServlet</servlet-class>
</servlet>
- <servlet-mapping>
<servlet-name>miaservlet</servlet-name>
<url-pattern>/miaservlet</url-pattern>
</servlet-mapping>
</web-app>

texerasmo
21-07-2004, 11:04
fai cosi

http://miosito.it/nometuaservlet


oppure

http://miosito.it/miaservlet/nometuaservlet

Marieddu
21-07-2004, 11:19
Originariamente inviato da texerasmo
fai cosi

http://miosito.it/nometuaservlet


oppure

http://miosito.it/miaservlet/nometuaservlet


NIENTE!!!!!:muro: :muro: :muro: Non funziona!!!!:muro: :muro: Sto:muro: impazzendo:muro: non ne posso:muro: più!:muro: :muro: :muro:

Ma oltre al file.class devo uploadare altro?
Credo che lo spazio web offerto non supporti le servlet però mi sembra strano:muro: :muro: :muro: :muro:

texerasmo
21-07-2004, 11:32
Devi vedere se c'è un engine servlet
sei sivuro che c'è?
Tu dove fai le prove?

come si chiama la tua webapplication?

mi dici il path di web.xml?

Marieddu
21-07-2004, 11:42
il sito
http://members.fortunecity.com/mariomhp/


la path di web.xml

http://members.fortunecity.com/mariomhp/WEB-INF/web.xml

Marieddu
21-07-2004, 11:43
se vuoi ti mando in pvt user id e psw così controlli direttamente...

texerasmo
21-07-2004, 12:54
http://members.fortunecity.com/mariomhp/nometuaservlt

senzail punto class non funziona?


http://members.fortunecity.com/mariomhp/nometuaservlt/nometuaservlt




provacosì

fammi sapere

kingv
21-07-2004, 13:46
Originariamente inviato da Marieddu
Credo che lo spazio web offerto non supporti le servlet però mi sembra strano:muro: :muro: :muro: :muro:



guarda che mi sa che sei un po' fuori strada, dubito fortemente che supporti le servlet ;)

texerasmo
21-07-2004, 13:56
lui dice che ha tomcat sotto ma...

kingv
21-07-2004, 14:01
Originariamente inviato da Marieddu

La servlet non è un applicazione autonoma?
Io la metto in una directory del server e se questo ha l'interprete java la dovrebbe eseguire...

Io l'ho messa in un directory servlet e poi WEB-INF ma non funge, però c'è perchè se la chiamo con miosito.it/servlet/miaservlet.class
allora me explorer mi chiede se la voglio scaricare.


una servlet non e' un'applicazione autonoma e' solo un frammento di codice che soddifa una determinata interfaccia per essere richiamato da un servet engine (tomcat o altro).
il fatto che explorer te la voglia scaricare e' appunto indice del fatto che non viene eseguita ma per il webserver e' un file come tutti gli altri.

texerasmo
21-07-2004, 14:09
il fatto che tende a scaricare perchè l'utente tende di chiamare
http://localhost:9090/pippo/servlet.class
invece di
http://localhost:9090/pippo/servlet

Questo è anche un errore veniva commesso in questo caso

kingv
21-07-2004, 14:23
Originariamente inviato da texerasmo
il fatto che tende a scaricare perchè l'utente tende di chiamare
http://localhost:9090/pippo/servlet.class
invece di
http://localhost:9090/pippo/servlet

Questo è anche un errore veniva commesso in questo caso



no non e' quello l'errore.

in un servlet container la directory WEB-INF non e' mai esposta in http o https, ma vengono definite delle associazioni (nel web.xml) tra le URL e le servlet lì contenute. Se fai una prova con tomcat vedrai che non c'e' maniera (a meno che lo configuri tu apposta in maniera errata) di ottenere i .class delle servlet, e che chiamando http::/tuoserver/tuopath/tuaservlet.class al massimo ti becchi un 404 (not found) dal webserver

Marieddu
21-07-2004, 15:46
Ovviamente non funziona nulla...

Tento di riepilogare perchè forse su alcuni aspetti mi sono espresso male:

Allora...


La servlet miaservlet.class è un semplice ciao mondo. Quando la compilo funziona benissimo perchè:

1) jbuilder la esegue senza problemi: lui usa tomcat e poi la esegue tramite il suo emulatore web browser.

2) lasciando in esecuzione tomcat (che lancia jbuilder) riesco a eseguire la servlet anche con explorer dandogli l'url fittizio che jbuilder assegna alla servlet quando configura tomcat. In questo caso è http://localhost:8080/miaservlet


Il problema è quando tento di eseguire la servlet dal web. Ho provato a uploadarla(intendo il file.class) assegnandole tutte le path suggerite ma non funziona. Il browser da sempre "file not found".

I tentativi sono nello spazio web gratuito secondo l'url che ho detto prima.
Non sono affatto sicuro che questo spazio web supporti un servlet engine ne posso escludere che magari richieda delle configurazioni particolari...

Quindi a questo punto vi chiedo:

1) Sapete indicarmi un isp sul quale possa sperimentare gratis?
(intendo qualcosa che magari avete già collaudato...)
2) Può dipendere da un mio errore di configurazione di qulunque tipo?



Grazie per la pazienza

:mc:

kingv
21-07-2004, 15:52
Originariamente inviato da Marieddu
1) Sapete indicarmi un isp sul quale possa sperimentare gratis?
(intendo qualcosa che magari avete già collaudato...)
2) Può dipendere da un mio errore di configurazione di qulunque tipo?

Grazie per la pazienza
:mc:


1) non ne ho idea, ma non ti sarà facile trovarlo perchè richiede risorse notevoli da parte del provider (non solo hardware, ma anche a livello di gestione)

2) in questo caso mi sento di escluderlo ;)

texerasmo
23-07-2004, 11:20
cmq ti consoglio di scaricarti jetty
sono 10 mega so che sei con un modem ma è cmq accessibile piano piano ce la fai.

Oppure Vedi qualche rivista informatica tipo ioProgrammo all'interno ci sono dei cd con del software da utilizzare.
troverai anche jakarta-tomcat che è un engine-servlet.

Se il tuo obbiettivo era solo quello di esercitarti per imparati jsp e servlet creati l'ambiente sul tuo pc.

Marieddu
23-07-2004, 11:57
Ok grazie....

Comunque per ora mi è sufficiente testare su locale con tomcat tramite jbuilder poi vedrò...

Il punto era capire se sbagliavo io oppure dipendeva dal isp...