-
Conteúdo Similar
-
Por violin101
Caros amigos, saudações.
Estou escrevendo um Sistema em JAVA Web Servlet, estou tendo problema para Invalidar Sessão.
Toda vez que o usuário faz o LOGOUT, o sistema permite que o Navegar retorna para a página anterior.
Como consigo bloquear/destruir a sessão para o Sistema quando o usuário sair, voltar sempre para o Login.
o meu Servlet está assim:
package br.com.rc.controlador; import br.com.rc.dao.UserDAO; import br.com.rc.modelo.Usuario; import br.com.rc.seguranca.Criptografia; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Servlet - Autenticação Usuário */ public class AuthControlador extends HttpServlet { private UserDAO authDao = new UserDAO(); private final String PagIndex = "index.jsp"; private final String PagHome = "home.jsp"; private final String PagLogout = "deslogar.jsp"; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String accion = request.getParameter("accion"); switch (accion) { case "login": Login(request, response); break; case "logout": Logout(request, response); break; default: throw new AssertionError(); } } protected void Login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); request.getRequestDispatcher(PagIndex).forward(request, response); } /* * O problema está aqui, não invalida a sessão e permite que volta * para a página anterior. */ protected void Logout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); HttpSession session = request.getSession(); session.setAttribute("users", null); session.removeAttribute("users"); session.invalidate(); response.sendRedirect(PagLogout); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return "Short description"; } }
Deslogar.JSP
página criada para impedir que volte para a anterior.
<% //Destrói Sessão session.invalidate(); //Redirecionar Página Login response.sendRedirect("index.jsp"); %>
Grato,
Cesar
-
Por violin101
Caros amigos, saudações.
Estou escrevendo um Sistema em JAVA Web e estou encontrando um problema para fazer Paginação.
O sistema informa o Limite de registro por página, mas não mostra abaixo da tabela a paginação.
Alguém pode me ajudar ?
Posto o Código abaixo.
Controller - Servlet
package br.com.rc.controlador; import br.com.rc.modelo.Cargo; import br.com.rc.modelo.dao.CargoDAO; import java.io.IOException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet */ public class srvCargos extends HttpServlet { private CargoDAO crgDao = new CargoDAO(); private final String pagListar = "/views/cargos/cargos.jsp"; private final String pagNovo = "/views/cargos/cargoNovo.jsp"; private final String pagEditar = "/views/cargos/cargoEditar.jsp"; protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); String accion = request.getParameter("accion"); switch (accion) { case "listarCargos": listarCargos(request, response); break; default: throw new AssertionError(); } } protected void listarCargos(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); int paginaActual = 1; int registrosPorPagina = 5; // Qtde por Tabela if (request.getParameter(pagListar) != null) { paginaActual = Integer.parseInt(request.getParameter(pagListar)); } int offset = (paginaActual - 1) * registrosPorPagina; List<Cargo> lista = crgDao.ListarTodos(offset, registrosPorPagina); int totalRegistros = crgDao.contarTotal(); int totalPaginas = (int) Math.ceil((double) totalRegistros / registrosPorPagina); request.setAttribute("cargos", lista); request.setAttribute("totalPaginas", totalPaginas); request.setAttribute("paginaAtual", paginaActual); request.getRequestDispatcher(pagListar).forward(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }
Classe DAO
package br.com.rc.modelo.dao; import br.com.rc.config.Conexion; import br.com.rc.modelo.Cargo; import java.sql.*; import java.util.ArrayList; import java.util.List; /** * Classe DAO */ public class CargoDAO { private Connection cn = null; private PreparedStatement ps = null; private ResultSet rs = null; private int noOfRecords; public ArrayList<Cargo> ListarTodos(int offset, int noOfRecords) { ArrayList<Cargo> lista = new ArrayList<>(); try { cn = Conexion.getConnection(); String sql = "select * from Cargo ORDER BY nombreCargo ASC limit " + offset + ", " + noOfRecords; ps = cn.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { Cargo obj = new Cargo(); obj.setIdCargo(rs.getInt("idCargo")); obj.setNombreCargo(rs.getString("nombreCargo")); obj.setEstado(rs.getBoolean("estado")); lista.add(obj); } } catch (Exception ex) { ex.printStackTrace(); } finally { try { if (cn != null) { cn.close(); } if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } } catch (Exception ex) { } } return lista; } public int contarTotal() { String sql = "Select Count(*) From Cargo"; try (PreparedStatement ps = cn.prepareStatement(sql)) { ResultSet rs = ps.executeQuery(); if (rs.next()) return rs.getInt(1); } catch (SQLException e) { e.printStackTrace(); } return 0; } public int getNoOfRecords() { return noOfRecords; } }
Página JSP
caminho: \web\views\cargos\cargos.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <jsp:include page="../../estilo/header.jsp" /> <jsp:include page="../../estilo/menu.jsp" /> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <section class="content-header"> <h1>Página Cargos</h1> </section> <!-- Content Header (Page header) --> <section class="content-header"> <a href="srvCargos?accion=novo" class="btn btn-success"> <i class="fa fa-plus"></i> Novo Cargo </a> <ol class="breadcrumb"> <li><a href="srvCargos?accion=index"><i class="fa fa-dashboard"></i> Inicio</a></li> <li class="active">Cargos</li> </ol> </section> <section class="content"> <div class="box"> <div class="box-header with-border"> <h3 class="box-title">Lista de Cargos</h3> </div> <div class="box-body"> <div class="table-responsive" > <table class="table table-bordered table-striped dataTable table-hover" id="tablaCargos"> <thead> <tr> <th>Código</th> <th>Descrição</th> <th>Estado</th> <th>Ação</th> </tr> </thead> <tbody> <c:forEach items="${cargos}" var="item"> <tr> <td>${item.idCargo}</td> <td>${item.nombreCargo}</td> <c:if test="${item.estado == true}"> <td><span class="badge bg-green active">Ativo</span></td> </c:if> <c:if test="${item.estado == false}"> <td><span class="badge bg-red active">Inativo</span></td> </c:if> <td> <a href="srvCargos?accion=buscar&id=${item.idCargo}" class="btn btn-info btn-sm"> <i class="fa fa-edit"></i> </a> <a href="srvCargos?accion=eliminar&id=${item.idCargo}" onclick="return confirm('Deseja Realmente Excluir o Cargo com id ${item.idCargo}')" class="btn btn-danger btn-sm"> <i class="fa fa-trash"></i> </a> </td> </tr> </c:forEach> <c:if test="${cargos.size() == 0}"> <tr class="text-center"> <td colspan="6">Nenhum Registro Enconrado.</td> </tr> </c:if> </tbody> </table> <!--Aqui está o erro ===> a parte de Navegação não mostra--> <nav> <ul class="pagination"> <c:if test="${paginaActual > 1}"> <li class="page-item"><a class="page-link" href="srvCargos?accion=listarCargos?page=${paginaActual - 1}">Anterior</a></li> </c:if> <c:forEach var="i" begin="1" end="${totalPaginas}"> <li class="page-item ${i == paginaActual ? 'active' : ''}"> <a class="page-link" href="srvCargos?accion=listarCargos?page=${i}">${i}</a> </li> </c:forEach> <c:if test="${paginaActual < totalPaginas}"> <li class="page-item"><a class="page-link" href="srvCargos?accion=listarCargos?page=${paginaActual + 1}">Siguiente</a></li> </c:if> </ul> </nav> </div> </div> </div> </section> <!-- /.content --> </div> <!-- /.content-wrapper --> <jsp:include page="../../estilo/footer.jsp" />
Grato,
Cesar
-
Por violin101
Caros amigos, saudações.
Por favor, alguém pode me dar uma explicação referente o Template AdminLTE + Java Netbeans.
Após importar para o Sistema Web. o componente para a pasta:
WEB PAGES
|___> bower_components - fica apresentando ERRO em algumas subpastas.
Como consigo corrigir esses erros ?
At.te,
Cesar
-
Por violin101
Caros amigos, saudações.
Estou com uma dúvida em Sistema WEB em Java.
O Código abaixo está na Página index.jsp
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/> </head> </html>
O problema são os caracteres especiais que não consigo corrigir.
Como consigo converter os Caracteres para o Padrão Português(BR) ?
Grato,
Cesar
-
Por violin101
Caros amigos, saudações.
Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:
ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
Já tentei de várias formas resolver esse problema, mas não estou conseguindo.
Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?
Grato,
Cesar
-
Boa noite pessoal, estou a mais de 3 semanas com um trabalho e está impossivel resolver. Segue a questão
// Escreva um programa que leia 4 arquivos de numeros inteiros, calcule a média.
//Mostre o maior quadrado que seja menor que a média de todos os números maiores que a média dos números de cada um dos arquivos.
//Ex: Média dos números do arquivo 01 = 35
//Números do arquivo 01 que são maiores que 35 = Ni...Nn
//Maior quadrado entre os N números do arquivo 01 = x.
A baixo vou colocar 2 tentativas que não saem da parte de calcular a media, como posso calcular a segunda parte??
TENTATIVA 01
#include <stdio.h>
#include <stdlib.h>
main(){
FILE *numeros, *maior, *menor, *medio;
int numero;
float media;
//abertura dos arquivos
numeros = fopen ("numeros.txt", "r");
maior = fopen ("maior.txt", "w" );
medio = fopen ("medio.txt" , "w");
menor = fopen ("menor.txt" , "w");
//leitura dos dados e gravação do arquivo
while (fscanf (numeros , "%i %f" , &numero , &media)!= EOF){
if (media >= 6)
fprintf (maior,"%i %4.1f\n",numero,media);
else
fprintf (medio,"%i %4.1f\n",numero,media);
}
//fechando os arquivos
fclose (numeros);
fclose (maior);
fclose (medio);
fclose (menor);
}
TENTATIVA 02 (ACHO QUE A MELHOR)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdlib.h>
#define TAM_MED 50 //tamanho na média
#define M 4 //número de arquivos
#define TRUE 1
#define FALSE 0
int leitura( int id, int medi){
int id_num, id_num2, id_num3, id_num4;
int med;
FILE* numeros = fopen ("numeros.txt","r");
FILE* numeros2 = fopen ("numeros2.txt", "r");
FILE* numeros3 = fopen ("numeros3.txt", "r");
FILE* numeros4 = fopen ("numeros4.txt", "r");
if (numeros != NULL){
while (fscanf(numeros, "%d\n", &id_num, med) != EOF){ //End of file
printf("%d\n", id_num, med);
}
if (numeros != NULL){
while (fscanf(numeros2,"%d\n", &id_num2,med) != EOF){ //End of file
printf("%d\n", id_num2,med);
}
if (numeros != NULL){
while (fscanf(numeros3,"%d\n", &id_num3,med) != EOF){ //End of file
printf("%d\n", id_num3,med);
}
if (numeros != NULL){
while (fscanf(numeros4,"%d\n", &id_num4,med) != EOF){ //End of file
printf("%d\n", id_num4,med);
}
}
fclose (numeros);
fclose (numeros2);
fclose (numeros3);
fclose (numeros4);
return 0;
}
}
}
}
int main(){
int id_num, id_num2, id_num3, id_num4;
printf("Digite o primeiro numero: %d");
scanf("%d", &id_num);
printf("Digite o segundo numero: %d");
scanf("%d", &id_num2);
printf("Digite o terceiro numero: %d");
scanf("%d", &id_num3);
printf("Digite o quarto numero: %d");
scanf("%d", &id_num4);
printf("Media: %f", (float) (id_num + id_num2+ id_num3+ id_num4)/4);
return 0;
}
Compartilhar este post
Link para o post
Compartilhar em outros sites