Olá , Gostaria de saber se podem me dar uma ajuda com uma duvida fora do contexto do curso…
Tipo, eu estou com uma aplicação que faz requisições Ajax para o servlet, entao eu tive alguns problemas com CORS no qual ja resolvi, Poreeem, as minhas sessions no Back-end que é criada no momento do cadastro, some sempre que clico em outro botao que faça uma nova requisição a uma outra servlet.
Entao quando eu cadastro um cliente, ele recebe um JssesionID, quando ele clica para Cadastrar a localização dele e chama a servlet"cadastrarLocalizacao" o JsessionID vira outro, e o atributo “auth” e “id” ficam nulos…
irei disponibilizar o codigo aqui, obrigado.
Servlet Cadastro:
~~~Montao de request guardado no objeto ‘us’ ~~
UsuarioDAO dao = new UsuarioDAO();
HttpSession session = request.getSession();
int[] retorno = new int[2];
retorno = dao.cadastrar(us, Integer.parseInt(request.getParameter(“id”)));
switch (retorno[0]) {
case 3:
out.print(“cliente”);
session.setAttribute(“id”, retorno[1]);
session.setAttribute(“auth”, 0);
break;
case 4:
out.print(“estab”);
session.setAttribute(“id”, retorno[1]);
session.setAttribute(“auth”, 1);
break;
case 0:
out.print(“verifica”);
break;
default:
break;
}
} catch (Exception ex) {
Logger.getLogger(Cadastro.class.getName()).log(Level.SEVERE, null, ex);
}
}
Servlet cadastrarLocalização:
try (PrintWriter out = response.getWriter()) {
HttpSession session = request.getSession();
response.setContentType("text/html;charset=UTF-8");
Integer id = (Integer) session.getAttribute("id");
JSONObject jsonObject = new JSONObject();
Localizacao e = new Localizacao();
e.setIDPessoaEstabelecimento(id);
e.setLatitude((request.getParameter("latitude")));
e.setLongitude((request.getParameter("longitude")));
LocalizacaoDAO dao = new LocalizacaoDAO();
dao.cadastrar(e);
Integer oi = (Integer) session.getAttribute("auth");
out.print(oi);
} catch (SQLException | ClassNotFoundException ex) {
Logger.getLogger(cadastroPrato.class.getName()).log(Level.SEVERE, null, ex);
}
}
}