View Full Version : [Servlet] File "web.xml": dove ne trovo degli esempi?!
Matrixbob
23-05-2005, 06:39
... sapere come fare il mapping dell'applicazione, come inizializarne dei valori, anzi sapere i TAG che posso specificare li dentro.
Mi pare che se la mia applicazione web è sviluppata su + di 1 Servlet, in questo file devo specificarle tutte.
Riassumento:
che TAG si usano li dentro e quale è un tipico esempio con l'uso di Servlet?!
(so che è il file web.xml è usato in mille cose all'interno del J2EE)
Mi pare d'aver capito:
<web-app>
<servlet-mapping>
<servlet-name> Gabibbo </servlet-name>
????????????????????????????????????????
???????????????????
</servlet-mapping>
</web-app>
Matrixbob
23-05-2005, 07:31
Cavolo ho trovato questa valanga di TAG:
http://e-docs.bea.com/wls/docs61/webapp/web_xml.html
, ma mi serve un esempio che faccia vedere come sia fatto il file "web.xml" per 1 servlet!! :(
A capirlo da li, ammesso che sia possibile, è un lavoraccio. ! :help: !
Matrixbob
23-05-2005, 07:46
Una cosa così può funzionare:
<web-app>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>D:\www\public_html\WEB-INF\classes</url-pattern>
</servlet-mapping>
</web-app>
oppure così:
<web-app>
<servlet>
<servlet-name>GreetingServlet</servlet-name>
<servlet-class>servletx.GreetingServlet.MyClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>D:\www\public_html\WEB-INF\classes</url-pattern>
</servlet-mapping>
</web-app>
per mandare in esecuzione la Servlet: GreettingServlet.class ?!
La mia fantasia più di così pare non spingermi .... :( sigh!
Matrixbob
23-05-2005, 08:01
Questo link mi pare + esaustivo:
http://e-docs.bea.com/wls/docs61/webapp/webappdeployment.html
Sono sulla buona strada?!
Nessuno mi aiuta?!
Matrixbob
23-05-2005, 08:46
:muro:
Cavolo mettendo il file web.xml si pianta tutto.
Se digito http://localhost:8080/www non arrivo nemmeno + alla mia cartella public_html. Devo togliere il file web.xml e tutto torna normale.
Sto provando così:
<web-app>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>D:\www\public_html\WEB-INF\classes</url-pattern>
</servlet-mapping>
</web-app>
e così:
<web-app>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>/WEB-INF/classes</url-pattern>
</servlet-mapping>
</web-app>
Questo è l'errore:
http://img280.echo.cx/img280/7754/tomcaterror8tu.gif
<web-app>
<servlet>
<servlet-name>GreetingServlet</servlet-name>
<servlet-class>servletx.GreetingServlet.MyClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>/GreetingServlet</url-pattern>
</servlet-mapping>
</web-app>
qualcosa del genere dovrebbe andare bene
Matrixbob
23-05-2005, 09:15
Io il file compilato lo ho qui:
D:\www\public_html\WEB-INF\classes
ed il file di contesto è fatto così:
<Context path="www" docBase="D:\www\public_html">
</Context>
Per questo ho settato un web.xml simile:
<web-app>
<servlet>
<servlet-name>GreetingServlet</servlet-name>
<servlet-class>servletx.GreetingServlet.MyClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GreetingServlet</servlet-name>
<url-pattern>/WEB-INF/classes</url-pattern>
</servlet-mapping>
</web-app>
Ma questo è puramente di fantasia:
<servlet-class>servletx.GreetingServlet.MyClass</servlet-class>
cosa sarebbe sta roba?!
Matrixbob
23-05-2005, 09:23
Ok, con l'ultimo web.xml postato ci arrivo a qui:
http://localhost:8080/www/
Adesso s'incarta quando gli passo il link get alla mia servlet ...
... hanno 1 curva d'apprendimento esagerata ste Servlet dei miei stivali.
Questo è il link che richiamerebbe (almeno con la mia fantasia) la Servlet:
<p>
Run the servlet Greeting: click
<a href="http://localhost:8080/www/GreetingServlet?name='Roberto'&email='matrixbob@tin.it'">here</a>
</p>
hai provato il web.xml che ti ho postato?
provalo e accedi con:
http://tuoserver/www/GreetingServlet
... hanno 1 curva d'apprendimento esagerata ste Servlet dei miei stivali.
si ma anche tu usi tomcat e metti il link della documentazione di WebLogic.. :D
Matrixbob
23-05-2005, 09:39
si ma anche tu usi tomcat e metti il link della documentazione di WebLogic.. :D
... e cosa è?!
Io pensavo che i TAG fossero uguali x tutti!!! :(
Matrixbob
23-05-2005, 09:40
hai provato il web.xml che ti ho postato?
provalo e accedi con:
http://tuoserver/www/GreetingServlet
No, adesso che non vedo via di uscita lo provo. :cool:
Notare 1 piccolezza che è una gran rottura:
Fare stop/star ogni volta del server Tomcat, almeno Apache ha il restart!!!
Due balle stoppare e startare ogni volta a mano. :(
... e cosa è?!
Io pensavo che i TAG fossero uguali x tutti!!! :(
il formato di base (e i tag) sono uguali per tutti, ma poi ogni vendor ha implementato estensioni e nuovi tag per gestirle, per cui ti conviene guardare la documentazione sul sito di sun e poi su quello del produttore del prodotto che stai usando (tomcat in questo caso)
Matrixbob
23-05-2005, 09:53
kingv, col tuo web.xml e richiamo http://localhost:8080/GreetingServlet il risultato è:
type: Status report
message: /GreetingServlet
description: The requested resource (/GreetingServlet) is not available.
Maledetto Tomcat!!! :)
[N.B.]
Faccio sempre Stop/Start alle prove, infatti ho già 1 barba così:
:old:
e vado a prendermi 1 caffè.
Sti PATH delle mie brame .... :rolleyes:
Ah dimenticavo, il risultato nel URL è questa string :
http://localhost:8080/www/GreetingServlet?name='Roberto'&email='matrixbob@tin.it'
Matrixbob
23-05-2005, 10:03
ATTENZIONE, se però stoppo/starto e premo sul link che ho postato prima ottengo questo:
http://img289.echo.cx/img289/816/5005oq.gif
Ormai perdo il senso dell'errore, non capisco + dove stà ...
Invece se lo faccio 1 seconda volta torna l'errore 404 invece che il 500.
Devo ripeter stop/star e link per avere l'error 500 ...
:mbe: :ncomment: :eekk: :what:
dentro la directory WEB-INF/classes hai la classe compilata con le directory che rappresentano la struttura del package?
l'errore è semplicemente un ClassNotFound, il mappaggio è corretto, cerca di trovare la classe che risponda alla richiesta che fai col browser ma non la trova
Matrixbob
23-05-2005, 10:09
kingv, se ti posto il sorgente JAVA riesci ad identificare la servlet-class ?!
Ti ricordo che:
<servlet-class>servletx.GreetingServlet.MyClass</servlet-class>
lo ho invenato io e l'errore mi pare coinvolgere propio questa "cosa".
Matrixbob
23-05-2005, 10:12
Contenuto del file sorgente GreetingServlet.java:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class GreetingServlet extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException
{
String name=request.getParameter("name");
String email=request.getParameter("email");
String message=null;
message="Good Morning";
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("<html>"); out.println("<body>");
out.println("<p>"+message+", "+name+"</p>");
out.println("<p> Your email is: "+email+"</p>");
out.println("</body>");
out.println("</html>");
out.close();
}
}
Ti ricordo che:
<servlet-class>servletx.GreetingServlet.MyClass</servlet-class>
lo ho invenato io e l'errore mi pare coinvolgere propio questa "cosa".
e così me lo dici? :mbe: :D
metti questo nel web.xml
<servlet-class>GreetingServlet</servlet-class>
e assicurati di avere GreetingServlet.class in WEB-INF/classes
Matrixbob
23-05-2005, 10:18
DA DAAAAAAN!!!
http://img268.echo.cx/img268/4466/result6yc.gif
... è andata!
Adesso provo con metodo doPost.
Ma gli errori quali erano praticamente?!
... io non comprendo quei TAG "servlet-class" e "url-pattern".
"url-pattern" mi pare d'aver capito sia l'alias con cui richiamare la servlet giusto?!
"servlet-class" qui non mi pronuncio proprio. :)
come ti ho detto non trovava il file class corrispondente alla servlet.
quando ho tempo di spiego un po' meglio ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.