Problema al cargar libreria javascrip

Estimados,
soy algo nuevo en el desarrollo con java, agradeceria que me den una para solucionar este problema.
Tengo una pagina jsp, muy simple, que tiene que cargar una libreria y no lo hace.
Si trato de depurar la aplicacion con firebug, lo que obtengo es el mensaje "ReferenceError: cargarImagen is not defined"
Si hago boton derecho sobre la pagina, ver codigo, se ve la instruccion "src=/Gastos_2/js/ajax.js"

Donde Gastos_2 es la referencia al contexto, pero si le hago click, en vez de cargarme la libreria javascript, lo que me trae la pagina jsp de login.
No entiendo este comportamiento, si alguien me puede dar una mano, agradecido desde ya.
Adjunto el codigo completo de la pagina jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Registro de Administradores</title>

        <!-- la etiqueta c:url devuelve el contexto -->
        <script type="text/javascript" src='<c:url value="/js/ajax.js" />'> </script>

    </head>
    <body>
        <span style="color:red; font-weight:bold;">
            <c:out value="${requestScope.msg}" />
        </span> <br/>

        <form action="?accion=registroAdmin" method="post">
            <table>
                <tr>
                    <td>Correo electrónico</td>
                    <td> <input type="email" name="email" size="40" /> </td>
                </tr>

                <tr>
                    <td> Contraseña </td>
                    <td> <input type="password" name="contrasena" size="40" />  </td>
                </tr>

                <tr>
                    <td> Repite tu contraseña </td>
                    <td> <input type="password" size="40" /> </td>
                </tr>

                <tr>
                    <td> Nombre completo </td>
                    <td> <input type="text" name="nombre" size="40" /> </td>
                </tr>
     
                <tr>
                    <td> Selecciona una fotografia </td>
                    <td> <input type="file" id="file" /> <input type="button" value="cargar" onclick="cargarImagen();" />   </td>
                </tr>

                <tr>
                    <td> <input type="submit" value="Crear" /> </td>
                    <td>  </td>
                </tr>

            </table>
        </form>

    </body>
</html>

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Re: cargar librería

 

A primera vista, hay dos posibles causas de este comportamiento:

  1. Existe un filtro. Posiblemente éste busca algo en el ámbito de sesión, etc., pero al no encontrarlo, trae la pagina jsp de login.
  2. Existe autenticación basada en formularios, pero debido a que el usuario no se ha autenticado, entonces trae la pagina jsp de login.

~~~

Jpaul, si hay un filtro, he

Jpaul,

si hay un filtro, he utilizado el depurador para "ver" si hay algo anormal, pero veo todo correcto.
Y en cuento a la autentificacion basada en formularios, no existe.

Sigo buscando...

Se agradece de todos modos!

Saludos
Fernando

Imagen de neko069

JS

¿En tu fichero ajax.js existe la función cargarImagen() así como la invocas? es decir, sin argumentos y con el mismo case en el nombre de la función. El error de "XYZ is not defined" siempre es porque no encuentra una función que se supone definiste en en tu fichero de javascript.

En el caso de que fuera algún filtro de seguridad, tendrías que checar que el usuario con el que estás en sesión pueda ver los ficheros js.