kikko81
18-04-2008, 19:01
Ciao a tutti,
è ta un po di tempo che nn riesco a risolvere il mio problemuccio, magari banale, ed è pertanto che chiedo aiuto a voi. :D
Ho scritto un semplice servlet, e dopo aver impostato il tutto come scritto su un libro ottengo l'errore che ora vi postero'.
Innanzi tutto il metodo servlet scritto in java è il seguente:
import javax.servlet.* ;
import javax.servlet.http.* ;
import java.io.* ;
public class HTTPGetServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException{
PrintWriter output ;
response.setContentType("text/html") ;
output = response.getWriter() ;
StringBuffer buf = new StringBuffer() ;
buf.append("<HTML><HEAD><TITLE>\n");
buf.append("A Simple Servlet Example \n");
buf.append("</TITLE></HEAD><BODY>\n");
buf.append("<H1>Welcome to Servlets!</H1>\n");
buf.append("</BODY></HTML>\n");
output.println(buf.toString()) ;
output.close();
}
}
Credo che questo metodo sia corretto poichè l'ho ritrovato anche in altri siti.
Ho installato il server JSDK e ho messo il metodo compilato nella directory
webpages\WEB - INF\servlets
Dopo la chiamata ottengo il seguente errore:
Error: 500
Internal Servlet Error:
java.lang.NoClassDefFoundError: HTTPGetServlet (wrong name: servlet/HTTPGetServlet)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at com.sun.web.core.ServletLoader.loadClass(ServletLoader.java:111)
at com.sun.web.core.ServletLoader.loadServlet(ServletLoader.java:30)
at com.sun.web.core.ServletWrapper.loadServlet(ServletWrapper.java:81)
at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:109)
at com.sun.web.core.InvokerServlet.service(InvokerServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:140)
at com.sun.web.core.Context.handleRequest(Context.java:375)
at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:135)
Per richiamare il servlet uso una pagina html con un bottone:
<!-- HTTPGetServlet.html -->
<HTML>
<HEAD>
<TITLE>
Servlet HTTP GET Example
</TITLE>
</HEAD>
<BODY>
<FORM ACTION="http://localhost:8080/servlet/HTTPGetServlet" METHOD="GET">
<P> Click the button to have the servlet send an HTML document </P>
<INPUT TYPE="submit" VALUE="Get HTML Document">
</FORM>
<BODY>
</HTML>
Qualcuno ha una vaga idea di come poter risolvere il mio problema? :)
Grazie a presto
Francesco
è ta un po di tempo che nn riesco a risolvere il mio problemuccio, magari banale, ed è pertanto che chiedo aiuto a voi. :D
Ho scritto un semplice servlet, e dopo aver impostato il tutto come scritto su un libro ottengo l'errore che ora vi postero'.
Innanzi tutto il metodo servlet scritto in java è il seguente:
import javax.servlet.* ;
import javax.servlet.http.* ;
import java.io.* ;
public class HTTPGetServlet extends HttpServlet{
@Override
public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException{
PrintWriter output ;
response.setContentType("text/html") ;
output = response.getWriter() ;
StringBuffer buf = new StringBuffer() ;
buf.append("<HTML><HEAD><TITLE>\n");
buf.append("A Simple Servlet Example \n");
buf.append("</TITLE></HEAD><BODY>\n");
buf.append("<H1>Welcome to Servlets!</H1>\n");
buf.append("</BODY></HTML>\n");
output.println(buf.toString()) ;
output.close();
}
}
Credo che questo metodo sia corretto poichè l'ho ritrovato anche in altri siti.
Ho installato il server JSDK e ho messo il metodo compilato nella directory
webpages\WEB - INF\servlets
Dopo la chiamata ottengo il seguente errore:
Error: 500
Internal Servlet Error:
java.lang.NoClassDefFoundError: HTTPGetServlet (wrong name: servlet/HTTPGetServlet)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at com.sun.web.core.ServletLoader.loadClass(ServletLoader.java:111)
at com.sun.web.core.ServletLoader.loadServlet(ServletLoader.java:30)
at com.sun.web.core.ServletWrapper.loadServlet(ServletWrapper.java:81)
at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:109)
at com.sun.web.core.InvokerServlet.service(InvokerServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
at com.sun.web.core.ServletWrapper.handleRequest(ServletWrapper.java:140)
at com.sun.web.core.Context.handleRequest(Context.java:375)
at com.sun.web.server.ConnectionHandler.run(ConnectionHandler.java:135)
Per richiamare il servlet uso una pagina html con un bottone:
<!-- HTTPGetServlet.html -->
<HTML>
<HEAD>
<TITLE>
Servlet HTTP GET Example
</TITLE>
</HEAD>
<BODY>
<FORM ACTION="http://localhost:8080/servlet/HTTPGetServlet" METHOD="GET">
<P> Click the button to have the servlet send an HTML document </P>
<INPUT TYPE="submit" VALUE="Get HTML Document">
</FORM>
<BODY>
</HTML>
Qualcuno ha una vaga idea di come poter risolvere il mio problema? :)
Grazie a presto
Francesco