ebook img

Java EE: Aproveite toda a plataforma para construir aplicações PDF

324 Pages·2015·1.61 MB·Portuguese
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java EE: Aproveite toda a plataforma para construir aplicações

© CasadoCódigo Todos os direitos reservados e protegidos pela Lei nº9.610, de 10/02/1998. Nenhumapartedestelivropoderáserreproduzida,nemtransmitida,sem autorização prévia por escrito da editora, sejam quais forem os meios: fotográficos,eletrônicos,mecânicos,gravaçãoouquaisqueroutros. CasadoCódigo Livrosparaoprogramador RuaVergueiro,3185-8ºandar 04101-300–VilaMariana–SãoPaulo–SP–Brasil CasadoCódigo Agradecimentos EsteéosegundolivroqueescrevopelaCasadoCódigoeasatisfaçãoéimensa. Serumdosautoresdaeditoraquedesburocratizouacriaçãodelivrosnopaís éumaenormehonra. Porcontadisso,meuprimeiroagradecimentovaino- vamenteparaPauloeAdriano,pormedaremespaçoparaescrever. Vou aproveitar para também deixar os agradecimentos aos meus pais, donaSebastianaeseuAlberto! Sempremeincentivaramaestudare,deixa- rambemclaroparamim,queaúnicacoisaqueninguémpodetirardevocê é o conhecimento adquirido. Acho que nunca vou conseguir demonstrar o quantoissofoirelevante. Porúltimo,queroagradeceravocê,quetemsededeconhecimentoequer estarsempreaprendendo.Sãodepessoasassimqueomundoprecisaeeues- pero,sinceramente,quecadagotadesuordirecionadoparaseuaprendizado setransformeemumpassoamaisdadonasuacarreira. i CasadoCódigo Autor AlbertoSouzaéBacharelemCiênciadaComputaçãopelaUniversidadeSal- vadoredesenvolvedordesde2005,tendoparticipadodemuitosprojetosweb eexperimentadodiversaslinguagens.Participadeprojetosopensourcecomo oStellaeVRaptor.PossuiacertificaçãoSCJPetrabalhacomodesenvolvedor einstrutorpelaCaelum. SeuTwitteré@alberto_souzaevocêtambémpode encontrá-lo no GitHub, no endereço http://www.github.com/asouza. Tam- béméumdosfundadoresdoprojetoSetupMyProject,umaaplicaçãowebque vemajudandodiversosdesenvolvedoresacriaremprojetosJAVAdemaneira bastantesimples. Além de já ter escrito outros livros, Play Framework na prática: Gaste temponoqueépreciosoeoSpringMVC:Domineoprincipalframeworkweb Java, ele também possui dois blogs sobre tecnologia. Um específico sobre oSpring(http://domineospring.wordpress.com)eoutroqueeledesvendaos detalhes por trás de várias tecnologias que são usadas nos projetos (http:// setupmyproject.wordpress.com). iii CasadoCódigo Público-alvo Este livro é para pessoas que já conheçam um pouco sobre a estrutura de um projeto web utilizando a linguagem JAVA. O mínimo de JSF vai ajudar paraquevocêconsigaacompanharaconstruçãodaaplicaçãoWEBdeuma maneiramaisfluida,masfiquetranquilo,poistudodoJSFseráexplicadopara você. Quasetodocapítulovaicobrirdetalhesquevãoalémdousonormale vaideixá-lomaiscríticoemrelaçãoaousodatecnologia. ConsideretambémqueolivroésobreoJAVAEEcomoplataforma,então existemváriasoutrasespecificaçõesqueserãocobertasequelhedeixarámais embasadoparatomarsuasfuturasdecisõesemrelaçãoàplataforma. v CasadoCódigo Sumário Sumário 1 Introdução 1 1.1 PorqueoJavaEE? . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 SpringxJavaEE . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Comeceaaventura. . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Público-alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.5 Curiosidade:porqueJSFcomoframework? . . . . . . . . . . 5 1.6 Vamoslá? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Começandooprojeto 7 2.1 Configuraçãoecriaçãodoprojeto . . . . . . . . . . . . . . . . 7 2.2 Acessandooprimeiroendereço . . . . . . . . . . . . . . . . . 25 2.3 Umpoucopordentrodoframework . . . . . . . . . . . . . . 29 2.4 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3 Cadastrodeprodutos 33 3.1 Formuláriodecadastro . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Lógicadecadastro . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3 Gravandoosdadosnobancodedados . . . . . . . . . . . . . 38 3.4 ConfigurandoaJPA . . . . . . . . . . . . . . . . . . . . . . . . 42 3.5 ConfiguraçãodoDataSourcenoWildlFly . . . . . . . . . . . 46 3.6 Anecessidadedeumatransação . . . . . . . . . . . . . . . . . 54 3.7 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 vii Sumário CasadoCódigo 4 MelhorandoocadastroeumpoucomaisdeJSF 59 4.1 Associandováriosautores . . . . . . . . . . . . . . . . . . . . 60 4.2 Limpandooformulário . . . . . . . . . . . . . . . . . . . . . . 67 4.3 Listandooslivros . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.4 ForwardxRedirect . . . . . . . . . . . . . . . . . . . . . . . . 70 4.5 Exibindoamensagemdesucesso . . . . . . . . . . . . . . . . 73 4.6 Isolandoocódigodeinfraestrutura . . . . . . . . . . . . . . . 76 4.7 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5 Validaçãoeconversãodedados 83 5.1 Validaçãobásica . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.2 Exibindoasmensagensdeerrodemaneiraamigável . . . . . 87 5.3 TrocandoasmensagensdefaultdoJSF . . . . . . . . . . . . . 90 5.4 IntegraçãocomaBeanValidation . . . . . . . . . . . . . . . . 92 5.5 Convertendoadata . . . . . . . . . . . . . . . . . . . . . . . . 96 5.6 Converterparaentidades . . . . . . . . . . . . . . . . . . . . . 101 5.7 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6 Uploaddearquivos 109 6.1 RecebendooarquivonoManagedBean . . . . . . . . . . . . 109 6.2 Salvandoocaminhodoarquivo . . . . . . . . . . . . . . . . . 114 6.3 Gravandoosarquivosforadoservidorweb . . . . . . . . . . 117 6.4 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 7 Carrinhodecompras 127 7.1 Exibindooslivrosnapáginainicial . . . . . . . . . . . . . . . 127 7.2 Navegandoparaodetalhedoproduto . . . . . . . . . . . . . 131 7.3 LidandocomLazyInitializationException . . . . . . . . . . . 139 7.4 SeráqueomelhoréoDAOserumEJBstateful? . . . . . . . 143 7.5 Formatandoadatadepublicação . . . . . . . . . . . . . . . . 145 7.6 Carrinhodecompraseoescopodesessão . . . . . . . . . . . 146 7.7 Conclusão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 viii

Description:
A especificação Java EE e suas respectivas implementações vêm evoluindo ao longo do tempo. A configuração e utilização das especificações ficaram bem mais fáceis. O que ainda não é tão fácil de enxergar é como podemos colocá-las para trabalhar em conjunto. Quais eu devo usar no meu
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.