Erro ao redirecionar para index.jsp

Fala meu povo.

Minha index.jsp carrega normal, mas quando eu redireciono para ela pelo <error-page> a página carrega sem nenhum recurso, inclusive as funções perdem efeito.
O que pode ser? valeu!

index.jsp

<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
    <head>
        <title>VSF - Internet Banking</title>
        <link rel="stylesheet" href="recursis/css/bootstrap.min.css">
        <link href="recursis/css/index.css" rel="stylesheet">   
        <script src="recursis/js/jquery.js"></script>
        <script src="recursis/js/bootstrap.min.js"></script>
    </head>
    <body>
        <div class="container-fluid">
            <div class="col-md-12">
                <h1 class="titulo text-center "><strong>VSF - Internet Banking</strong></h1>
                <h4 class="subtitulo text-center"><strong>Acesso a Conta</strong></h4>
            </div>
            <div class="col-md-4">
            </div>
            <div class="well well-lg col-md-4 box-login">
                <form role="form" action="ProcessaLogin" method="POST">
                    <div class="form-group">
                        <label for="agencia">Agencia </label>
                        <input id="agencia" class="form-control" type="text" name="idAgencia" required="yes" maxlength="4" pattern="[0-9]+$" title="Apenas números"> 
                    </div>
                    <div class="form-group">
                        <label for="conta">Conta </label>
                        <input id="conta" class="form-control" type="text" name="conta" required="yes" maxlength="10" pattern="[0-9]+$" title="Apenas números">
                    </div>
                    <div class="form-group">
                        <label for="senha">Senha </label>
                        <input id="senha" class="form-control" type="password" name="senha">
                    </div>
                    <div class="form-group">
                        <p class="text-center alert-danger" id="prg-erro"></p>  
                    </div>
                    <div class="form-group col-md-offset-3 col-md-6">
                        <input id="btn-login" class="form-control btn btn-primary" type="submit" value="Acessar Conta">
                    </div> 
                </form>
                <div class="cadastro col-md-12 text-center">
                    <strong>Não possui uma conta? Crie uma para</strong>
                    <br><br>
                    <div class="form-group col-md-offset-1 col-md-4">
                         <form action="ServletCliente?acao=carregaAgenciasCadastro" method="POST">
                            <input name="tipoConta" id="btn-login" class="form-control btn btn-primary" type="submit" value="Você">
                         </form>
                    </div> 
                    <div class="form-group col-md-offset-2 col-md-5">
                         <form action="ServletCliente?acao=carregaAgenciasCadastro" method="POST">
                            <input name="tipoConta" id="btn-login" class="form-control btn btn-primary" type="submit" value="Sua Empresa">
                         </form>
                    </div> 
                </div>
            </div>
            <div class="col-md-4">
            </div>
        </div>
        <script>
            $(document).ready(function() {
                $("#btn-login").click(function(){
                    if ($("#agencia").val()=="" || $("#conta").val()=="" ||$("#senha").val()=="" ){
                        $("#prg-erro").text("Preencha todos os campos");
                        
                        return false;
                    }else{
                        $("#prg-erro").text("");
                    };                  
                });
            });
        </script>
    </body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    
    <welcome-file-list>
        <welcome-file>/WEB-INF/views/index.jsp</welcome-file>
    </welcome-file-list>
    <error-page>
        <location>/WEB-INF/views/index.jsp</location>
    </error-page> 
</web-app>

Antes (login e botões funcionam)

Nada funciona

Sua errorPage não pode ser a mesma página do login.

ErrorPage é uma página customizada para quando acontece um erro inesperado no seu sistema.

Ex.: Ao ocorrer um erro de acesso ao banco de dados (o servidor ficou fora do ar), a página será redirecionada para a error page que dirá ao usuário que o sistema está com problemas técnicos e que ele deverá tentar o acesso mais tarde.

Para erros na página de login (o que chamamos de erros checados), você deve redirecionar para a mesma página (sem usar o errorPage) e mostrar alguma mensagem na tela informando o que aconteceu.

1 curtida

OPA
obrigado

isso é por convenção ou realmente causa os erros que comentei??

Fato que a referência ao JS e ao CSS esteja se perdendo nesse redirecionamento. Poderia mostrar a estrutura de pastas do seu projeto?

1 curtida

tirei da web-inf, por enquanto ta o mesmo erro

estrutura

index.jsp

> <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

> <!DOCTYPE html>
> <html>
>     <head>
>         <title>VSF - Internet Banking</title>
>         <link rel="stylesheet" href="recursis/css/bootstrap.min.css">
>         <link href="recursis/css/index.css" rel="stylesheet">   
>         <script src="recursis/js/jquery.js"></script>
>         <script src="recursis/js/bootstrap.min.js"></script>
>     </head>
>     <body>
>         <div class="container-fluid">
>             <div class="col-md-12">
>                 <h1 class="titulo text-center "><strong>VSF - Internet Banking</strong></h1>
>                 <h4 class="subtitulo text-center"><strong>Acesso a Conta</strong></h4>
>             </div>
>             <div class="col-md-4">
>             </div>
>             <div class="well well-lg col-md-4 box-login">
>                 <form role="form" action="ProcessaLogin" method="POST">
>                     <div class="form-group">
>                         <label for="agencia">Agencia </label>
>                         <input id="agencia" class="form-control" type="text" name="idAgencia" required="yes" maxlength="4" pattern="[0-9]+$" title="Apenas números"> 
>                     </div>
>                     <div class="form-group">
>                         <label for="conta">Conta </label>
>                         <input id="conta" class="form-control" type="text" name="conta" required="yes" maxlength="10" pattern="[0-9]+$" title="Apenas números">
>                     </div>
>                     <div class="form-group">
>                         <label for="senha">Senha </label>
>                         <input id="senha" class="form-control" type="password" name="senha">
>                     </div>
>                     <div class="form-group">
>                         <p class="text-center alert-danger" id="prg-erro"></p>  
>                     </div>
>                     <div class="form-group col-md-offset-3 col-md-6">
>                         <input id="btn-login" class="form-control btn btn-primary" type="submit" value="Acessar Conta">
>                     </div> 
>                 </form>
>                 <div class="cadastro col-md-12 text-center">
>                     <strong>Não possui uma conta? Crie uma para</strong>
>                     <br><br>
>                     <div class="form-group col-md-offset-1 col-md-4">
>                          <form action="ServletCliente?acao=carregaAgenciasCadastro" method="POST">
>                             <input name="tipoConta" id="btn-login" class="form-control btn btn-primary" type="submit" value="Você">
>                          </form>
>                     </div> 
>                     <div class="form-group col-md-offset-2 col-md-5">
>                          <form action="ServletCliente?acao=carregaAgenciasCadastro" method="POST">
>                             <input name="tipoConta" id="btn-login" class="form-control btn btn-primary" type="submit" value="Sua Empresa">
>                          </form>
>                     </div> 
>                 </div>
>             </div>
>             <div class="col-md-4">
>             </div>
>         </div>
>         <script>
>             $(document).ready(function() {
>                 $("#btn-login").click(function(){
>                     if ($("#agencia").val()=="" || $("#conta").val()=="" ||$("#senha").val()=="" ){
>                         $("#prg-erro").text("Preencha todos os campos");
>                         
>                         return false;
>                     }else{
>                         $("#prg-erro").text("");
>                     };                  
>                 });
>             });
>         </script>
>     </body>
> </html>

observação…se eu digitar um endereço errado qualquer http://localhost:8080/vsfBanking/XXXXXXXXXXXXXXX

ele redireciona p index legal.
agora se eu inserir uma barra a mais no link errado, ele redireciona com erro (deixa de funcionar login e efeitos da tela)
ex: http://localhost:8080/vsfBanking/qualquercoisa/outracoisa