Boteco Digital

Java

A biblioteca OpenPDF é um fork da biblioteca iText 4 sob as licenças LGPL eMPL. Ela permite a criação de arquivos PDFs de maneira bastante fácil e simples. Para começar a criar um PDF, criamos um projeto maven adicionando a dependência da biblioteca. Após isso podemos criar o primeiro documento PDF através do seguinte código: Na linha 2 começamos criando nosso objeto que representa o documento, na linha 3 criamos o writer que irá escutar o objeto document e irá […]

mais
Tags
Java Web

Para começar vamos entender o que é um serviço REST: Representational State Transfer é um estilo arquitetural para aplicações cliente-servidor distribuídas e descentralizadas sobre a estrutura da Web. Este estilo tem como diferencial a utilização da infraestrutura web existente, como servidores, bibliotecas de clientes, entre outros, permitindo uma maneira simples de organizar as interações entre sistemas independentes. Ao ser criado, o REST reuniu um conjunto de restrições arquiteturais descritas abaixo: Cliente/Servidor: As responsabilidades devem ser separadas entre o cliente e […]

mais
Java

A grande maioria das aplicações web necessita acessar banco de dados. Em muitos casos a conexão com o banco de dados se torna uma gargalo e gerenciar um pool de conexões dentro de nossa aplicação pode ser um pouco complicado. Em servidores de aplicação/web container este recurso é disponibilizado por meio de uma implementação de Datasource, no Tomcat especificamente é baseado no pool de conexão DBCP do projeto Commons. Então vamos criar um Datasource no Tomcat, mas antes de tudo, […]

mais
Java

Um hash é uma sequencia de bits geradas por um algoritmo de dispersão, normalmente representado em forma hexadecimal, buscando transformar uma grande quantidade de dados em uma pequena quantidade que os represente. O processo de hash é um processo de somente uma via, já que uma vez gerado através de uma informação não é possível utilizar o hash para obter a informação original. Um hash busca identificar uma informação unicamente, e é muito utilizada para fazer checksums de arquivos e […]

mais
Java

Em muita situações precisamos realizar um requisição Http através de nossos programas, seja para baixar um arquivo ou realizar uma requisição a um serviço REST, onde precisamos de um controle melhor de qual método Http utilizar, headers enviar e receber, códigos de resposta, etc. Para isso o HttpClient facilita bastante. Para começar vamos importar as bibliotecas, se você utiliza o maven adicione a seguinte dependência: Para realizar uma requisição necessitamos criar um objeto HttpClient para transmitir a requisição para o […]

mais
Tags
Java

Enums são uma forma de restringir uma variável para esta poder assumir apenas alguns pouco valores pré-definidos, resumindo um valor de uma lista enumerada. O uso de enums pode reduzir os bugs do código como também deixar ele mais legível. Pensando um pouco, se estivermos em desenvolvendo um sistema de lanchonete e precisarmos especificar o tamanho do café. Poderíamos guardar este valor em um int, ou em uma String mas teríamos que escrever várias regras para validar e somente aceitar […]

mais
Java

Lambda é um recurso muito esperado na linguagem java sendo implementado na versão 8 e já presente nas linguagens funcionais há certo tempo. Ele deve alterar como utilizamos a linguagem, pois é bastante comum ao utilizarmos uma API, termos de implementar uma interface com uma classe anônima que possui somente um método, geralmente o que queremos fazer é passar um método para um objeto para ele ser executado em certo momento, e a forma como fazemos acaba sendo um pouco […]

mais
Java

Em versões mais antigas do Servlet tínhamos que apelar para APIs externas para realizar o upload de arquivos no java, agora com Servlet 3 o trabalho ficou mais fácil. Para começar vamos ao formulário, não esquecendo do enctype=”multipart/form-data” para o arquivo ser enviado junto com a requisição. MultipartConfig Annotation Para lidar com requisições multipart/form-data devemos anotar o Servlet com a anotação @MultipartConfig e configurar seus atributos com as configurações de upload. MaxFileSize: Especifica o tamanho máximo de cada arquivo que […]

mais
Java

Como já vimos neste mesmo bat-blog trabalhar com datas no Java nunca foi uma coisa legal, muitos desenvolvedores utilizavam o projeto Joda Time para facilitar isso e ele foi tão bem aceito que se tornou a base para a API Date and Time API do JAVA 8. Uma das características novas das datas é que agora elas são imutáveis, ou seja, elas não podem ser modificadas após sua criação, sempre que adicionarmos/subtraímos dias, meses, anos, minutos, estamos criando um novo […]

mais
Java

Em muitos casos necessitamos manipular arquivos compactados, sendo criando arquivos compactados no formato zip ou descompactando para para leitura. Para estas funcionalidades o Java nos fornece a classe ZipOutputStream. Vamos ao código, primeiro compactamos uma String qualquer: Na linha 4 criamos um objeto FileOutputStream que é um fluxo de saída para um arquivo onde iremos gravar nossos dados compactados. Utilizaremos este objeto para criarmos nosso objeto ZipOutputStream onde ao escrevermos no ZipOutputStream ele irá compactar e passar os dados para […]

mais