Problema Eclipse

Soy novato en Servlets java con jsp y estoy teniendo bastantes problemas con eclipse. Para empezar tengo un proyecto creado con un servlet que se encarga de procesar lo que m devuelve el jsp y en función de ello realiza una acción u otra y me remite a un jsp u otro. Sin embargo cuando hago run sobre el proyecto eclipse me devuelve lo siguiente:
El recurso requerido (/Twitter/) no está disponible. Pero si hago run sobre el jsp en cuestión si que m lo carga (lo cual no se si es normal o no).
Una vez en el primer jsp lo único que hago es recoger los dats de un formulario:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@page import= "Servlet.NuevoServlet" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Twitter UPF</title>
</head>
<body>
<form action="NuevoServlet" method="get">
<input type="text" name="nombre" id="nombre"/>
<input type="hidden" name="op" id="op" value=1/>
<input type="submit" name="Enviar" id="Enviar"/>
</form>
</body>
</html>
Y los proceso en el servlet:
int opcion = Integer.valueOf(request.getParameter("op"));
        System.out.println("HOLA");
        System.out.println(opcion);
        System.out.println("HOLA");
        //Conexion c = new Conexion();
        HttpSession session = request.getSession(true);
        /*String variable="";
        session.setAttribute("NomQueVolem", variable);
        */
         switch (opcion)
         {
         case 1: //Login
             String nombre =(String) request.getParameter("nombre");
             System.out.println(nombre);
             session.setAttribute("nombre", nombre);
             response.sendRedirect("primero.jsp");
             break;
         case 2://Register
             break;
         case 3://Change Data User
             break;
         default:
             break;
         }
Sin embargo eclipse me da el siguiente error al darle al botón enviar dl formulario:
El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento
Javax. Servlet. ServletException: El Arropador (Wrapper) no puede hallar clase de servlet NuevoServlet o una clase de la que depende
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(Unknown Source)
Y al intentar exportar el proyecto como war y subirlo al apache me devuelve el mismo error. He comprobado las librerías, y la de servlet esta incluida correctamente en el eclipse así que no se que m esta fallando y necesito ayuda urgentemente para poder empezar a implementar el proyecto, ya que no logro ni pasar del primer jsp.

1 respuesta

Respuesta
1
El primer error que me comentas me suena a que el servidor Tomcat no sabe cual es la página principal de tu aplicación (supongo que la aplicación se llama "twitter"). Tienes dos opciones: o renombras a tu página y la llamas "index.jsp", o bien, metes este código en el archivo "web.xml":
<welcome-file-list>
        <welcome-file>twitter_inicio.jsp</welcome-file>
</welcome-file-list>

..suponiendo que así se llame la jsp a la que quieres invocar.
También puedes crearte un "index.html" que lo unico que haga es redireccionar a tu jsp.
El segundo error que me comentas me huele a que no tienes bien definido el "mapping" al servlet, es decir, la relación entre cómo invocas al servlet (NuevoServlet) y la clase que implementa esta llamada. Los mappings se hacen en el archivo "web.xml" de tu aplicación. Por si acaso, te digo que este archivo tiene que estar en la carpeta "WEB-INF" dentro de tu aplicación. Pues como te decía, en el "web.xml" tienes que tener algo como esto:
<servlet>
        <servlet-name>NuevoServlet</servlet-name>
        <servlet-class>mipaquete.misubpaquete.NuevoServlet</servlet-class>
</servlet>

Espero que estas indicaciones te sirvan de ayuda. Un saludo:
Carlos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas