Programação Java – JSP – Páginas para implementação utilizando Facade

Hoje veremos como integrar as classes da aula anterior com as páginas.

Atenção a codificação, o banco de dados deve estar pronto e o projeto sem nenhum problema.

1- Código do formulário de entrada de dados para um teste de autenticação.

<body>

<div align=”center”>

<h2><strong>Teste de Autentica&ccedil;&atilde;o em um Banco
de Dados usando

JavaBeans</strong></h2>

<form name=”form1″ method=”post” action=”autentica2.jsp“>

<strong>Login</strong>

<input name=”login” type=”text” id=”login”>

<br>

<br>

<strong>Senha</strong>

<input name=”senha” type=”password” id=”senha”>

<br>

<input type=”submit” name=”Submit” value=”Enviar”>

<input type=”reset” name=”Reset” value=”Cancelar”>

</form>

</div></body>

</html>

2-Página de resposta utilizando a classe Fachada.

<%@ page import=”java.sql.*,aula.*”%>
<%
//Nada será gravado no cache do cliente
response.setDateHeader(“Expires”, 0);
response.setHeader(“Pragma”, “no-cache”);
if (request.getProtocol().equals( “HTTP/1.1” )) {
response.setHeader(“Cache-Control”,”no-cache”);
}
%>

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″>
<title>Teste de Autentica&ccedil;&atilde;o com JavaBeans</title>

<style type=”text/css”>
<!–
.style4 {color: #FF0000}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
}
a:active {
text-decoration: none;
}
.style5 {
color: #0000FF;
font-weight: bold;
}
body {
background-image: url(../../imagens/class.jpg);
}
–>
</style>
</head>
<body>
<jsp:useBean id=”fachada” class=”aula.Fachada”/>
<jsp:useBean id=”usuario” class=”aula.Usuario”/>

<%
String login = request.getParameter(“login”);
String senha = request.getParameter(“senha”);

usuario.setLogin(login);
usuario.setSenha(senha);

if(fachada.autenticaUsuario(usuario)){
%>

<h2 align=”center” class=”style1″> Ol&aacute; seja bem vindo ao sistema </h2>
<%
}else{
%>

<h2 align=”center” class=”style4″>O usu&aacute;rio <strong><%=login%> </strong>n&atilde;o est&aacute; cadastrado no sistema. </h2>
<%
}
%>
<div align=”center”>
<p><strong><em><a href=”autenticaCodigo2.html”>Visualizar c&oacute;digo fonte</a> </em></strong></p>
<p><a href=”login.html”>voltar</a></p>
</div>
</body>
</html>

3-Construa um formulário de cadastro para alimentar a tabela usuário, utilizando o Fachada.

<div align=“center”>
<h3><strong>Teste de Cadastro utilizando JavaBeans</strong></h3>
<form name=“form1” method=“post” action=“”>

<p><strong>Nome</strong>
<input name=“nome” type=“text” id=“nome”>
</p>
<p><strong>Login</strong>
<input name=“login” type=“text” id=“login”>
</p>
<p><strong>Senha</strong>
<input name=“senha” type=“password” id=“senha”>

</p>
<p>
<input type=“submit” name=“Submit” value=“Enviar”>
<input type=“reset” name=“Reset” value=“Limpar”>
</p>
</form>
<p><strong></strong>1- Construa este formul&aacute;rio<br>
2-Construa o c&oacute;digo de resposta para a implementa&ccedil;&atilde;o abaixo.
</p>

<hr>
</div>

4-Exemplo de cadastro com Fachada.

<%@page contentType=”text/html; charset=iso-8859-1″ language=”java” import=”java.sql.*,aula.*” errorPage=””%>
<%
//Nada será gravado no cache do cliente
response.setDateHeader(“Expires”, 0);
response.setHeader(“Pragma”, “no-cache”);
if (request.getProtocol().equals( “HTTP/1.1” )) {
response.setHeader(“Cache-Control”,”no-cache”);
}

%>
<html>
<head>
<title>Resposta do teste de Cadastro</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″>
<style type=”text/css”>
<!–
.style1 {color: #0000FF}
.style2 {
color: #FF0000;
font-weight: bold;
}
–>
</style>
</head>
<body>
<jsp:useBean id=”fachada” class=”aula.Fachada“/>
<jsp:useBean id=”usuario” class=”aula.Usuario“/>

<%
String nome = request.getParameter(“nome“);
String login = request.getParameter(“login“);
String senha = request.getParameter(“senha“);

usuario.setNome(nome);
usuario.setLogin(login);
usuario.setSenha(senha);

if(fachada.setUsuario(‘I‘,usuario)){
%>
<h3 align=”center” class=”style1″>O usu&aacute;rio foi adicionado ao sistema</h3>
<%
}else{
%>
<h3 align=”center” class=”style2″>N&atilde;o foi poss&iacute;vel cadastrar o usu&aacute;rio </h3>
<p>
<%
}
%>
</p>
<p>&nbsp;</p>
</body>
</html>

Anúncios

Programação Java – JSP – Classes para implementação utilizando Facade

Abaixo estão os códigos de implementação do projeto utilizando Facade.

Exemplo de implementação de uma classe de conexão com o Banco de dados MySQL.

package aula;

import java.sql.*;

import java.util.*;

/** Classe que realiza conexão com o banco
de dados

Neste exemplo é mostrado para um conexão com o Banco de Dados
MySQL.

Pode-se passar o nome ou o IP para identificar o servidor.

*/

public class Conexao{

String jdbc=”jdbc:mysql://localhost/bdaula“;

private String usuario = “root”;

private String senha = “123”;

Statement st;

Connection conexao;

private String msg=””;

private String sql=null;

ResultSet rs=null;

/** Construtor default */

public Conexao() {

try{

Class.forName(“com.mysql.jdbc.Driver“);

this.conexao = DriverManager.getConnection(jdbc,usuario,senha);

this.st = this.conexao.createStatement();

this.msg=”Conexão estabelecida com exito !\n”;

}

catch(ClassNotFoundException e) {

this.msg=”Driver JDBC-ODBC não encontrado!.Verifique a classe do
Driver”;

getmsg();

}

catch(SQLException e) {

this.msg=”Problemas na conexao com a fonte de dados,verifique o SQL passado.”;

getmsg();

}

}

/** Método para imprimir no console */

public void getmsg(){

System.out.println(this.msg);

}

/**Método para retornar a variável
de menagem*/

public String getMsg(){

return this.msg;

}

public void fecharConexao()throws SQLException{

try{

this.st.close();

this.conexao.close();

}catch(SQLException e){

this.msg=”Não foi possível fechar a conexao”;

getmsg();

e.printStackTrace();

}

}

public Connection getConexao() {

return conexao;

}

}

1- Desenvolva uma página em JSP que utilize esta classe de conexão com o banco de dados, e ao final apresente o valor da variável de mensagem da classe de conexão.

2- Crie um banco de dados no MySQL chamado bdaula, contendo apenas uma tabela chamada usuário. Esta tabela devera conter os campos: login, senha e nome.
usuario(login,senha,nome)
create table usuario(
login varchar(12) not null,
senha varchar(12) not null,
nome varchar(12) not null,
primary key(login)
)

3-Alimente esta tabela com cinco registros.

4- Crie uma classe usuário em java, com os mesmo atributos definidos para a tabela usuário.
package aula;
public class Usuario {
private String nome;
private String login;
private String senha;

public Usuario() {
}

public Usuario(String nome,String login,String senha) {
this.nome = nome;
this.login = login;
this.senha = senha;
}

public String getLogin() {
return this.login;
}

public String getNome() {
return this.nome;
}

public String getSenha() {
return this.senha;
}

public void setLogin(String login) {
this.login = login;
}

public void setNome(String nome) {
this.nome = nome;
}

public void setSenha(String senha) {
this.senha = senha;
}
}

5- Para a classe usuário,crie uma classe com o mesmo nome e sufixo BD, onde deverão ficar as instruções e SQL.

package aula;
import java.sql.*;
import java.util.*;

public class UsuarioBD {
private String sql=null;
private String msg=null;
private Conexao conexao;
private Usuario usuario;
private Vector vetUsuario;

/** Método construtor sem parametros */

public UsuarioBD() {
this.conexao=new Conexao();
}

public void msg(){
this.msg=this.msg+this.conexao.getMsg();
System.out.println(this.msg);
}

public String getMsg(){
this.msg=this.msg+this.conexao.getMsg();
return this.msg;
}

public boolean autenticaUsuario(Usuario usuario)throws
SQLException{

this.sql=“select * from usuario where login='” + usuario.getLogin() + “‘ and senha='” + usuario.getSenha() +”‘”;
try{
this.conexao.rs=this.conexao.st.executeQuery(this.sql);

if(this.conexao.rs.next())
return true;
else
return false;
}catch(SQLException e){
this.msg=”Nao foi possivel inserir o usuário ” + usuario.getLogin()
+ “.\nErro:” + e.getMessage();
return false;
}finally{
this.conexao.fecharConexao();
}

}

public Usuario getUsuario(Usuario
usuario
)throws SQLException{

this.sql =“select * from usuario where login='” + usuario.getLogin()
+”‘”;

try{
this.conexao.rs=this.conexao.st.executeQuery(this.sql);
if(this.conexao.rs.next()){
this.usuario = new Usuario(this.conexao.rs.getString(“nome“),this.conexao.rs.getString(“login“),this.conexao.rs.getString(“senha“));

return this.usuario;

}

}catch(SQLException e){

this.msg=”Nao foi possivel recuperar o usuário ” + usuario.getLogin()
+ “.\nErro:”+e.getMessage();

}

return this.usuario=null;

}

public Vector getUsuario()throws
SQLException
{

this.sql=“select * from usuario order by login”;

this.vetUsuario=new Vector();

try{

this.conexao.rs=this.conexao.st.executeQuery(this.sql);

while(this.conexao.rs.next()){

this.usuario = new Usuario(this.conexao.rs.getString(“nome”),this.conexao.rs.getString(“login”),this.conexao.rs.getString(“senha”));

this.vetUsuario.addElement(this.usuario);

}

}catch(SQLException e){

this.msg=”Nao foi possivel realizar a consulta.\nErro:”+e.getMessage();

getMsg();

}finally{

this.conexao.fecharConexao();

}

return this.vetUsuario;

}

public Vector getUsuarioINI(Usuario usuario)throws SQLException{

this.sql=”select * from usuario where nome like ‘” + usuario.getNome() + “%’“;

this.vetUsuario=new Vector();

try{

this.conexao.rs=this.conexao.st.executeQuery(this.sql);

while(this.conexao.rs.next()){

this.usuario = new Usuario(this.conexao.rs.getString(“NOME”),this.conexao.rs.getString(“LOGIN”),this.conexao.rs.getString(“SENHA”));

vetUsuario.add(this.usuario);

}

}catch(SQLException e){

this.msg=”Nao foi possivel realizar a consulta.\n Erro:”+e.getMessage()+”\n”;

getMsg();

}

return this.vetUsuario;

}

public boolean setUsuario(char operacao,Usuario
usuario
)throws SQLException{

String login = usuario.getLogin();

String senha = usuario.getSenha();

String nome = usuario.getNome();

switch(operacao){

case ‘I‘:

this.sql=”insert into usuario(nome,login,senha)values(‘”+nome+”‘,'”+login+”‘,'”+senha+”‘)”;

break;

case ‘U‘:

this.sql=“update usuario set senha='”+senha+”‘,nome='”+nome+”‘
where login='”+login+”‘”;

break;

case ‘D‘:

this.sql=“delete from usuario where login='”+login+”‘”;

break;

default:this.sql=””;

}

try {

this.conexao.st.executeUpdate(this.sql);

return true;

} catch (SQLException e) {

e.printStackTrace();

this.msg=”Erro=”+e.getMessage();

return false;

}

}

//Exemplo de uma chama de Stored Procedure

public boolean setUsuario(String
operacao
,Usuario usuario)throws
SQLException
{

String login = usuario.getLogin();

String senha = usuario.getSenha();

String nome = usuario.getNome();

this.sql=”execute procedure sp_usuario(‘”+ operacao +”‘,'”+
login +”‘,'”+ senha +”‘,'” + nome + “‘);”;

try{

this.conexao.st.executeUpdate(this.sql);

this.msg=”O usuario “+login+” foi incluido no sistema.”;

return true;

}catch(Exception e){

this.msg=”Não foi possível inserir o usuario ” + login;

return false;

}finally{

this.conexao.fecharConexao();

}

}

}

8- Construa a classe Fachada de acordo com o código abaixo.

package aula;

import java.sql.*;
import java.util.Vector;

public class Fachada {
private String msg=null;
private UsuarioBD ubd;

/** Construtor padrao default*/
public Fachada() {
}

public void getmsg(){
System.out.print(this.msg);
}

public String getMsg(){return this.msg;}

//****************operação com os objetos Usuario***************************
public boolean autenticaUsuario(Usuario usuario)throws SQLException{
this.ubd= new UsuarioBD();
if(ubd.autenticaUsuario(usuario))
return true;
else
return false;
}

public boolean setUsuario(char operacao,Usuario usuario)throws SQLException{
this.ubd= new UsuarioBD();
if(ubd.setUsuario(operacao,usuario))
return true;
else
return false;
}

/**Retorna um usuario que tenho o login correpindente.
* @param login
* @return Usuario u
*/

public Usuario getUsuario(Usuario usuario)throws SQLException{
this.ubd= new UsuarioBD();
return this.ubd.getUsuario(usuario);
}

/**Retorna o conjunto total de usuario cadastrado na base de dados.
*Para recurar qualquer valor bastautilizar os metodos get e set da classe
*básica.
* @param Sem parametro de entrada
* @return Um vetor de objetos de Usuario.
*/

public Vector getUsuario()throws SQLException
{
this.ubd= new UsuarioBD();
return this.ubd.getUsuario();
}

public Vector getUsuarioINI(Usuario usuario)throws SQLException{
this.ubd= new UsuarioBD();
return this.ubd.getUsuarioINI(usuario);
}
}

7- Desenvolva uma página de autenticação utilizando as classes mostadas, de acordo com o mostrado no padrão.

Programação Java – JSP – Exercícios

Hoje faremos uma atividade em sala para relembrar os conceitos inicias, e depois daremos inicio a nossa primeira classe de nosso projeto, a classe Conexao.java

1 – Desenvolva uma classe que resolva a equação do 2º grau, após crie duas páginas em JSP em que o usuário possa entrar com dados e outra de resposta, recuperando as propriedades da classe.

2- Desenvolva uma classe de conexão com banco de dados,chamada de Conexao.java, e faça a chamada por uma página JSP.

Programação em Java – Exercícios Iniciais

Lista de exercícios: Estrutura de Dados em Java
Esta é uma atividade avaliativa, resolva os exercícios propostos e preserve os seus arquivos para a correção do professor.

1. Desenvolva uma classe que leia um nome a idade o sexo do usuário e mostre em uma única frase.

2. Faça uma classe que leia a temperatura em ºF e mostre em ºC (Obs.: C= 5*( (F-32)/9 )

3. Usando switch faça uma classe que a partir de um valor numérico digitado mostre qual o mês correspondente.

4. Faça um programa que mostre todos o números inteiro até um limite definido pelo usuário.

5.Gerar 100 números aleatórios e calcular sua média(Obs.: int num = (int)(Math.random()*10);

6.Sejam P(x1, y1) e Q(x2, y2) dois pontos quaisquer do plano. À sua distância é dada por:
Escreva então um programa que leia cada um dos pares de pontos e mostre a distância entre eles.

7. Faça um programa que calcule o delta e as raízes de uma equação do 2º grau.

8. Lembre-se de algum programa em que você trabalhou, cite que tipos de classes seriam criadas se esse programa fosse escrito em Java, que atributos e que métodos estariam associados a esses objetos?
Exemplo: Um programa de contas a pagar e contas a receber. Se fosse escrito em Java definiria a classe conta_bancaria. Os atributos seriam: saldo, taxa_de_juros, limite_de_saque, etc.

9. Observe os seguintes arquivos.
/** ponto.java
*Classe que possui as variáveis de um ponto */

class ponto{
int x,y;
}
/** doispontos.java
Classe que implementa a criação de dois novos pontos */

class doispontos{
public static void main(String args[ ]){
ponto p1= new ponto();
ponto p2= new ponto();
p1.x=10;
p1.y=20;
p2.x=42;
p2.y=99;
System.out.println(“x=” + p1.x +” y=” + p1.y);
System.out.println(“x=” + p2.x +” y=” + p2.y);
}
}
Crie um método de atribuição de valores na classe ponto.
Ex.: void atribuivalor(int a,int b){
x=a;
y=b;
}

10. Crie uma classe chamada contador(contador.java) contendo dois métodos incremento e decremento. A partir de outra classe crie um novo objeto de contador que realize a operação de incremento.

11. Crie uma classe que defini o raio de um circulo e um método de calculo para a área, e outra classe que cria um objeto circulo e chama o método de calculo para um valor pré fixado.

12. Modifique o exemplo anterior para calcular a área apenas para valores de raio entre 1 a 50, o valor do raio deve ser inserido pelo usuário.

Programação em Java – Aula 1

Material para os cursos que utilizam a linguagem Java.
Olá Alunos,
Sejam bem vindos a mais um semestre em nossa instituição.
É com muita satisfação que lhes dou as boas vindas, e de imediato convido-os a fazer parte desta página, onde os senhores poderão colaborar e interagir com os assuntos aqui tratados.

Na aula de hoje veremos uma introdução sobre a linguagem Java, suas características, palavras reservadas, estruturas de controle e laços de repetição.
Para ter acesso ao conteúdo da aula clique no link abaixo.

-Introdução a Linguagem Java

Após a aula inicial a seguinte lista de exercícios será cobrada com atividade avaliativa.

https://armandohage.wordpress.com/2008/02/20/estrura-de-dados-em-java-fcat-exercicios-iniciais/