Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: JSP (Java Server Pages) ::: JSP + MySQL ::: Algorítmos Úteis

Exemplo completo de paginação usando JSP e MySQL

Quantidade de visualizações: 27290 vezes
<%@ page language="java" import="java.sql.*" %>
<html>
<head><title>Aprendendo JSP</title>
</head>
<body>

<%
  // Este exemplo mostra como paginar os resultados de uma
  // tabela MySQL
  // o nome da base de dados é "test"
 
  String url = "jdbc:mysql://localhost/test";
  String usuario = "root";
  String senha = "1234";
  
  Connection conn = null;
  
  try{
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection(url, usuario, senha);
  }
  catch(SQLException ex){
    out.println("SQLException: " + ex.getMessage() + "<br>");
    out.println("SQLState: " + ex.getSQLState() + "<br>");
    out.println("VendorError: " + ex.getErrorCode() + "<br>");
  }
  catch(Exception e){
    out.println("Problemas ao tentar conectar com o banco de dados");
  }
  
  // conn é a conexão com o banco de dados
  int limit = 5; // quantidade de resultados por página                
  
  // obtém a quantidade de registros
  PreparedStatement pstmt = conn.prepareStatement(
		"SELECT COUNT(*) AS c FROM CLIENTES");
  ResultSet rs = pstmt.executeQuery();
  rs.next();
  int total_rows = Integer.parseInt(rs.getString("c"));
  

  String pagina = request.getParameter("pagina"); // página atual
  if(pagina == null){
    pagina = "1";
  }
  
  int limitValue = (Integer.parseInt(pagina) * limit) - limit;  
  
  PreparedStatement pstmt2 = conn.prepareStatement(
		"SELECT * FROM CLIENTES LIMIT " + limitValue + ", " + limit);
  ResultSet rs2 = pstmt2.executeQuery();
  
  while(rs2.next()) {
    int id = rs2.getInt("CODIGO");
    out.println("ID: " + id + "<br>");
    String nome = rs2.getString("NOME");
    out.println("NOME: " + nome + "<br>");
    int idade = rs2.getInt("IDADE");
    out.println("IDADE: " + idade + "<br><br>");
  }
  
  int anterior;
  if(Integer.parseInt(pagina) != 1){  
    anterior = Integer.parseInt(pagina) - 1; 
    out.println("<a href=?pagina=" + anterior + ">" + limit + " Anteriores</a>");
  }
  else 
    out.println(limit + " Anteriores ");
    
  int numOfPages = total_rows / limit;  
  int i;
  
  for(i = 1; i <= numOfPages; i++){ 
    if(i == Integer.parseInt(pagina)){ 
      out.println("<b>" + i + "</b> "); 
    }
    else{ 
      out.println("<a href=?pagina=" + i + ">" + i + "</a> ");  
    } 
  }
  
  if((total_rows % limit) != 0){ 
    if(i == Integer.parseInt(pagina)){ 
      out.println(i + " "); 
    }
    else{ 
      out.println("<a href=?pagina=" + i + ">" + i + "</a> "); 
    } 
  } 

  int proxima;
  if((total_rows - (limit * Integer.parseInt(pagina))) > 0){ 
    proxima = Integer.parseInt(pagina) + 1; 
          
    out.println("<a href=?pagina=" + proxima + ">Próximos " + limit + "</a>");  
  }
  else 
    out.println("Próximos " + limit);   
%>

</body>
</html>


Link para compartilhar na Internet ou com seus amigos:

Java ::: Estruturas de Dados ::: Lista Ligada Simples

Estruturas de dados em Java - Como criar uma lista singularmente ligada, inserindo e exibindo os valores contidos em cada nó

Quantidade de visualizações: 11747 vezes
Em dicas posteriores você aprendeu sobre listas singularmente e duplamente ligadas. Nesta dica você aprenderá a criar uma lista singularmente ligada (com referências apenas para o próximo nó), inserir alguns nós (sempre no final da lista) e usará um laço while para visitar todos os nós e exibir seus valores.

A classe usada para representar cada nó é a seguinte (No.java):

// classe No
public class No{
  public int valor;
......


Note que cada nó contém apenas um valor inteiro e uma referência para o próximo nó. Ao analisar o código você perceberá que tanto a inserção quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Veja o código para a lista ligada (Lista.java):

public class Lista{
  No inicio; // início da lista  

  // função que permite exibir os valores de
  // todos os nós da lista
  public void exibir(){
    if(inicio != null){
      do{
        System.out.println(inicio.valor);
        inicio = inicio.proximo;
      }while(inicio != null);
    }
    else
      System.out.println("A lista esta vazia\n\n");
  }

  // função que permite inserir nós na lista.
  // veja que a função recebe o valor a ser
  // armazenado em cada nó
  public void inserir(int v){
    No temp;

    // verifica se a lista está vazia
    if(inicio == null){
      // reserva memória para o novo nó
......


Compile as classes No.java e Lista.java e vamos fazer o teste (TesteJava.java):

public class TesteLista{
  public static void main(String args[]){
    // vamos criar uma nova lista
    Lista lista = new Lista();

    // vamos inserir quatro valores na lista
    lista.inserir(45);
......



JavaScript ::: Dicas & Truques ::: Strings e Caracteres

Como testar se uma string contém uma determinada substring em JavaScript usando a função includes()

Quantidade de visualizações: 2277 vezes
O método includes() da linguagem JavaScript foi adicionado ao objeto String na revisão ECMAScript 2015, ou ES6, também chamado de ECMAScript 6.

Este método é chamado diretamente em uma variável do tipo string e retorna true se a palavra, frase ou texto possuir uma substring específica e false em caso contrário.

Veja um exemplo no qual verificamos se uma frase contém a palavra "JavaScript":

<!doctype html>
<html>
<head>
  <title>JavaScript 6</title>
</head>
 
<body>
 
<script type="text/javascript">
  var frase = "Gosto muito de HTML, PHP e JavaScript";
  
  if(frase.includes("JavaScript")){
......


Ao executarmos este código JavaScript nós teremos o seguinte resultado:

A frase contém a palavra JavaScript

É importante ter em mente que a função includes() diferencia letras maiúsculas de letras minúsculas.


C# ::: Coleções (Collections) ::: ArrayList

Como excluir todos os elementos de uma ArrayList do C# usando o método Clear()

Quantidade de visualizações: 7880 vezes
A remoção, ou seja, a exclusão de todos os elementos de uma ArrayList do C# pode ser feita com uma chamada ao método Clear(). Veja que este método poderá lançar uma exceção NotSupportedException se a ArrayList for somente leitura ou possuir um tamanho fixo.

Veja um exemplo de seu uso:

using System;
using System.Collections;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      // Cria o ArrayList
      ArrayList cidades = new ArrayList();

      // Adiciona nomes de cidades
      cidades.Add("Goiânia");
      cidades.Add("Cuiabá");
      cidades.Add("Fortaleza");
      cidades.Add("Curitiba");

      // obtém a quantidade de elementos
......


Ao executar este código C# nós teremos o seguinte resultado:

A lista contém 4 itens
A lista contém 0 itens

Pressione uma tecla para sair...


C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle

C++ para iniciantes - Como usar o laço for em C++

Quantidade de visualizações: 22461 vezes
O laço for é usado quando queremos executar um bloco de códigos um determinado número de vezes. Este laço é composto de três partes:

for(início; condição; incremento/decremento){
......


A parte início é executada uma única vez (na entrada do laço). Geralmente é nesta parte que declaramos e inicializamos a variável de controle. Na parte condição nós testamos a condição atual da variável de controle, para verificar se o laço pode continuar sua execução. Na parte do incremento/decremento nós alteramos o valor da variável de controle. Finalmente o bloco de instruções representa as instruções que serão executadas no laço.

Veja um exemplo de laço for no qual exibimos os números de 0 a 10:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // um laço for que conta de 0 a 10
  for(int i = 0; i <= 10; i++){
......


Veja agora um laço for usado para exibir os números de 10 a 0:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // um laço for que conta de 10 a 0
  for(int i = 10; i >= 0; i--){
......


É importante observar que mais de uma expressão podem ser executadas nas partes início e incremento/decremento de um laço for. Veja um exemplo:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
  // um laço for que conta de 10 a 0
  for(int i = 0, x = 4; i <= 10; i++, x += 2){
......



PHP ::: Dicas & Truques ::: Programação Orientada a Objetos

Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHP

Quantidade de visualizações: 8282 vezes
Em algumas situações precisamos fornecer um objeto de uma classe para um método de outra classe ou mesmo uma simples função PHP. Nesta dica eu mostro como isso pode ser feito. Note que, ao receber o objeto da classe no método ou função, todas as alterações feitas no objeto serão refletidas no objeto original, ou seja, objetos de classe são automaticamente passados por referência em PHP. Eis o código:

<?php
  // classe Cliente com duas variáveis privadas e seus
  // correspondentes métodos mutatórios e acessórios
  class Cliente{
    private $nome;
    private $email;

    public function setNome($nome){
      $this->nome = $nome;
    }

    public function getNome(){
      return $this->nome;
    }

    public function setEmail($email){
      $this->email = $email;
    }

    public function getEmail(){
      return $this->email;
    }
  }

......


Ao executar este código teremos o seguinte resultado:

Nome: Osmar J. Silva
E-Mail: osmar@arquivodecodigos.com.br


Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 16 usuários muito felizes estudando em nosso site.