Sie sind auf Seite 1von 20

J a v a n a We b

Ap lic a ç õ e s We b
Mo d e lo -Vis u a liza ç ã o -Co n tro le ;
J avaBeans;
Ex e m p lo p rá tic o : Ag e n d a .
J a v a n a We b
P a d rã o MVC
J a v a n a We b
P a d rã o MVC
Ap lic a ç õ e s We b MVC

O ganho p a ra o d e s e n v o lv im e n to é s e p a ra r m e lh o r as
re s p o n s a bilid a d e s , d im in u ir c ó d ig o J S P e re u s a bilid a d e . N e s te
p a d rã o MVC, é u tiliza d a a a rqu ite tu ra d e im p le m e n ta ç ã o c o m
s e rv le t, J a v a B e a n s e J S P . O Co n tro le fic a a c a rg o d e u m s e rv le t
qu e g e re n c ia o flu x o d a a p lic a ç ã o We b, o Mo d e lo é d e le g a d o p a ra
u m J a v a B e a n s e a Vis u a liza ç ã o é d e re s p o n s a bilid a d e d e u m a J S P ,
qu e p ro d u z u m a s a íd a e m HTML p a ra o n a v e g a d o r We b d o c lie n te .
J a v a n a We b
Ap lic a ç õ e s We b
In ic ia n d o HS QLD B

Ex ecute o arquivo *.bat que t em est es comandos:

java - classpat h ./ lib/ hsqldb.jar org.hsqldb.WebServer - dat abase.0 dbm vc


- dbname.0 mvc


Agora no Net Beans abra o projeto MVC;

Vá até o diret ório “Source Packages”, e crie um pacot e denominado:

“br.javanoroeste.mvc”

Agora crie um Servlet denominado “Cont rollerAgenda”;



J a v a n a We b
Ap lic a ç õ e s We b
Mo n ta n d o o a m bie n te c o m HS QLD B
Explicação
J a v a n a We b
Ap lic a ç õ e s We b
Mo n ta n d o o a m bie n te c o m HS QLD B
Explicação
J a v a n a We b
Ap lic a ç õ e s We b
Cole o seguint e código no servlet :
prot ect ed void processRequest (Ht t pServlet Request request ,
Ht t pServlet Response response)
t hrows Servlet Except ion, IOExcept ion {

response.set Cont ent Type(" t ext /ht m l" );

Print Writ er saida = response.get Writ er();


saida.print ln(" < ht m l> " );
saida.print ln(" Olá Javanororest e! " );
saida.print ln(" < /ht m l> " );

saida.close();
}

É só executar...
J a v a n a We b
Ap lic a ç õ e s We b
Agora vamos alterar o código.

Inclua no início da classe as linhas abaixo:

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

Substitua o código que está marcado

response.setContentType("text/ html");
Print Writ er saida = response.get Writ er();
saida.print ln(" < ht m l> " );
saida.print ln(" Olá Javanororest e! " );
saida.print ln(" < /ht m l> " );

saida.close();
}
Pelo código a seguir:
J a v a n a We b
Ap lic a ç õ e s We b
String driver = "org.hsqldb.jdbcDriver";
String url = "jdbc:hsqldb:htt p:/ / localhost/ mvc";
String usuario = "sa";
String senha = "";
try
{
Class.forName(driver);
} catch (ClassNotFoundEx cept ion e)
{
Syst em.out .print ln("Erro ao carregar o driver JDBC: " + e.get Message());
Syst em .ex it(0);
}

continua....
J a v a n a We b
Ap lic a ç õ e s We b
try
{
Connection con = DriverManager.get Connection(url, usuario,
senha);
Statement st = con.creat eStatement ();
String sql = "SELECT nome, email FROM AGENDA";
ResultSet res = st .ex ecuteQuery(sql);

saida.print ln("< html> ");


saida.print ln("< head> ");
saida.print ln(" < tit le> HSQLDB< / t it le> ");
saida.print ln("< / head> ");
saida.print ln("< body> ");
saida.print ln("< h1> HSQLDB< / h1> ");
saida.print ln("< t able> ");

continua....
J a v a n a We b
Ap lic a ç õ e s We b
while (res.nex t()) {

saida.println("< tr> < t d> " + res.get String(1) + "< / t d> < td> " +
res.get String(2) + "< / td> < / tr> ");

}
saida.print ln("< / t able> ");
saida.print ln("< / body> ");
saida.print ln("< / ht ml> ");

saida.close(); res.close(); st .close(); con.close();


} catch (SQLEx cept ion e)
{
Syst em.out.print ln("Erro ao se conectar com a URL fornecida - " +
e.getMessage() + " - error code: " + e.getErrorCode());
Syst em .ex it(0);
}
J a v a n a We b
Ap lic a ç õ e s We b

Ex ecute o programa...
J a v a n a We b
Ap lic a ç õ e s We b

J avaBeans

Ja v a Be a ns s ão ob jet os es crit os em Java, cu jas im p lem en t ações


est ão d e acord o com u m con ju n t o d e con ven ções p rojet ad as p ara
p r om over m od u larid ad e e r eu s abilid ad e. Ja v a Be a ns u s a u m es tilo
d e p rogram ação q u e con d u z a p art es d e cód igo d e p rogr am a
in d ep en d en t es , p elo q u al en cap su lam com p ort am en t o,
fu n cion alid ad e ou d ad os relacion ad os, p od en d o s er u s ad os e
reu t iliz ad os em m ú lt ip los con t extos sem q u e seja p recis o con h ecer
d et alh es d e s u a op eração in t ern a.
J a v a n a We b
Ap lic a ç õ e s We b

J avaBeans

Co m po ne nte é u m objet o in d ep en d en t e, rep resen tan d o u m a


coleção d e p rop ried ad es e com p ort am en t o. Pelo fat o d ess as
p r op ried ad es e com p ortam en t os p od erem s er acess ad os, s em
levar em con s id eração a im p lem en t ação básica, é p oss ível
d es cr ever as cap acid ad es d e u m com p on en t e, in d ep en d en t em en t e
d a lin gu agem d e p rogram ação em q u e es t e foi origin alm en t e
escrit o. No cas o d a JSP, os com p on en t es escrit os com o Ja v a Be a n s
s ão aces s ad os p or m eio d e u m a s in t axe alt ern ativa e n ão at ravés
d e u m a lin gu agem d e p rogram ação.
J a v a n a We b
Ap lic a ç õ e s We b

Crie um no v o paco te :
br.jav ano ro e s te .be an s
J a v a n a We b
Ap lic a ç õ e s We b

Crie um a no v a clas s e :
Ag e ndaBe an
J a v a n a We b
Ap lic a ç õ e s We b

Es cr eva o cód igo p ar a o Ag e ndaBe an a s egu ir:

public clas s Age n daBe an {

priv ate Strin g no m e ;


priv ate Strin g e m ail;

public v o id s e tNo m e (String no m e ){


th is .n o m e = n o m e ;
}

public v o id s e tEm ail(String e m ail){


th is .e m ail= e m ail;
}

public String ge tNo m e (){


re turn n o m e ;
}
public String ge Em ail(){
re turn e m ail;
}
}
J a v a n a We b
Ap lic a ç õ e s We b

Agora alt ere o cód igo d o s ervlet Con t rollerAgen d a:

In clua a lin ha abaix o nas d e claraçõ e s de im po rt:

im po rt br.jav an o ro e s te .m v c.be an.Ag e nd aBe an ;

De ntro d o m é do pro ce s s Re que s t acre s ce nte o có d ig o :

Ve cto r lis taAge nd a = ne w Ve cto r();

Apag ue o tre cho de có digo abaix o :

s aida.println ("< h tm l> ");


s aida.println ("< h e ad > ");
s aida.println (" < title > HSQLDB< / title > ");
s aida.println ("< / h e ad > ");
s aida.println ("< bo dy > ");
s aida.println ("< h 1 > HSQLDB< / h 1 > ");
s aida.println ("< table > ");
J a v a n a We b
Ap lic a ç õ e s We b

No t rech o q u e ap arece o cód igo ab aixo:

wh ile (r es .n ext ()) {

s a id a .p r in t ln ("< t r > < t d > " + r es .get St r in g(1 ) + "< / t d > < t d > " +
r es .get St r in g(2 ) + "< / t d > < / t r > ");

Su b s t it u a p or :

wh ile (r es .n ext ()) {


Agen d a Bea n a gen d a = n ew Agen d a Bea n ();
a gen d a .s et Nom e(r es .get St r in g(1 ));
a gen d a .s et Em a il(r es .get St r in g(2 ));
lis t a Agen d a .a d d (a gen d a );

}
J a v a n a We b
Ap lic a ç õ e s We b

Ap agu e o t rech o d e cód igo a s egu ir.:

s a id a .p r in t ln ("< / t a b le> ");


s a id a .p r in t ln ("< / b od y> ");
s a id a .p r in t ln ("< / h t m l> ");
s a id a .clos e();

Acr es cen t a r n o fim d o cód igo d a cla s s e es t a s lin h a s ::

r eq u es t .s et At t r ib u t e("lis t a a gen d a ", lis t a Agen d a );


St r in g d is p a t ch = "/ viewlis t a .js p " ;
Req u es t Dis p a t ch er d is p a t ch er = r eq u es t .get Req u es t Dis p a t ch er
(d is p a t ch );

d is p a t ch er .for wa r d (r eq u es t , r es p on s e) ;

Das könnte Ihnen auch gefallen