Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/09/2008, 07:54
Mfolky
 
Fecha de Ingreso: septiembre-2008
Mensajes: 21
Antigüedad: 16 años, 4 meses
Puntos: 0
tomcat con eclipse

Estoy intentando ver los ejemplos que hay en la pagina FREEMARKER con el eclipse i el tomcat. AL iniciar tomcat conecta correctamente pero para visualizar el ejemplo me da un error. El error es el siguiente:

Estado HTTP 500 -

type Informe de Excepción

mensaje

descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

excepción

javax.servlet.ServletException: Error instanciando clase de servlet example.HelloServlet
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)

causa raíz

java.lang.NoClassDefFoundError: freemarker/template/TemplateException
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Cla ss.java:2328)
java.lang.Class.getConstructor0(Class.java:2640)
java.lang.Class.newInstance0(Class.java:321)
java.lang.Class.newInstance(Class.java:303)
org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11 ConnectionHandler.processConnection(Http11BaseProt ocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.process Socket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThr ead.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlR unnable.run(ThreadPool.java:689)
java.lang.Thread.run(Thread.java:595)

nota La traza completa de la causa de este error se encuentra en los archivos de diario de Apache Tomcat/5.5.27.

los tres archivos que aparecen en el ejemplo (simple) son

HelloServlet.java:

package example;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import freemarker.template.*;

/**
* This Servlet does not do anything useful, just prints "Hello World!". The
* intent is to help you to get started if you want to build your own Controller
* servlet that uses FreeMarker for the View. For more advanced example, see the
* 2nd Web application example.
*/
public class HelloServlet extends HttpServlet {
private Configuration cfg;

public void init() {
// Initialize the FreeMarker configuration;
// - Create a configuration instance
cfg = new Configuration();
// - Templates are stoted in the WEB-INF/templates directory of the Web app.
cfg.setServletContextForTemplateLoading(
getServletContext(), "WEB-INF/templates");
// In a real-world application various other settings should be explicitly
// set here, but for the sake of brevity we leave it out now. See the
// "webapp2" example for them.
}

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {

// Build the data-model
Map root = new HashMap();
root.put("message", "Hello World!");

// Get the templat object
Template t = cfg.getTemplate("test.ftl");

// Prepare the HTTP response:
// - Use the charset of template for the output
// - Use text/html MIME-type
resp.setContentType("text/html; charset=" + t.getEncoding());
Writer out = resp.getWriter();

// Merge the data-model and the template
try {
t.process(root, out);
} catch (TemplateException e) {
throw new ServletException(
"Error while processing FreeMarker template", e);
}
}
}

test.ftl:

<html>
<head>
<title>FreeMarker Example Web Application 1</title>
</head>
<body>
${message}
</body>
</html>

y web.xml

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

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<display-name>FreeMarker Example Web Application 1</display-name>
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>help.html</welcome-file>
</welcome-file-list>
</web-app>

alguien sabe pq da ese error? Supongo que debe ser algo de configuracion del TOMCAT pero no se como arreglarlo

Muchas gracias.