Sie sind auf Seite 1von 17

EAD

Estudo de Caso: Construindo


uma Aplicao Web utilizando
componentes JavaBeans e
conexo com Banco de Dados
via JDBC 5

1. OBJETIVOS
Construir uma Aplicao Web completa utilizando Servlets e JSP.
Reconhecer e interpretar o modelo de desenvolvimento baseado em Camadas.
Acessar banco de dados utilizando Java Beans e JDBC.

2. CONTEDOS
Modelo de desenvolvimento Web multicamadas.
Camada de Acesso a Dados: JavaBeans.
Camada de Apresentao: JSP.
Camada de Negcios: Servlets.

3. ORIENTAO PARA O ESTUDO DA UNIDADE


Antes de iniciar o estudo desta unidade, importante que voc leia as orientaes a se-
guir:
1) Ao estudar esta unidade, sugerimos que evite receber visitas, atender telefonemas, as
conversas paralelas, ouvir msicas barulhentas etc. Procure eliminar, as causas exter-
nas de perturbao pois, desse modo, poder reduzir eventuais dificuldades internas
de concentrao. Pense nisso...
70 Desenvolvimento de Aplicaes Web com Java

4. INTRODUO
Nesta unidade voc aprender como desenvolver uma Aplicao Web com conexo a ban-
co de dados via JDBC.
Vamos construir uma Aplicao completa para Controle de funcionrios de uma empresa,
a qual permitir que o usurio adicione novos funcionrios, possa remover os cadastrados, liste
e ainda pesquise pelo nome.
Mos a obra!

5. VISO GERAL DA APLICAO


Para desenvolvimento do nosso Controle de funcionrios vamos utilizar um arquitetura
baseada no modelo MVC Model-View-Controller.
Esse um modelo interessante para o desenvolvimento de Aplicaes Web, pois separa
toda lgica da Aplicao das pginas de apresentao:

Tomando como base nossa Aplicao, vamos criar uma Servlet que ser responsvel pelo
processamento de todas as requisies enviadas pelo clientes. Esse Servlet, direcionar as soli-
citaes para as pginas dinmicas.
Observe que as pginas dinmicas tero como objetivo a apresentao das respostas para
o cliente, as quais podero ter apenas contedo esttico (XHTML) ou dados armazenados no
banco de dados.
Para armazenar as informaes utilizaremos o banco de dados MySQL, e a conexo ser
realizada atravs de JDBC. As pginas JSP no tero acesso direto aos dados armazenados, desse
modo, criaremos uma Camada de Acesso aos Dados utilizando componentes JavaBeans.
Tomando, portanto, como base o modelo MVC, teremos:
Camada de Acesso aos Dados (Model): JavaBeans.
Camada de Apresentao (View): Pginas dinmicas JSP.
Camada de Negcios (Controller): Servlets.
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 71

6. CAMADA DE ACESSO A DADOS


Para realizar o acesso aos dados armazenados utilizaremos componentes JavaBeans. Con-
tudo, antes de comearmos o desenvolvimento precisaremos instalar:
1) Banco de Dados MySQL:
a) Abra o endereo <http://dev.mysql.com/downloads/mysql>.
b) Selecione a verso do MySQL desejada (atualmente 5.0).
c) Faa download do arquivo (~23mb) e instale o programa.
2) Driver JDBC:
a) Abra o endereo <http://dev.mysql.com/downloads/connector/j/>.
b) Faa download do arquivo (~8.2mb).
c) Terminado o download, descompacte o arquivo.
d) Dentro da pasta mysql-connector-java-X.X.X, selecione e copie o arquivo mysql-
-connector-java-X.X.X-bin.jar para pasta de bibliotecas do Apache Tomcat (C:\Ar-
quivos de programas\Apache Software Foundation\Tomcat 6.0\lib). Uma alterna-
tiva copiar o arquivo para pasta WEB-INF da sua Aplicao.
e) Caso o Tomcat esteja rodando, voc deve reiniciar o servidor.
Agora, podemos comear a implementar nossa Aplicao. Ento, inicie o NetBeans e crie
uma nova Aplicao Web com o nome de Controle funcionarios.
No item Pacotes de cdigos-fonte, adicione o pacote:

com.controlefuncionarios

O prximo passo ser o de criar nosso primeiro componente Java Beans para manipular
os dados dos funcionrios.
Para tanto, dentro do pacote com.controlefuncionarios, crie uma nova classe Java com o
nome de FuncionariosBean:

1 package com.controlefuncionarios;
2 public class FuncionarioBean {
3 private int id;
4 private String nome;
5 private String endereco;
6 private String bairro;
7 private String cidade;
8 private String cep;
9 private double salario;
10
11 public void setId(int id) {
12 this.id = id;
13 }
14 public int getId() {
15 return id;
16 }
17 public void setNome(String nome) {
18 this.nome = nome;

Claretiano - Centro Universitrio


72 Desenvolvimento de Aplicaes Web com Java

19 }
20 public String getNome() {
21 return nome;
22 }
23
24 public void setEndereco(String endereco) {
25 this.endereco = endereco;
26 }
27 public String getEndereco() {
28 return endereco;
29 }
30 public void setBairro(String bairro) {
31 this.bairro = bairro;
32 }
33 public String getBairro() {
34 return bairro;
35 }
36 public void setCidade(String cidade) {
37 this.cidade = cidade;
38 }
39 public String getCidade() {
40 return cidade;
41 }
42 public void setCep(String cep) {
43 this.cep = cep;
44 }
45 public String getCep() {
46 return cep;
47 }
48 public void setSalario(double salario) {
49 this.salario = salario;
50 }
51 public double getSalario() {
52 return salario;
53 }
54 }

Note que para realizar o acesso ao banco de dados vamos criar um outro componente
Java Beans. Ento, adicione ao pacote com.controlefuncionarios, uma nova classe Java com o
nome de DadosBean.
O construtor da classe responsvel pela conexo com o banco de dados. Para isso, utili-
zaremos a classe Connection, disponvel no pacote java.sql.*.
Lembre-se de declarar os atributos:
private Connection conexao;
private Statement stmt;

1 public DadosBean() {
2 try{
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 73

3 Class.forName(com.mysql.jdbc.Driver);
conexao = DriverManager.getConnection( jdbc:mysql://localhost/
4
funcionario, root, 123 );
5 stmt = conexao.createStatement();
6 }catch ( ClassNotFoundException c ){
7 c.printStackTrace();
8 } catch (SQLException e) {
9 e.printStackTrace();
10 }
11 }

Alm do construtor, a classe DadosBean contm os seguintes mtodos:
public void adicionarFuncionario(FuncionarioBean f) adiciona um novo
funcionrio ao banco de dados.


1 public void adicionarFuncionario(FuncionarioBean f){
2
3 String sql = INSERT INTO funcionario.tab_funcionario
4 + (func_nome,func_endereco,func_bairro,func_cidade,
5 + func_cep, func_salario)
6 + VALUES
7 + (+ f.getNome() + , + f.getEndereco()
8 + , + f.getBairro() + , + f.getCidade()
9 + , + f.getCep() + , + f.getSalario() + );
10
11 try {
12 stmt.executeUpdate(sql);
13 } catch (SQLException e) {e.printStackTrace();}
14 }

public void removerFuncionario(int codigo) remove um funcionrio do banco
de dados, para isso necessrio que seja passado como parmetro o cdigo
do funcionrio.

1 public void removerFuncionario(int codigo){
2 String sql = DELETE FROM funcionario.tab_funcionario
3 + WHERE func_id = + codigo;
4 try {
5 stmt.executeUpdate(sql);
6 } catch (SQLException e) {
7 e.printStackTrace();
8 }
9 }

public ArrayList< FuncionarioBean > listarFuncionarios() retorna a lista dos
funcionrios cadastrados no banco de dados. Para facilitar a apresentao dos
dados, este mtodo retorna um objeto da classe ArrayList.

1 public ArrayList< FuncionarioBean > listarFuncionarios()
2 throws SQLException{
3
4 ArrayList< FuncionarioBean > lista =

Claretiano - Centro Universitrio


74 Desenvolvimento de Aplicaes Web com Java

5 new ArrayList< FuncionarioBean >();


6
7 try {
8 ResultSet dados =

9
stmt.executeQuery(SELECT * FROM tab_funcionario );
10
11 while( dados.next() ){
12 FuncionarioBean f = new FuncionarioBean();
13 f.setId(dados.getInt(1));
14 f.setNome(dados.getString(2));
15 f.setEndereco(dados.getString(3));
16 f.setBairro(dados.getString(4));
17 f.setCidade(dados.getString(5));
18 f.setCep(dados.getString(6));
19 f.setSalario(dados.getDouble(7));
20 lista.add(f);
21 }
22 } catch (SQLException e) { e.printStackTrace(); }
23 return lista;
24 }

public ArrayList< FuncionarioBean > pesquisarFuncionarios(String nome)


pesquisa no banco de dados a ocorrncia de um determinado funcionrio. O
parmetro da pesquisa o nome, ou parte do nome, do funcionrio que deve ser
passado como parmetro.

1 public ArrayList<FuncionarioBean> pesquisarFuncionarios(String nome)


2 throws SQLException{
3
4 ArrayList< FuncionarioBean > lista =
5 new ArrayList< FuncionarioBean >();
6
7 try {
8 String sql = SELECT * FROM funcionario.tab_funcionario
9 + WHERE func_nome LIKE % + nome + %;
10 ResultSet dados = stmt.executeQuery(sql);
11
12 while( dados.next() ){
13 FuncionarioBean f = new FuncionarioBean();
14 f.setId(dados.getInt(1));
15 f.setNome(dados.getString(2));
16 f.setEndereco(dados.getString(3));
17 f.setBairro(dados.getString(4));
18 f.setCidade(dados.getString(5));
19 f.setCep(dados.getString(6));
20 f.setSalario(dados.getDouble(7));
21 lista.add(f);
22 }
23 } catch (SQLException e) {e.printStackTrace(); }
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 75

24 return lista;
25 }

Para terminamos a Camada de Acesso aos Dados, vamos aproveitar e criar o banco de
dados. Lembre-se de que voc pode criar as Tabelas diretamente no console do banco, porm
essa tarefa pode ser facilmente executada com a ferramenta MySQL Query Browser.
Criaremos, portanto, o banco de dados com o nome de funcionrio:

1 CREATE DATABASE `funcionario`

E tambm uma Tabela (tab_funcionario) para armazenarmos os dados:


1 DROP TABLE IF EXISTS `funcionario`.`tab_funcionario`;
2 CREATE TABLE `funcionario`.`tab_funcionario` (
3 `func_id` int(10) unsigned NOT NULL auto_increment,
4 `func_nome` varchar(45) NOT NULL,
5 `func_endereco` varchar(60) NOT NULL,
6 `func_bairro` varchar(40) NOT NULL,
7 `func_cidade` varchar(40) NOT NULL,
8 `func_cep` varchar(9) NOT NULL,
9 `func_salario` double NOT NULL,
10 PRIMARY KEY (`func_id`)
11 ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Pronto, completamos a Camada de Acesso aos Dados!

7. CAMADA DE APRESENTAO
Na Camada de Apresentao vamos criar todas as pginas que sero visualizadas pelo
usurio.
Utilizaremos um modelo simples, que voc poder melhorar se quiser!
Vamos comear codificando o arquivo index.jsp, o qual apresentar um menu de opes
para o usurio:

1 <form action=Controlador method=get>


2 <input name=grpMenu type=radio value=1 checked=checked />
3 adicionar <br/>
4 <input name=grpMenu type=radio value=2 />
5 remover <br/>
6 <input name=grpMenu type=radio value=3 />
7 listar <br/>
8 <input name=grpMenu type=radio value=4 />
9 pesquisar <br/>
10 <br/>
11 <input type=submit value=enviar />
12 </form>

Claretiano - Centro Universitrio


76 Desenvolvimento de Aplicaes Web com Java

Veja que a propriedade action j faz referncia ao Servlet da Camada de Negcios, o qual
ser realizado em breve.
Alm disso, criaremos um arquivo de cabealho (cabealho.jsp) que ser includo em
todas as pginas da Aplicao:

1 <%@page contentType=text/html pageEncoding=iso-8859-1%>


2 <!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN
3 http://www.w3.org/TR/html4/loose.dtd>
4
5 <html>
6 <head>
7 <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
8 <title>Controle de Funcionrios</title>
9 <link href=estilo.css rel=stylesheet type=text/css >
10 </head>
11 <body>
12 <h1>Controle de Funcionrios </h1>
13 <br/>

E tambm um arquivo para o rodap (rodape.jsp):

1 <hr/>
2 <p class=centro>
<a href=Controlador> Clique aqui para ir a pgina inicial
3
</a>
4 <br/>
5 <br/>
6 &copy;2008 - Todos os direitos reservados.
7 </p>
8 </body>
9 </html>

Para incluir o cabealho e o rodap automaticamente em todas as pginas JSP da Aplica-


o, vamos editar o arquivo web.xml. Para isso, adicione as seguintes informaes dentro da tag
<web-app>:

1 <jsp-config>
2 <jsp-property-group>
3 <display-name>CabecalhoRodape</display-name>
4 <url-pattern>*.jsp</url-pattern>
5 <include-prelude>/cabecalho.jsp</include-prelude>
6 <include-coda>/rodape.jsp</include-coda>
7 </jsp-property-group>
8 </jsp-config>

Vamos criar, agora, uma Folha de Estilos em Cascata para melhorar a apresentao do
contedo.
Para tanto, crie um novo arquivo com o nome de estilo.css:
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 77


body {
1
2 margin :0px;
padding
3
:0px;
4 font-family :Verdana;
5 }
6
7 h1{
8 width : 100%;
9 padding : 20px;
10 margin : 0px;
11 background : #CCECFF;
12 }
13
14 form{
15 margin: 15px;
16 }
17 p.centro{
18 text-align:center;
19 }

Verifique se tudo foi codificado corretamente at agora compilando a sua Aplicao. Por
enquanto, nenhuma funcionalidade pode ser utilizada, mas voc dever ver uma tela semelhante
a essa:

Continuando com a implementao da Camada de Apresentao, vamos criar uma pgina


para Adicionar funcionrios.
Para isso, crie um novo arquivo JSP com o nome de adicionar.jsp.

Claretiano - Centro Universitrio


78 Desenvolvimento de Aplicaes Web com Java

Voc pode notar que nas linhas um e trs fazemos uma referncia aos componentes Java
Beans da Camada de Acesso a Dados FuncionarioBean e DadosBean.
Note tambm, que os dados do novo funcionrio so facilmente adicionados ao banco de
dados com a chamada do mtodo adicionarFuncionario na linha 35:

1 <jsp:useBean id = funcionario scope=page


2 class = com.controlefuncionarios.FuncionarioBean />
3 <jsp:useBean id = dados scope = request
4 class = com.controlefuncionarios.DadosBean />
5 <%
6 funcionario.setNome(request.getParameter(txtNome));
7 funcionario.setEndereco(request.getParameter(txtEndereco));
8 funcionario.setBairro(request.getParameter(txtBairro));
9 funcionario.setCidade(request.getParameter(txtCidade));
10 funcionario.setCep(request.getParameter(txtCep));
11
12 if ( funcionario.getNome() == null ){
13 %>
14 <form action=adicionar.jsp method=post>
15 <h2> Adicionar Funcionrio</h2>
16 <table>
<tr><td>Nome:</td><td> <input type=text name=txtNome size=45 />
17
</td></tr>
<tr><td>Endereo:</td><td> <input type=text name=txtEndereco
18
size=60 /> </td></tr>
<tr><td>Bairro:</td><td> <input type=text name=txtBairro size=40
19
/> </td></tr>
<tr><td>Cidade:</td><td> <input type=text name=txtCidade size=40
20
/> </td></tr>
<tr><td>Cep:</td><td> <input type=text name=txtCep size=9 /> </
21
td></tr>
<tr><td>Salrio: R$</td><td> <input type=text name=txtSalario
22
size=8 /> </td></tr>
23 <tr><td></td><td> <input type=submit value=enviar /> </td></tr>
24 </table>
25 </form>
26 <%
27 }else{
28 String salario = request.getParameter(txtSalario);
29 if (salario != null && !salario.isEmpty() ){
30 double salarioDouble = Double.parseDouble(salario.replace(,,.));
31 funcionario.setSalario(salarioDouble);
32 }else
33 funcionario.setSalario(0);
34
35 dados.adicionarFuncionario(funcionario);
36 %>
37 <h2>Informaes adicionadas com sucesso!</h2>
38 <%
39 }
40 %>

U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 79

O prximo passo criar uma pgina para que seja possvel remover funcionrios cadas-
trados. Para isso, crie um novo arquivo JSP com o nome de remover.jsp. Tambm utilizaremos
nessa pgina o componente Java Beans DadosBean para remover os funcionrios.

1 <jsp:useBean id = dados scope = request
2 class = com.controlefuncionarios.DadosBean />
3 <%
4 String codigo = request.getParameter(txtCodigo);
5 if ( codigo == null || codigo.isEmpty() ){
6 %>
7 <h2> Remover Funcionrio</h2>
8 <form action=remover.jsp method=post>
9 Cdigo do funcionrio: <input type=text name=txtCodigo />
10 <input type=submit value=remover />
11 </form>
12 <%
13 }else{
14 %>
15 <h2>Funcionrio removido sucesso!</h2>
16 <%

17
dados.removerFuncionario(Integer.parseInt(codigo));
18 }
19 %>

Vamos criar agora uma pgina para listar os funcionrios cadastrados. Gere, portanto,
uma nova pgina JSP com o nome de listar.jsp:

1 <%@ page import = java.util.* %>
2 <%@ page import=java.text.DecimalFormat%>
3 <%@ page import = com.controlefuncionarios.* %>
4 <jsp:useBean id = dados scope = request
5 class=com.controlefuncionarios.DadosBean />
6 <%
7 List lista = dados.listarFuncionarios();
8 Iterator listaIterator = lista.iterator();
9 FuncionarioBean f;
10
11 if ( lista.size() > 0 ){
12 DecimalFormat df = new DecimalFormat(0.00);
13 %>
14 <h2> Listar Funcionrios</h2>
<table border=0 width=100%>
15

16 <%
17 while ( listaIterator.hasNext() ){
18 f = ( FuncionarioBean ) listaIterator.next();
19 %>
20 <tr><td>Cdigo:</td><td> <%= f.getId() %> </td></tr>
21 <tr><td>Nome:</td><td> <%= f.getNome() %> </td></tr>

Claretiano - Centro Universitrio


80 Desenvolvimento de Aplicaes Web com Java

22 <tr><td>Endereo:</td><td> <%= f.getEndereco() %> </td></tr>


23 <tr><td>Bairro:</td><td> <%= f.getBairro() %> </td></tr>
24 <tr><td>Cidade:</td><td> <%= f.getCidade() %> </td></tr>
25 <tr><td>Cep:</td><td> <%= f.getCep() %> </td></tr>
<tr><td>Salrio: R$</td><td> <%= df.format(f.getSalario()) %> </td></
26
tr>
27 <tr><td colspan=2><hr/></td></tr>
28 <%
29 }
30 %>
31 </table>
32 <%
33 }else{
34 %>
35 <h2>Nenhum funcionrio cadastrado. </h2>
36 <%
37 }
38 %>

Para finalizar a Camada de Apresentao, vamos criar uma pgina para que o usurio possa
pesquisar os funcionrios cadastrados. Crie um novo arquivo JSP com o nome de pesquisar.jsp:

1 <%@ page import = java.util.* %>


2 <%@ page import=java.text.DecimalFormat%>
3 <%@ page import = com.controlefuncionarios.* %>
4 <jsp:useBean id = dados scope = request
5 class = com.controlefuncionarios.DadosBean />
6
7 <%
8 String nome = request.getParameter(txtNome);
9 if ( nome == null || nome.isEmpty() ){
10 %>
11
12 <h2> Pesquisa Funcionrio</h2>
13 <form action=pesquisar.jsp method=post>
14 Nome do funcionrio: <input type=text name=txtNome />
15 <input type=submit value=pesquisar />
16 </form>
17 <%
18 }else{
19 List lista = dados.pesquisarFuncionarios(nome);
20 Iterator listaIterator = lista.iterator();
21 FuncionarioBean f;
22
23 if (lista.size() > 0 ){
24 DecimalFormat df = new DecimalFormat(0.00);
25 %>
26 <table border=0 width=100%>
27 <%
28 while ( listaIterator.hasNext() ){
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 81

29 f = ( FuncionarioBean ) listaIterator.next();
30 %>
31 <tr><td>Cdigo:</td><td> <%= f.getId() %> </td></tr>
32 <tr><td>Nome:</td><td> <%= f.getNome() %> </td></tr>
33 <tr><td>Endereo:</td><td> <%= f.getEndereco() %> </td></tr>
34 <tr><td>Bairro:</td><td> <%= f.getBairro() %> </td></tr>
35 <tr><td>Cidade:</td><td> <%= f.getCidade() %> </td></tr>
36 <tr><td>Cep:</td><td> <%= f.getCep() %> </td></tr>
<tr><td>Salrio: R$</td><td> <%= df.format(f.getSalario()) %> </td></
37
tr>
38 <tr><td colspan=2><hr/></td></tr>
39 <%
40 }
41 %>
42 </table>
43 <%
44 }else{
45 %>
46 <h2>Nenhum funcionrio encontrado. </h2>
47 <%

48
}
49 }
50 %>


Finalizamos com isso a Camada de Apresentao!

8. CAMADA DE NEGCIOS
A Camada de Negcio conhecida, tambm, como Camada Lgica, responsvel pelo tra-
tamento das requisies enviadas pelos clientes.
Para isso, vamos construir um Servlets que receber as requisies e realizar o encami-
nhamento para o recurso solicitado.
Crie um novo Servlet com o nome de Controlador este Servlet dever ser colocado dentro
do pacote com.controlefuncionarios.
Deixe que o NetBeans adicione as informaes referente ao Servlet automaticamente no
arquivo web.xml:

Claretiano - Centro Universitrio


82 Desenvolvimento de Aplicaes Web com Java

Veja:

1 package com.controlefuncionarios;
2
3 import java.io.*;
4 import javax.servlet.ServletException;
5 import javax.servlet.http.HttpServlet;
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8
9 public class Controlador extends HttpServlet {
10
11 public Controlador() {
12 }
13
protected void processRequest(HttpServletRequest req, HttpServletResponse
14
res)
15 throws ServletException, IOException {
16
17 String op = req.getParameter(grpMenu);
18 if ( op != null){
19
20 int opInt = Integer.parseInt(op);
21 switch(opInt){
22 case 1:
23 res.sendRedirect(adicionar.jsp);
24 break;
25 case 2:
26 res.sendRedirect(remover.jsp);
27 break;
28 case 3:
29 res.sendRedirect(listar.jsp);
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 83

30 break;
31 case 4:
32 res.sendRedirect(pesquisar.jsp);
33 break;
34 default:
35 res.sendRedirect(index.jsp);
36
37 }
38 }else
39 res.sendRedirect(index.jsp);
40 }
41
protected void doGet(HttpServletRequest request, HttpServletResponse
42
response)
43 throws ServletException, IOException {
44 processRequest(request, response);
45 }
46
protected void doPost(HttpServletRequest request, HttpServletResponse
47
response)
48 throws ServletException, IOException {
49 processRequest(request, response);
50 }
51 }

Finalmente terminamos a construo da Aplicao, assim, a estrutura do projeto ficou da
seguinte forma:

Claretiano - Centro Universitrio


84 Desenvolvimento de Aplicaes Web com Java

Voc pode agora testar sua Aplicao!

9. QUESTES AUTOAVALIATIVAS
importante que aproveite este momento para realizar uma autoavaliao sobre os con-
ceitos estudados nesta unidade:
1) Para que servem os componentes Java Beans?

2) O que JDBC?

3) Como o modelo MVC pode ser utilizado na construo de Aplicaes Web?

10. CONSIDERAES
Chegamos ao final do desenvolvimento da nossa Aplicao Web com acesso a banco de
dados utilizando componentes Java Beans e JDBC.
Com a construo da Aplicao, foi possvel notar a importncia da utilizao de padres
no desenvolvimento de Aplicaes. O modelo MVC muito empregado nesses casos e permitiu
a separao clara e transparente da Aplicao nas Camadas de: Acesso a Dados, Apresentao
e Negcios.
Tambm vimos como fcil utilizar os componentes Java Beans na conexo com banco de
dados. Com eles, foi possvel retirar todo cdigo de acesso aos dados da Camada de Apresenta-
o.
Finalmente, o Servlet teve papel crucial no desenvolvimento do projeto. Ele funcionou
como um perfeito maestro no tratamento das requisies.

11. E-REFERNCIAS
SUN 2008. Servlets. Disponvel em: <http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html>. Acesso em: 9 dez. 2013.
J2EE Sun Developer Network. Homepage. Disponvel em: <http://java.sun.com/javaee/>. Acesso em: 9 dez. 2013.
SERVLETS - Sun Developer Network. Servlets. Disponvel em: <http://java.sun.com/products/servlet/>. Acesso em: 9 dez. 2013.
______. Products. Disponvel em: <http://java.sun.com/products/jsp/>. Acesso em: 9 dez. 2013.

12. REFERNCIAS BIBLIOGRFICAS


DEITEL, H. M.; DEITEL, P. J. Java como programar. 6. ed. So Paulo: Prentice Hall, 2005.
FRANKLINT, K. Java EE 5: guia prtico Scriptlets, Servlets, JavaBeans. 2. ed. So Paulo: Erika, 2006.

13. CONSIDERAES FINAIS


Com isso chegamos ao fim da disciplina de Desenvolvimento de Aplicaes Web com
Java. Vimos muitos conceitos ao longo da disciplina, desde a construo de pginas estticas
com XHTML e CSS at o desenvolvimento de pginas dinmicas com Servlets e JSP.
Estudamos muito sobre o desenvolvimento Web com Java, no entanto, esse apenas o
comeo. A rea de informtica muito abrangente, e a plataforma Java mais ainda. Por essa
razo, precisamos sempre acompanhar as mudanas e tendncias.
U5 -Estudo de Caso: Construindo uma Aplicao Web utilizando componentes JavaBeans e conexo com Banco de Dados via JDBC 85

Durante alguns anos o desenvolvimento de Aplicaes Web era apenas uma tendncia,
hoje j uma realidade. Assim, no deixe de aplicar os ensinamentos aprendidos ao longo da
disciplina.
Sucesso!

Claretiano - Centro Universitrio

Das könnte Ihnen auch gefallen