http://localhost:8080/ProvaDynamicWebProject/WEB-INF/classes/HelloWorld.java
HTTP Status 404 -
--------------------------------------------------------------------------------
type Status report
message
description The requested resource () is not available.
--------------------------------------------------------------------------------
Apache Tomcat/5.5.28
**********************************************************************
Di seguito descrivo il problema:
Ho scaricato Tomcat 5.5.28 e ho settato le variabili d'ambiente
CATALINA_HOME a "c:\Tomcat\apache-tomcat-5.5.28" e JRE_HOME a
"c:\Programmi\EasyEclipse Server Java 1.2.2.2\jre"
- poi da Eclipse ho selezionato la perspective "J2EE"
- ho cliccato con il tasto destro del mouse su "Project Explorer" poi
su "New" e poi su "Dynamic Web Project"
- nella finestra che appare ho scritto "ProvaDynamicWebProject" e ho
cliccato su "Finish"
- poi ho cliccato con il tasto destro del mouse su "ProvaDynamicWebProject"
e poi su "New" e poi su "Servlets"
- ho chiamato la classe "HelloWorld" e ho scritto la classe che riporto
alla fine di questo messaggio
- quando provo a lanciare il programma (Run As -> Run on Server) mi
appare una finestra con scritto "Could not find a client that is able
to launch the selection"
- le volte dopo che ri-provo a lanciare il programma mi appare una
finestra con una checkbox con scritto "Update context root for Web
module ProvaDynamicWebProject"
- sia che attivo che disattivo la checkbox quando clicco su "Finish"
mi appare la finestra d'errore scritta all'inizio di questo messaggio.
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World</h1>");
out.println("</body>");
out.println("</html>");
out.flush();
}
public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException
{
doGet(request,response);
}
}
> Di seguito descrivo il problema:
> Ho scaricato Tomcat 5.5.28 e ho settato le variabili d'ambiente
> CATALINA_HOME a "c:Tomcatapache-tomcat-5.5.28" e JRE_HOME a
> "c:ProgrammiEasyEclipse Server Java 1.2.2.2jre"
Catalina home e jre home non servono
quella che serve e' JAVA_HOME
settata quella prova a
collegarti a
localhost:8080
e cosi' sai se e' acceso il gatto.
Dopo di che
vai nella cartella del tomcat e verifica che sia deployata la tua servlet
cioe' sotto
...webapp/
ci deve essere qualcosa di tuo e la tua servlet
infine la chiave di tutto e' nel file
../WEB-INF/web.xml
studiati le -semplicissime- regole del web-xml o eventualmente postacelo
che lo verifichiamo
ciauz Nicola
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ab...@newsland.it
> e cosi' sai se e' acceso il gatto.
Lo hai invocato! Ora arriva lui e le sue utility utilissime e FREE. :)
> http://localhost:8080/ProvaDynamicWebProject/WEB-INF/classes/HelloWorld.java
Non � che per caso �:
http://localhost:8080/ProvaDynamicWebProject/HelloWorld
?
<servlet>
<display-name>HelloWorld</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>tuo.package.HelloWorld</servlet-class>
</servlet>
allora sara' necessario utilizzare l'url:
http://localhost:8080/ProvaDynamicWebProject/HelloWorld
oppure
http://localhost:8080/HelloWorld
se non viene indicato alcun contesto.
Tutte le volte che lancio la servlet mi appare una finestra con una
checkbox con scritto "Update context root for Web module
ProvaDynamicWebProject".
Ho provato a cambiare l'URL in
"http://localhost:8080/ProvaDynamicWebProject/HelloWorld"
ma ottengo la seguente finestra d'errore.
(dopo la finestra riporto il file web.xml)
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception report
message
description The server encountered an internal error () that prevented it
from fulfilling this request.
exception
javax.servlet.ServletException: Error instantiating servlet class HelloWorld
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595)root causejava.lang.Error: Unresolved compilation problems: The import javax.servlet cannot be resolved The import javax.servlet cannot be resolved HttpServlet cannot be resolved to a type HttpServletRequest cannot be resolved to a type HttpServletResponse cannot be resolved to a type ServletException cannot be resolved to a type HttpServletRequest cannot be resolved to a type HttpServletResponse cannot be resolved to a type ServletException cannot be resolved to a type HelloWorld.<init>(HelloWorld.java:2) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) java.lang.reflect.Constructor.newInstance(Constructor.java:494) java.lang.Class.newInstance0(Class.java:350) java.lang.Class.newInstance(Class.java:303) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) java.lang.Thread.run(Thread.java:595)note The full stack trace of the root cause is available in the ApacheTomcat/5.5.28 logs.--------------------------------------------------------------------------------Apache Tomcat/5.5.28***************************************************************************************************************************************************************************************************************<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name> ProvaDynamicWebProject</display-name> <servlet> <description> </description> <display-name> HelloWorld</display-name> <servlet-name>HelloWorld</servlet-name> <servlet-class> HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWorld</servlet-name> <url-pattern>/HelloWorld</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list></web-app>
Tutte le volte che lancio la servlet mi appare una finestra con una
checkbox con scritto "Update context root for Web module
ProvaDynamicWebProject".
Ho provato a cambiare l'URL in
http://localhost:8080/ProvaDynamicWebProject/HelloWorld
ma ottengo sempre una finestra d'errore.
Siccome il file e' lungho il testo viene spezzato, quindi nel prossimo
messaggio riporto separatamente la finestra d'errore e nel messaggio
dopo riporto separatamente il file web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
ProvaDynamicWebProject</display-name>
<servlet>
<description>
</description>
<display-name>
HelloWorld</display-name>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>
javax.servlet.ServletException: Error instantiating servlet class HelloWorld
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
java.lang.Thread.run(Thread.java:595)root cause
java.lang.Error: Unresolved compilation problems:
The import javax.servlet cannot be resolved
The import javax.servlet cannot be resolved
HttpServlet cannot be resolved to a type
HttpServletRequest cannot be resolved to a type
HttpServletResponse cannot be resolved to a type
ServletException cannot be resolved to a type
HttpServletRequest cannot be resolved to a type
HttpServletResponse cannot be resolved to a type
ServletException cannot be resolved to a type
HelloWorld.<init>(HelloWorld.java:2)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:494)
java.lang.Class.newInstance0(Class.java:350)
Sembrerebbe che la classe non sia stata compilata.
PER FAVORE potrebbe descrivermi PASSO PASSO come fare per creare una
servlet con Eclipse?
La prego di non tralasciare neanche le cose piu' ovvie.
Io uso "EasyEclipse Server Java", che e' una distribuzione di Eclipse
con gia' compresi dei plug-in (tra cui anche Tomcat) per lo sviluppo
di applicazioni web.
Grazie.
> Io uso "EasyEclipse Server Java", che e' una distribuzione di Eclipse
> con gia' compresi dei plug-in (tra cui anche Tomcat) per lo sviluppo
> di applicazioni web.
> Grazie.
Scaricati il Galileo standard che ha gia' tutto ed e' una bomba
ciauz N
--------------------------------
Inviato via http://arianna.libero.it/usenet/
> Io uso "EasyEclipse Server Java", che e' una distribuzione di Eclipse
> con gia' compresi dei plug-in (tra cui anche Tomcat) per lo sviluppo
> di applicazioni web.
> Grazie.
Scaricati il Galileo standard che ha gia' tutto ed e' una bomba
> PER FAVORE potrebbe descrivermi PASSO PASSO come fare per creare una
> servlet con Eclipse?
> La prego di non tralasciare neanche le cose piu' ovvie.
http://www.youtube.com/watch?v=-l0CFxdroTE
http://www.youtube.com/watch?v=JyK9KzkQnQo
ma soprattutto:
http://tinyurl.com/ycmtncf
Cos'e' Galileo? Un insieme di plug-in? Una distribuzione di Eclipse?
Grazie del consiglio ma preferirei continuare a usare EasyEclipse,
credo che abbia gia' tutto quello che serve per creare applicazioni web
(Hibernate, JBoss, Spring, ...) (che non so' ancora cosa sono)
E poi io ho sempre la banda "stretta", ho dovuto far scaricare
EasyEclipse (214 MB) da un amico e poi far masterizzare il file su un
CD.
Grazie del consiglio ma io ho sempre la banda "stretta", quindi non
posso vedere YouTube.
>> ma soprattutto:
>> http://tinyurl.com/ycmtncf
>
>
> Grazie del consiglio ma io ho sempre la banda "stretta", quindi non
> posso vedere YouTube.
il terzo link resta valido.
Su Google ho cercato "eclipse web application tutorial" e ho cliccato
sul primo riferimento "Web Tools Platform", ma per me che ho la banda
stretta la pagina ci mette troppo tempo per essere caricata (e non so'
neanche quante pagine sono); qualcuno che gia' sa come creare Servlet
con Eclipse puo' spiegarmi PASSO PASSO come fare per favore?
> Su Google ho cercato "eclipse web application tutorial" e ho cliccato
> sul primo riferimento "Web Tools Platform", ma per me che ho la banda
> stretta la pagina ci mette troppo tempo per essere caricata (e non so'
> neanche quante pagine sono); qualcuno che gia' sa come creare Servlet
> con Eclipse puo' spiegarmi PASSO PASSO come fare per favore?
spiacente, tu hai la banda stretta e io non ho tempo da dedicare a
scrivere tutorial (già scritti).
Ho seguito le sue istruzioni e la servlet funziona, GRAZIE.
Ora devo studiarci sopra.
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
bla bla bla
}
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
utilizzi sia il metodo doGet che il metodo doPost che pero' richiama a
sua volta il metodo doGet. Se l'effettiva esigenza e' quella di onorate
sia i due metodi HTTP GET e POST, avresti potuto utilizzare
equivalentemente il solo metodo:
void service(HttpServletRequest request, HttpServletResponse response)
con effetti identici.