Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Duvida na conexão do JS com o HTML usando JSP

Pessoal estou com dois problemas aqui o primeiro é o que coloquei no titulo da duvida. Não está funcionando o JS quando subo a aplicação no TOMCAT. E o outro problema é que quando tem palavras com acentos elas não estão funcionando.

Vou deixar como está aqui:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Como vcs podem ver a frase olá, amigo está errada e ele deveria quando clicar no inscreva-se aparecer o formulário de inscrição. Vou deixar a imagem de como ele deveria ficar. Aqui eu fiz só com HTML,CSS e JS. Depois que passei pra o meu projeto da faculdade que sou obrigado a fazer com JSP (ninguém merece fazer nd de front com java kkkk)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Vou deixar os codigos aqui:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:url value="/cine?action=LoginBean" var="login"/>
<c:url value="/cine?action=CadastroUsuarioBean" var="cadastroUsuario"/>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/login.css">
    <title>Login</title>
</head>
<body>
<div class="container" id="container">
<div class="form-container sign-up-container">
    <form action="${login}" method="post">
        <h1>Criar uma conta</h1>
        
        <span>ou use seu e-mail para cadastro</span>
        <input type="text" placeholder="First name" name="name"/>
        <input type="text" placeholder="Last name" name="surname"/>
        <input type="email" placeholder="Email" name="email"/>
        <input type="password" placeholder="Password" name="password"/>
        <input type="date" placeholder="date"/>
        
<select id="sexo" name="genero">
    <option value="" disabled selected>Selecione uma opção</option>
    <option value="feminino">Masculino</option>
    <option value="masculino">Feminino</option>
    <option value="outros">Outros</option>
</select>
        <button>Inscrever-se</button>
    </form>
</div>

<div class="form-container sign-in-container">
    <form action="${cadastroUsuario}" method="post">
        <h1>Entrar</h1>		
        <span>ou se escrever-se</span>
        <input type="email" placeholder="Email" name="email"/>
        <input type="password" placeholder="Password" name="password"/>
        <a href="#">Esqueceu a senha ?</a>
        <button>Entrar</button>
    </form>
</div>
<div class="overlay-container">
    <div class="overlay">
        <div class="overlay-panel overlay-left">
            <h1>Bem vindo de volta!</h1>
            <p>Para se manter conectado conosco, faça login com suas informações</p>
            <button class="ghost" id="signIn">Entrar</button>
        </div>
        <div class="overlay-panel overlay-right">
            <h1>Olá, Amigo!</h1>
            <p>Insira seus dados e comece sua diversão conosoco</p>
            <button class="ghost" id="signUp">Inscrever-se</button>
        </div>
    </div>
</div>
</div>

<script src="js/login.js"></script>
</body>
</html>
const signUpButton = document.getElementById('signUp');
const signInButton = document.getElementById('signIn');
const container = document.getElementById('container');

signUpButton.addEventListener('click', () => {
    container.classList.add("right-panel-active");
});

signInButton.addEventListener('click', () => {
    container.classList.remove("right-panel-active");
});

Aqui como ta organizado as pastas:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi

Parece que você está enfrentando dois problemas: o JavaScript não está funcionando quando a aplicação é implantada no Tomcat, e há problemas com caracteres acentuados no JSP.

Problema 1: JavaScript não está funcionando no Tomcat

  1. Verifique o console de desenvolvedor: Abra o console de desenvolvedor do navegador (normalmente pressionando F12) e vá para a guia "Console". Verifique se há erros de JavaScript quando você acessa a página. Isso pode fornecer pistas sobre o que está errado.

  2. Caminho do arquivo JS correto: Certifique-se de que o caminho para o arquivo JavaScript (js/login.js) esteja correto em relação ao contexto da sua aplicação web no Tomcat.

  3. Configurações do Tomcat: Certifique-se de que o Tomcat está configurado corretamente para servir arquivos estáticos. Os arquivos JS são arquivos estáticos, e se o Tomcat não estiver configurado corretamente, eles podem não ser carregados.

Problema 2: Problemas com caracteres acentuados no JSP

  1. Codificação da Página JSP: Adicione a seguinte linha ao início do seu arquivo JSP para definir a codificação da página:

    <%@ page contentType="text/html;charset=UTF-8" %>
    
  2. Configuração do Tomcat: Certifique-se de que o Tomcat esteja configurado para usar a codificação correta. Você pode fazer isso adicionando o seguinte ao arquivo server.xml (geralmente localizado em <Tomcat_Home>/conf), dentro do elemento <Connector>:

    <Connector ... URIEncoding="UTF-8"/>
    
  3. UTF-8 nas Requisições HTTP: Verifique se as requisições HTTP estão sendo feitas com a codificação correta. Certifique-se de que os formulários HTML também estão usando UTF-8. Adicione o seguinte ao seu formulário:

    <form accept-charset="UTF-8" ...>
    

Lembre-se de reiniciar o Tomcat após fazer essas alterações.

Essas são direções gerais para solucionar os problemas que você está enfrentando. Se ainda houver problemas específicos após tentar essas sugestões, seria útil ver mensagens de erro específicas ou detalhes adicionais sobre o comportamento observado.