PDA

View Full Version : help servlet


carMAN
04-06-2004, 14:04
mi sto aggingendo al mondo delle servlet è ho qualche dubbio:
ho creato questa servlet

import java.util.*;
import java.util.*;
import java.text.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class Primaservlet extends HttpServlet {
/* ridefinizione del metodo doGet */
public void doGet (HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException
{
PrintWriter out;
// istanziamento degli oggetti per data e ora
String dateformat = "EEEE d MMMM yyyy";
String timeformat = "H:mm";
DateFormat df = new SimpleDateFormat(dateformat);
DateFormat tf = new SimpleDateFormat(timeformat);
Date datetime = new Date();
// prima occorre settare il content type
response.setContentType("text/html");
// poi costruire la response
out = response.getWriter();
out.println("<HTML><HEAD><TITLE>");
out.println("DATA E ORA");
out.println("</TITLE></HEAD><BODY>");
out.println("<H1>DATA E EORA ATTUALI</H1>");
out.println(df.format(datetime));
out.println("<BR>");
out.println(tf.format(datetime));
out.println("</BODY></HTML>");
out.close();
}
}






ho compilato senza errori ottenendo il file .class
ho instalto tomcat, ma non so come procedere per vedere il risultato di questa servlet....
che devo fare? tante grazie...ciao ciao

kingv
04-06-2004, 14:12
copia il .class dentro :

tomcat_dir\webapps\carMAN\WEB-INF\classes


e poi dentro WEB-INF crea un file web.xml col seguente contenuto:


<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">

<web-app>
<display-name>carMAN</display-name>
<servlet>
<servlet-name>carMANServlet</servlet-name>
<display-name>carMANServlet</display-name>
<servlet-class>
Primaservlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>carMANServlet</servlet-name>
<url-pattern>/carMAN/Primaservlet </url-pattern>
</servlet-mapping>


</web-app>

kingv
04-06-2004, 14:12
poi riavvia tomcat e accedi all'url:


http://localhost:8080/carMAN/Primaservlet

carMAN
04-06-2004, 14:47
ti ringrazio per l'aiuto ma continuo ad avere problemi.
Ho fatto come tu mi hai detto ma quando vado su:
http://localhost:8080/carMAN/Primaservlet
ottengo questo risultato:

HTTP Status 404 - /carMAN/Primaservlet

--------------------------------------------------------------------------------

type Status report

message /carMAN/Primaservlet

description The requested resource (/carMAN/Primaservlet) is not available.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.18



ti ringrazio per l'aiuto che mi darai...

kingv
04-06-2004, 14:58
controlla di avere un'alberatura delle directory uguale


\tomcatdir
\webapps
\carMAN
\WEB-INF
\web.xml
\classes
tuofile.class

kingv
04-06-2004, 15:00
controlla anche nella directory logs se c'e' qualcosa di significativo.

cn73
04-06-2004, 15:02
Riesci ad accedere al lcalhost da browser? Dovrebbe apparire la pagina di default di Tomcat...Uno degli errori più comuni è quello di non accorgersi di avere la porta 8080 già occupata... se dai il comando
netstat -an

nella lista delle porte in ascolta vedi la 8080??

kingv
04-06-2004, 15:06
Originariamente inviato da cn73
Riesci ad accedere al lcalhost da browser?


nel log che ha postato si vede che la risposta arriva da tomcat ;)

kingv
04-06-2004, 15:06
doppio :O

cn73
04-06-2004, 15:27
Pardon avevo saltato...allora è solo un problema di path...

carMAN
04-06-2004, 15:35
niente da fare....ma dove sbaglio .... allora ricapitoliamo
ho una classe che si chiama primaservlet.class
nella cartella di tomcat chiamata webapps ho creato una cartella chiamata carMAN. In essa ho messo una cartella chiamata WEB-INF. In questa ho cartella ho messo il file web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">

<web-app>
<servlet>
<servlet-name>primaservlet</servlet-name>
<servlet-class>primaservlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>primaservlet</servlet-name>
<url-pattern>/carMAN/primaservlet</url-pattern>
</servlet-mapping>


</web-app>


inoltre ho messo anche una cartella chiamata classes in cui ho inserito primaservlet.class

ho fatto errori?

kingv
04-06-2004, 15:53
Originariamente inviato da carMAN

ho fatto errori?


no :cry:


hai restartato?

kingv
04-06-2004, 15:58
adesso che ci penso fai questa prova, modifica web.xml e metti come url-pattern
<url-pattern>/servlet/carMAN/primaservlet</url-pattern>

poi RESTARTA e chiama da browser:


http://localhost:8080/servlet/carMAN/primaservlet

carMAN
04-06-2004, 16:07
sempre lo stesso errore:

The requested resource (/servlet/carMAN/primaservlet) is not available.

ma devo creare una cartella servlet con dentro carMAN e tutto il resto? io nn l'ho fatto.

p.s ho sempre riavviato tomcat....

kingv
04-06-2004, 16:30
ho capito:

<url-pattern>/primaservlet</url-pattern>

poi RESTARTA e chiama da browser:

http://localhost:8080/carMAN/primaservlet



stavolta funziona ;)

carMAN
04-06-2004, 16:36
funziona funziona :D :D :D :D :D :D :D :D :D
grazie tantissimo :D :D :D :D :D :D :D :D :D