Cookies com JSP + Mysql

3898935

Ola Pessoal,

Nesse post vamos dar um plus, no nosso sistema de login criado no ultimo post. Aqui vamos adicionar cookies na aplicação. Vejam como é simples e fácil. Quero aproveitar para divulgar um novo blog da IBM para desenvolvedores. Confiram no folfer abaixo:

rationalbrasilBlog Rational Brasil

Post Recomendados:

Login & Senha JSP

Conexão Java  + MYSQL

Inserindo/Recuperando informações Mysql

Importante:

* Cadastre um usuario manualmente no BD para que o login e senha  sejam válidos.  Use o comando SQL  insert into

Lets go…

Cookie

  • é um mecanismo padrão fornecido pelo protocolo HTTP que permite gravarmos pequenas quantidade de dados no navegador do usuário.

É possível configurar que os cookies seja persistentes por vários dias no Browser do cliente, mesmo se este desabilitar a opção de cookies no navegador.

Os cookies são definidos por um servidor web, que quando o usuário solicita uma URL cujo o servidor e diretório correspondem aqueles de um ou mais de seus cookies armazenados, os cookies correspondentes são enviados de volta para o servidor.

Em JSP utilizamos o método getCookies() para obter o cookie e addCookies() adiciona os cookies.

Vamos para prática:

Criando a página de login. login.jsp

Essa aqui é uma página de login normal. Ao clicar no botão Enviar. Esta vai chamar a página que verifica se o login está correto em caso positivo adiciona o usuario a um cookie.

cookies1

Página que verifica o login – verificalogin.jsp

cookies2

Classe Java Aluno.java

Verifica a existia do usuario no BD

cookiesjava


Resultado

Uma vez o cookie adicionado, no próximo acesso sua página deve está como a seguinte,

cookies4

Um abraço a todos e espero que tenham gostado. E até o próximo post (trarei novidades 😀 )

Página de Login & Senha JSP + MYSQL

loginolá Pessoal,

Dando continuidade aos assuntos técnicos, hoje vou apresentar como criar uma página de login & senha usando JSP + MySql. É recomendado dar uma lida no post que ensinei como instalar e configurar o Mysql + Eclipse.

Verificar o post onde estabelecemos uma comunicação BD via um arquivo java normal.

Hoje vamos fazer algo semestre. Porém será na Web. Espero que curtem o post. Principalmente aqueles que estão iniciando os estudos com a tecnologia.

Post relacionado

Primeiro Passo:

  1. Criar a pagina do formulario .jsp, onde o usuário vai digitar o login e a senha

    Se tiver usando o eclipse clique em File ==>New File ==> Other . Escolha Web e clique em JSP.

  2. Digite o nome da página jsp por exemplo login.jsp . No exemplo a seguir, removi os códigos html.

….

loginjspcode1

obs.: Observe que temos uma diretiva page, nessa página o qual faz um import da class User. Isso é requisito já que precisamos acessar membros dessa classe.

Segundo Passo:

  1. criar um nova tabela(a minha chamei de clientes) no Banco de Dados com os dados seguintes:

idusuario do tipo inteiro e auto_increment

nome, login e senha do tipo varchar

  1. Para criar uma tabela basta abrir o MYSQL Query Browser. Clicar com o botão direito em cima do esquema e escolher New Table

  2. Agora insira alguns usuarios na tabela usando o comando SQL insert into, veja:

insert into clientes(nome, login,senha) value(‘camilo’, ‘camilolopes’, ‘123’);

Terceiro Passo:

  1. criar a classe Java que será responsável por pesquisar no banco de dados o usuário.

loginjspcode2

Quarto Passo:

  1. Criar a pagina jsp, que verifica se oque foi digitado no formulario login & senha está correto. Essa pagina tem comunicação com a classe .java para verificar se aquele usuario existe no BD. Em caso positivo informa ao usuario que o login está correto. (check.jsp)

loginjspcode1

Quinto Passo: Criar a página for formulario: login.jsp

loginjspcode3

Lembre-se:

  1. Colocar o arquivo mysql-connector.jar na pasta WEB-INF\lib da sua aplicacao.

  2. Coloque os arquivos .class dentro de WEB-INF\classes.

  3. Os arquivos .jsp deve ficar fora de WEB-INF. Já que não é possivel acessar pelo browser diretamente arquivos dentro de WEB-INF

  4. Verifique se o TomCat e o MySql estão rodando.

  5. Se fizer qualquer mudança na aplicação, acesse o tomcat manager e clique em Reload. Para acessa-lo basta digitar http://localhost:8080/suapliacao/page.jsp     Exemplo: http://localhost:8080/login/login.jsp

Espero que tenha gostado, e vejam que em pequenos passos é possível fazer uma pagina de login e senha bem simples. Bem, como recebi alguns e-mail com criticas construtivas onde alguns leitores reclamaram o por que de post básicos?!

Bem, O objetivo nada mais é poder ajudar aqueles que estão iniciando e ver na prática como java não é tão complicado como dizem por ai. E outro ponto é que o blog não tem o nível definido para os posts. Vou postando de acordo o que vou considerando relevante e como ajudar o próximo. Amanhã posso postar algo que seja considerado avançado, ou intermediário para uns, mas para outro é como “tomar café da manhã todos os dias”, então dizer o que seria avançado e básico isso vai mudar muito de leitor par leitor. Mas, espero que os posts estejam contribuindo para o aprendizado de cada um. E muito obrigado pelas críticas, elogios e sugestões elas estão sendo essenciais para evolução do blog. Um abraço a todos e até a próxima.

Inserido/Recuperando informações MySQL com Java + Eclipse

insert

olá Pessoal, dando continuidade a nossa série desenvolvimento em java na prática, hoje vamos desenvolver a parte 2. O qual teremos a classe que inserir/recuperar informações do banco de dados. Como instalamos e configuramos o Mysql, Java e eclipse na parte 1, nessa aqui vamos focar na classe que é responsável por manipular informações no BD. Teremos novas importações é importante ter atenção a essas novas classes que serão importadas.

Lets go…

Leitura Recomendada:

Na parte 1, nos criamos uma tabela chamada de usuarios com apenas um campo chamado nome. Agora vamos criar uma nova classe com o método main. Veja o código abaixo. 

conexaopart2code1

 Explicação:

  • Para executar comandos SQL dentro da linguagem java usamos a classe Statement a qual pertence ao pacote .sql

  • para executar o comando temos que criar um objeto da classe Statement st = XX.createStatement() e em seguida executar o método adequando:

*executeQuery() ==> é para o comando Select de sql

  • *executeUpdate() ==> é para todos os outros comandos. 

Exemplo:

1. obter a conexao

Connection con = conexao.getConnection();

2. criar o objeto para escrever comandos sql

Statement st = con.createStatament();

//codigo sql em java aqui

st.executeUpdate(string dos comandos);

ResultSet ==> traz o resultado de uma consulta, criamos uma instancia para armazenar esses os resultados

sintaxe:

ResultSet rs = variavelStatement.executeQuery(variavel comando sql);

next() ele mova o curso para a próxima linha, quando nao tiver linha ele retorna false. 

Vou ficando por aqui mais uma vez, e espero que tenham curtido a série desenvolvimento na prática. Abraços.

Criando conexão Java + Mysql com eclipse

javamysqleclipse

Ola Pessoal, após esse feriadão e muitos ovinhos de páscoa, fiquei pensando o que postar? Bem, ai em uma bela praia aqui na Bahia, veio em minha mente, as dificuldades e curiosidades que tive quando iniciei com Java. Que foram:

  • como conectar uma class java à um BD ?

  • Será que essa minha simples classe “Hello World” posso conectar ao um BD? Ou é preciso de algo mais complexo?

Etc.

Hoje vamos para um post bem mais técnico. Eu sentir isso, logo depois de aprender os fundamentos java, foi o que veio logo na minha mente.

Bem, a partir disso, pensei: “Que tal ajudar aqueles que estão iniciando com java e mostrar como é simples fazer uma conexão com BD em Java”.

Usarei o eclipse + MySql como ferramenta.

Nessa primeira parte do post, vou apenas mostrar como conectar à um BD nesse caso vamos usar o MySQL. Na segunda parte vamos através de códigos java inserir /recuperar informações no Banco de dados.

Lets go..

Leitura recomendada:

Nota: Irei explicar apenas pontos cruciais para funcionamento, assuntos relacionados a conceitos básicos do java e eclipse não serão abordados tais como: importação, encapsulamento etc ,criar projeto no eclipse, criar nova classe, compilar etc.

Outro detalhe importante muitas das explicações estão no código no formato de comentário isso para que o post não fique muito grande e que você entenda o que está sendo explicado com o código do lado.

Requisitos: Para este post é necessario ter os softwares a seguir instalados e configurados na máquina. A instalação dos softwares listados a seguir não levará mais que 30min, uma vez feito o download.

  • Eclipse: IDE

  • Mysql 5.0 : Instale no modo padrão, ou seja, siga a instalação sem mudar nada, não esqueça da senha de root.

  • Connector MySql (MySQL Connector/J — for connecting to MySQL from Java) : para instalação descompacte o arquivo mysql-connector-java-5.1.7-bin.jar em LOCAL_INSTALACAO_JAVA_NA_SUA_MAQUINA\Java\jdk1.5.0\jre\lib\ext
    na minha máquina:
    C:\Program Files\Java\jdk1.5.0\jre\lib\ext

  • Java 1.5/superior: tutorial de instalação confira.

  • GUI Mysql Tool: muito bom para executar comandos sql, é opcional baixa-lo, mas recomendo pois digitar comando sql via prompt não tão legal quanto usar o GUI. Esse deve ser instalado após instalação do mysql. (Single bundle including all GUI tools (MySQL Administrator, MySQL QueryBrowser, MySQL MigrationToolkit and MySQL Workbench)

Cenário: Aqui está nosso cenário:

  • teremos duas classes: 1. para conexão com o BD ; 2. uma class que testa a conexão

  1. crie um projeto no eclipse e dê um nome, aqui vamos chamo-lo de usuario

  2. agora clique com o botão direito do mouse sobre o projeto e vamos adicionar o connector mysql ao projeto. Como o proprio nome já diz o conector é que vai fazer sua app (aplicação) “conversar com o BD”.

  3. Agora clique no botão a esquerda ADD External JARs… e em seguida informe o caminho que está o conector.

  4. Após adicionar o conector basta dar um clique no botão ok. Sua tela deve ser semelhante a seguir:

  1. Crie uma classe sem o método main e chame esta de conexão (conexao.java)

conexaopoint4

Essa será a classe responsável por estabelecer a conexão com BD.

conexaocode1

– Tanto a linha de obter o Driver quanto de obter a conexão deve ser inserida dentro do um

bloco try/catch, pois as classes de .sql sao exceções verificadas.

  1. Para criar um usuario basta abrir MySQL Administrator e logar como root.

  1. Agora vamos criar nosso Schema, se você está usando MySQL Query Browser (GUI), Ele vai pedir um usuário use o root e deixe a tela com a seguir:(coloque sua senha e clique em ok)

    conexao-point-7

  2. agora crie as tabelas usando o comando sql.

  3. A seguir o comando sql, ou, usando o GUI clique com o botão direito a direita e escolha Create Table.

create table usuarios (

    nome varchar(50) NOT NULL default ‘) ;

  1. Nesse post não iremos trabalhar com a tabela acima, mas já deixamos criada para a parte

  2. Agora crie a classe a seguir para testar a conexão.

conexaocode2

12. Agora compile a classe, não esqueça de certificar se o Mysql está executando.

Se tudo ocorrer como planejado você deve ter uma mensagem como a seguinte na tela de output do eclipse. Um detalhe importante

conexaoresultado

Vou ficando por aqui e espero que tenha gostado do post. Abraço a todos.

Série 2: Array & ArrayList em Java

Olá Pessoal, dando continuidade a série Arrays em Java, hoje veremos mais algumas funcionalidades de como é facil de trabalhar com array. Aqui veremos como Array & ArrayList se entendem muito bem. Espero que gostem dessa série.

Lets go..

dica: Para visualizar melhor o código basta clicar na imagem.

Leitura recomendada:

Série 1: Array em java

Collection

Bem, você acabou de aprender como usar ArrayList e quer trazer os dados que estão em um Array, o que fazer? O método asList() é a solução.

Array.asList() – é um método que COPIA UM ARRAY para uma LIST.

  • A mudança realizada em uma lista/array é atualizado em ambos automaticamente.

E de uma lista para um array? O método toArray() dar uma ajuda:

toArray() – faz o inverso, COPIA DA LISTA para o ARRAY.(retorna um Object).

Não queira reinventar a roda conheça a interessante api Iterator, esssa aqui ajuda a percorrer um conjunto enquanto tiver elemento.

Iterator – é um objeto, onde permite fazer um loop do conjunto. Ele possui dois métodos:

hasNext()retorna verdadeiro – true, se tiver mais de um elemento no conjunto.

next()esse aqui retorna o objeto e move o foco, para o próximo elemento seguinte.

  • O iterator deve ser do tipo da sua lista

Bem, a partir do java 5 pode usar o for aprimorado, mas para quem está em outra versão diferente o Iterator é a solução, veja no código a seguir que seu uso não é complicado.

code1-array11


Code 2:

code2-array2

Vou ficando por aqui e espero que tenham gostado dessa série, bom feriado .Abraços!