Ir para conteúdo

RSN

Members
  • Total de itens

    31
  • Registro em

  • Última visita

Posts postados por RSN


  1. Boa noite,
    Estou utilizando filter para filtrar as requisições porém está permitindo acessar as páginas mesmo sem o usuário estar logado.

    package filter;
    import java.io.IOException;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.annotation.WebFilter;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;
    
    import beans.Usuario;
    import dao.DaoUsuario;
    
    @WebFilter(urlPatterns={"/*"})
    public class FilterAutenticacao implements Filter{
    
    //faz alguma coisa quando a aplicação é derrubada
    @Override
    public void destroy() {
    	
    }
    
    //intercepta todas as requisições
    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
    		FilterChain chain) throws IOException, ServletException {
    	
    		HttpServletRequest req = (HttpServletRequest) request;
    		HttpSession session = req.getSession();
    		
    		String urlParaAutenticar = req.getServletPath();	
    		// retorna null caso não esteja logado
    	    Usuario usuario = (Usuario) session.getAttribute("usuario");
    	    
    	    if (usuario == null && !urlParaAutenticar.equalsIgnoreCase("/pages/ServletAutenticacao")){ // usuário não logado
    	    	RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp?url="+urlParaAutenticar);
    	    	dispatcher.forward(request, response);
    	    	return;// para o processo para redirecionar
    	    }
     	
    		// executa as ações do request e response
    		chain.doFilter(request, response);
    	
    }
    
    // executa alguma coisa quando a aplicação é iniciada
    @Override
    public void init(FilterConfig arg0) throws ServletException {
    	
    }
    }
    
    package servlet;
    
    import java.io.IOException;
    import java.net.InetAddress;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import dao.DaoLogin;
    import dao.DaoOcorrenciaAcesso;
    import beans.OcorrenciaAcesso;
    import beans.Usuario;
    
    @WebServlet("/ServletAutenticacao")
    public class ServletAutenticacao extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    private DaoLogin daoLogin = new DaoLogin();
    
    public ServletAutenticacao() {
    	super();
    }
    
    protected void doGet(HttpServletRequest request,
    		HttpServletResponse response) throws ServletException, IOException {
    	
    	if(Boolean.parseBoolean(request.getParameter("deslogar"))){
    		//adicionar usuario logado na sessao
    		HttpServletRequest req = (HttpServletRequest) request;
    		HttpSession session = req.getSession();
    		session.invalidate();
    		//redireciona para login novamente
    		response.sendRedirect("index.jsp");
    	}
    }
    
    protected void doPost(HttpServletRequest request,
    		HttpServletResponse response) throws ServletException, IOException {
    
    	String login = request.getParameter("login");
    	String senha = request.getParameter("senha");
    	String ipDaMaquina = InetAddress.getLocalHost().getHostAddress();
        //System.out.println(ipDaMaquina);
            //nome da maquina.
        String nomeDaMaquina = InetAddress.getLocalHost().getHostName();
        //System.out.println(nomeDaMaquina);
    
    	String url = request.getParameter("url");
    
    	// neste momento pode ser feito uma validação no banco de dados
    	try {
    		if (login != null && !login.isEmpty() && senha != null
    				&& !senha.isEmpty()) {
    			if (daoLogin.validarLogin(login, senha)) {
    			// se o login foi bem sucedido
    
    			Usuario usuario = new Usuario();
    			usuario.setLogin(login);
    			usuario.setSenha(senha);
    			
    			OcorrenciaAcesso ocorrenciaAcesso = new OcorrenciaAcesso();
    			ocorrenciaAcesso.setLogin(login);
    			ocorrenciaAcesso.setIpDaMaquina(ipDaMaquina);
    			ocorrenciaAcesso.setNomeDaMaquina(nomeDaMaquina);
    			
    			DaoOcorrenciaAcesso daoOcorrenciaAcesso = new DaoOcorrenciaAcesso();
    			
    			daoOcorrenciaAcesso.salvarOcorrenciaAcesso(ocorrenciaAcesso);
    			
    
    			// adiciona usuário logado na sessão
    			HttpServletRequest req = (HttpServletRequest) request;
    			HttpSession session = req.getSession();
    			session.setAttribute("login", usuario);
    
    
    			// redireciona para o sistema e autoriza
    			RequestDispatcher dispatcher = request
    					.getRequestDispatcher("pages/usuario.jsp");
    			dispatcher.forward(request, response);
    			
    			//gravar log de acesso
    			
    			
    			
    			
    			} else {// acesso negado
    				RequestDispatcher dispatcher = request
    						.getRequestDispatcher("acessonegado.jsp");
    				dispatcher.forward(request, response);
    			}
    
    		} else {// se o login falhou
    				// redireciona para login novamente
    			RequestDispatcher dispatcher = request
    					.getRequestDispatcher("/index.jsp");
    			dispatcher.forward(request, response);
    		}
    
    	} catch (Exception e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	}
    
    }
    }
    
    package servlet;
    
    import java.awt.Graphics2D;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayInputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    
    import javax.imageio.ImageIO;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.Part;
    import javax.xml.bind.DatatypeConverter;
    
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.apache.tomcat.util.codec.binary.Base64;
    
    import beans.Ocorrencia;
    import beans.Usuario;
    import dao.DaoUsuario;
    
    /**
    
    Servlet implementation class ServletUsuario
    */
    @WebServlet("/salvarUsuario")
    public class ServletUsuario extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    private DaoUsuario daoUsuario = new DaoUsuario();
    
    Ocorrencia ocorrencia = new Ocorrencia();
    
    public ServletUsuario() {
    super();
    
    }
    private String acaoGet;
    private String sessionUsuario;
    protected void doGet(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    
     try {
     	
    
     	String acao = request.getParameter("acao")  != null ? request.getParameter("acao"): "listartodos";
     	String user = request.getParameter("user");
     	acaoGet = acao; 
    
     	if (acao != null && acao.equalsIgnoreCase("listartodos"))
    
     	{
    
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/usuario.jsp");
     		request.setAttribute("usuarios", daoUsuario.listar());
     		view.forward(request, response);
    
     	}
    
     	else if (acao != null && acao.equalsIgnoreCase("delete")
     			&& user != null) {
     		daoUsuario.delete(user);
     		request.setAttribute("msg",  "Usuário excluído com Sucesso!");
     		//Tipo de mensagem
     		request.setAttribute("tipo", "success");
     		// daoUsuario.salvarOcorrencia(ocorrencia);
     		// daoUsuario.deleteOcorrencia(ocorrencia);
     		daoUsuario.acaoPagina(acaoGet);
     		daoUsuario.recuperarID();
     		daoUsuario.recuperarNome();
     		daoUsuario.recuperarUsuario(sessionUsuario);
     		daoUsuario.salvarOcorrencia(ocorrencia);
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/usuario.jsp");
     		request.setAttribute("usuarios", daoUsuario.listar());
     		view.forward(request, response);
    
     	} else if (acao != null && acao.equalsIgnoreCase("editar")
     			&& user != null) {
     		Usuario usuario = daoUsuario.consultar(user);
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/usuario.jsp");
     		request.setAttribute("user", usuario);
     		view.forward(request, response);
    
     	} else if (acao != null && acao.equalsIgnoreCase("ocorrencia")) {
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/ocorrencia.jsp");
     		request.setAttribute("ocorrencias",
     				daoUsuario.listarOcorrencia(user));
     		view.forward(request, response);
     		
     	}
    
     } catch (Exception e) {
     	e.printStackTrace();
    
     }
    }
    
    protected void doPost(HttpServletRequest request,
    HttpServletResponse response) throws ServletException, IOException {
    
     String acao = ("SalvarUsuario");
     String usuarioSessao = request.getParameter("usuarioSessao");
     sessionUsuario = usuarioSessao;
    
     boolean podeInserir = true;
     String msg = null;
    
     String id = request.getParameter("id");
     String login = request.getParameter("login");
     String nome = request.getParameter("nome");
     String senha = request.getParameter("senha");
    
     Usuario usuario = new Usuario();
     usuario.setId(!id.isEmpty() ? Long.parseLong(id) : null);
     usuario.setLogin(login);
     usuario.setNome(nome);
     usuario.setSenha(senha);
    
     Ocorrencia ocorrencia = new Ocorrencia();
    
     try {
     	if (id == null || id.isEmpty() && podeInserir) {
     		daoUsuario.salvar(usuario);
     		//Mensagem salvo com sucesso
     		request.setAttribute("msg",  "Usuário salvo com Sucesso!");
     		//Tipo de mensagem
     		request.setAttribute("tipo", "success");
     		daoUsuario.acaoPagina(acao);
     		daoUsuario.recuperarID();
     		daoUsuario.recuperarNome();
     		daoUsuario.recuperarUsuario(usuarioSessao);
     		daoUsuario.salvarOcorrencia(ocorrencia);
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/usuario.jsp");
     		request.setAttribute("usuarios", daoUsuario.listar());
     		view.forward(request, response);
    
     	}
     	if (id != null && !id.isEmpty()) {
     		daoUsuario.atualizar(usuario);
     		request.setAttribute("msg",  "Usuário editado com Sucesso!");
     		//Tipo de mensagem
     		request.setAttribute("tipo", "success");
     		daoUsuario.acaoPagina(acaoGet);
     		daoUsuario.recuperarID();
     		daoUsuario.recuperarNome();
     		daoUsuario.recuperarUsuario(usuarioSessao);
     		daoUsuario.salvarOcorrencia(ocorrencia);
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/usuario.jsp");
     		request.setAttribute("usuarios", daoUsuario.listar());
     		view.forward(request, response);
    
     	}else{
            
     		RequestDispatcher view = request
     				.getRequestDispatcher("/pages/usuario.jsp");
     		request.setAttribute("usuarios", daoUsuario.listar());
    
     	}
    
     } catch (Exception e) {
     	e.printStackTrace();
     }
    }
    
    }
    
       
    

     


  2. Consegui executar a função de imprmir  a div, porém tenho uma combobox e quando imprimo a div ele tras todos os registros da combobox, gostaria de imprimir somente o selecionado.

     

    									<script type="text/javascript">
    									document.getElementById('btn').onclick = function() {
    									   var conteudo = document.getElementById('print').innerHTML,
    									   tela_impressao = window.open('about:blank');
    
    									   tela_impressao.document.write(conteudo);
    									   tela_impressao.window.print();
    									   tela_impressao.window.close();
    									};
    									</script>

     


  3. Boa noite,

    Gostaria de após selecionar o produto carregasse outro select informando os preços(tabela produto), com javascript fazendo requisição para a servlet.

    div class="form-group col-md-4">
    									<label for="exampleInputEmail1">Produto</label> <select
    										class="form-control select2" style="width: 100%;"
    										id="id_produto" name="id_produto">
    										<option value="nao_informado">Selecione</option>
    										<c:forEach items="${produto}" var="product">
    											<option value="${product.id}" id="${product.id}"
    												<c:if test="${product.id == orcament.id_produto}">
    						 					<c:out value = "selected=selected" />
    						 	</c:if>>
    												${product.descricao}</option>
    										</c:forEach>
    									</select>
    								</div>
    								
    								<div class="form-group col-md-1">
    									<label for="exampleInputEmail1">Tabela/Precos</label> <select
    										class="form-control select2" style="width: 100%;"
    										id="id_table" name="id_table" >
    										<option value="nao_informado">Selecione</option>
    									</select>
    								</div>

     

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.