entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

jsp, servlets y href

Estoy levantando una web con jsp y servlet. Desde el jsp tengo "linkado" una plantilla de html con

<%@ include file="template1.html" %>

sí como el css con

<link rel="StyleSheet" media="screen" type="text/css" href="../CSS/estilos.css">

dentro del head. Dentro del html tengo una botonera definida como

<nav id="menu" >
                <menu><a href="../JSP/gcar.login.jsp" class="link_menu">Acceder</a></menu>
                <menu><a href="http://localhost:8080//JSP/gcar.register.jsp" class="link_menu">Registrarse</a></menu>                    
                <menu><a href="http://localhost:8080//JSP/gcar.manage.jsp" class="link_menu">Gestionar cuenta</a></menu>
                <menu><a href="http://localhost:8080//JSP/gcar.login.jsp" class="link_menu">Publicar Viaje</a></menu>
                <menu><a href="http://localhost:8080//JSP/gcar.search.jsp" class="link_menu">Buscar Viaje</a></menu>                                       
            </nav>

colgando el index.jsp de la raiz y estando los jsp a los que quiero redirigir dentro de /JSP/xxx.jsp.
o consigo que me rediriga correctamente a ninguno de los jsp, y ya he probado un porrón de posbilidades del href.

¿Alguien sabe corregirlo?

2 Respuestas

1voto

Alfredo-Piris Puntos450

Solucionado, era un problema del puerto. Al parecer no empleo el 8080 si no el 8084.

Espero que esto no me de problemas más adelantes, a la hora de presentar la aplicación, pero en el caso de dármelo, tendría que reconfigurar el tomcat para que el localhost sea el 8084, verdad?

0voto

Leonardo-Tadei comentado

Hola Alfredo,

deberías tener la ruta a la raíz de tu aplicación en una constante o armarla basado en variables de entorno, de manera tal que al ponerla en producción, solo debas cambiar la ruta a la raíz para que todo funcione.

Recuerda: si poniendo a mano el URL de la página esta no responde, el problema no está en el código!

0voto

Alfredo-Piris comentado

Gracias por los consejos Leonardo, espero que no te importe si abuso un poco más de tus conocimientos para poder poner en marcha esta aplicación, que es la primera vez que me meto con estas cosas de servlets y jsp y ando bastante verde, la verdad.

El problema (el nuevo) es el siguiente: Nada más lanzar la aplicación me salta un dic 23, 2013 12:19:30 PM org.apache.catalina.core.StandardWrapperValve invoke Grave: El Servlet.service() para el servlet [jsp] en el contexto con ruta [/GasteizCar] lanzó la excepción [/index.jsp (línea: 8, columna:1) Archivo JSP "template1.html" no encontrado] con causa raíz org.apache.jasper.JasperException: /index.jsp (línea: 8, columna: 1) Archivo JSP template1.html"no encontrado

La cosa es que mi index.jsp es el siguiente:

 <%-- 
    Document   : newjsp
    Created on : 19-dic-2013, 14:12:45
    Author     : Alfredo
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ include file="template.html" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="StyleSheet" media="screen" type="text/css" href="http://localhost:8084/GasteizCar/css/estilos.css">
        <title>Gcar</title>
    </head>
    <body>
    </body>
</html>

Siendo la arquitectura de la web la siguiente.
Siendo la ruta

La verdad es que yo no veo donde estoy llamando al archivo "template1".

Gracias de antemano por toda la ayuda brindada :)

0voto

Leonardo-Tadei comentado

Hola Alfredo,

por favor, convertí esto en una nueva pregunta, ya que no tiene que ver con tu pregunta original y nadie la encontrará para ayudarte!

0voto

Alfredo-Piris comentado

hecho :)
link

2votos

Leonardo-Tadei Puntos227320

Hola Alfredo,

esto depende exclusivamente de la estructura de directorios que estés montando con las cosas.

Si en el navegador ponés por ejemplo:

http://localhost:8080/JSP/gcar.manage.jsp

te carga la correspondiente página gcar.manage.jsp ??? Al ser rutas absolutas deberías poder cargarlas tal cual silas escribís a mano en el URL del navegador.

Veo que estás usando rutas absolutas para los enlaces de abajo, pero el primero tiene una ruta relativa a ../JSP/ con lo que la página para mostrar esto debería estar en un directorio a la misma altura de JSP/

Un detalle menor pero irerlavante para el problema es que estás poniendo // después de localhost. Lo correcto es una sola / pero no tendría que afectar el funcionamiento en este caso (Apache Tomcat por ejemplo se las arregla para ignorarlo)

Saludos!

0voto

Alfredo-Piris comentado

Si en el navegador ponés por ejemplo:
http://localhost:8080/JSP/gcar.manage.jsp
te carga la correspondiente página gcar.manage.jsp ??? Al ser rutas absolutas deberías poder cargarlas tal cual silas escribís a mano en el URL del navegador.

Ese es precisamente el problema, que tampoco carga el recurso si escribo a mano la url. De hecho me salta un error diciendo "cannot open http://localhost:8080/JSP/gcar.login"

Veo que estás usando rutas absolutas para los enlaces de abajo, pero el primero tiene una ruta relativa a ../JSP/ con lo que la página para mostrar esto debería estar en un directorio a la misma altura de JSP/

No hagas caso de las urls que tenia puestas con antes, como dije, eran fruto de pruebas y mas pruebas.

Agradecería cualquier otra ayuda que pudieras brindarme, a ver si entre los dos podemos lograr alcanzar una solución.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta