lenguaje de programaciÓn iii - …imagenes.uniremington.edu.co/moodle/módulos de...

117
LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

Upload: phunghanh

Post on 24-Sep-2018

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

Page 2: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

2 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

ElmódulodeestudiodelaasignaturaLenguajedeprogramaciónIIIespropiedaddelaCorporaciónUniversitariaRemington.Lasimágenesfuerontomadasdediferentesfuentesqueserelacionanenlosderechosdeautorylascitasenlabibliografía.Elcontenidodelmóduloestáprotegidoporlasleyesdederechosdeautorquerigenalpaís.

Estematerialtienefineseducativosynopuedeusarseconpropósitoseconómicosocomerciales.

AUTORCesarAugustoJaramilloHenaoIngenierodeSistemasCesar.jaramillo@remington.edu.coNota:elautorcertificó(demaneraverbaloescrita)Nohaber incurridoenfraudecientífico,plagiooviciosdeautoría;encasocontrarioeximiódetodaresponsabilidadalaCorporaciónUniversitariaRemington,ysedeclarócomoelúnicoresponsable.RESPONSABLESJorgeMauricioSepúlvedaCastañoDecanodelaFacultaddeCienciasBásicaseIngenieríajsepulveda@uniremington.edu.coEduardoAlfredoCastilloBuilesVicerrectormodalidaddistanciayvirtualecastillo@uniremington.edu.coFranciscoJavierÁlvarezGómezCoordinadorCUR-Virtualfalvarez@uniremington.edu.coGRUPODEAPOYOPersonaldelaUnidadCUR-VirtualEDICIÓNYMONTAJEPrimeraversión.Febrerode2011.Segundaversión.Marzode2012Terceraversión.noviembrede2015

DerechosReservados

EstaobraespublicadabajolalicenciaCreativeCommons.

Reconocimiento-NoComercial-CompartirIgual2.5Colombia.

Page 3: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

3 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

TABLA DE CONTENIDO Pág.

1 MAPADELAASIGNATURA..............................................................................................................................5

2 UNIDAD1REDES.............................................................................................................................................6

2.1.1 RELACIÓNDECONCEPTOS..............................................................................................................6

2.2 TEMA1ConceptosBásicos......................................................................................................................7

2.3 TEMA2TCP/UDP...................................................................................................................................8

2.4 TEMA3APLICACIÓN..............................................................................................................................12

2.4.1 EJERCICIODEAPRENDIZAJE...........................................................................................................14

2.4.2 TALLERDEENTRENAMIENTO........................................................................................................15

3 UNIDAD2INTEGRACIONCONHIBERNATE...................................................................................................16

3.1.1 RELACIÓNDECONCEPTOS............................................................................................................16

3.2 TEMA1CONCEPTOSDEORM...............................................................................................................17

3.3 TEMA2RELACIONES.............................................................................................................................18

3.4 TEMA3CLAVESPRIMARIASYTIPOSDEDATOS....................................................................................18

3.5 TEMA4OBJETOSYVALIDACIONES.......................................................................................................20

3.6 TEMA5ARQUITECTURA........................................................................................................................21

3.6.1 EJERICICIODEAPRENDIZAJE..........................................................................................................53

3.6.2 TALLERDEENTRENAMIENTO........................................................................................................53

4 UNIDAD3INTRODUCCIONALAPROGRAMACIONWEB...............................................................................54

4.1.1 RELACIÓNDECONCEPTOS............................................................................................................54

4.2 TEMA1HTML/HTML5.........................................................................................................................55

4.3 TEMA2CSSHOJADEESTILOENCASCADA...........................................................................................72

4.4 TEMA3JAVASCRIPT..............................................................................................................................79

Page 4: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

4 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

4.5 TEMA4JSP/SERVLETS.........................................................................................................................83

4.6 TEMA5JAVABEANS..............................................................................................................................96

4.7 TEMA6CRUD........................................................................................................................................99

4.7.1 EJERICICIODEAPRENDIZAJE........................................................................................................113

4.7.2 TALLERDEENTRENAMIENTO......................................................................................................113

5 PISTASDEAPRENDIZAJE..............................................................................................................................114

6 GLOSARIO....................................................................................................................................................115

7 BIBLIOGRAFÍA..............................................................................................................................................117

Page 5: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

5 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

1 MAPA DE LA ASIGNATURA

Page 6: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

6 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

2 UNIDAD 1 REDES

2.1.1 RELACIÓN DE CONCEPTOS

Escribaladefinicióndetodoslosconceptosplateadosenelmapaconceptual

Servidor:Esunaplicativogestordelainformación,proveelosrecursosquesenecesitaporpartedeuncliente

Cliente:Esunaplicativoquesolicitainformaciónaunservidor

Page 7: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

7 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

DirecciónIP:Eslaubicaciónúnicadentrodeunared

TCP:Protocolodecontroldetransmisión

UDP:Protocolodeniveldetransporte

OBJETIVOGENERAL

Identificarlascaracterísticasdelaprogramaciónenred,losrecursosdecomunicaciónlosprotocolosyelmanejodelosdatos.

OBJETIVOSESPECÍFICOS

IdentificarlascaracterísticasprincipalesparaprogramarenRed Identificarloscomponentesesencialesparalaprogramaciónenred Identificarloscomandosmáscomunesparalaprogramaciónenred

2.2 TEMA 1 CONCEPTOS BÁSICOS Muchosdelosaplicativosqueescribimosestándiseñadosparaserutilizadosenunasolamáquina,estoesmuylimitanteporelcrecimientoconstantedelasempresasydeestarconectadoalosdistintosrecursosquesepuedenutilizar.

Paraestepropósitodebemosdefamiliarizarnosconelmanejodelosprotocolos,esencialmentedosdeellosquenos permiten realizar esta tarea, TCP (Transmission Control Protocol) y UDP (User Datagram Protocol), estosprotocolosimplementanloqueconocemoscomolacapadetransporte.

Page 8: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

8 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

2.3 TEMA 2 TCP / UDP TCP

LacomunicaciónTCPesanálogaaunacomunicacióntelefónica,enqueunusuariollamayelotrodeterminaonoatenderlo,cuandodecideatenderloestablecenuna“conversación”deformabidireccional.

DentrodelosprocesosmáscomunesdeestetipodeprotocoloestánFTP,Telnet,HTTP,enestosprocesosesfundamentalrespetarelordendeenvíodelastareas.

UDP

LacomunicaciónestablecidamedianteesteprotocolonoesconfiablenigarantizadacomoenelcasodeTCP,esto debido a que UDP no es un protocolo de conexión, en el UDP se envían paquetes de datos llamadosdatagramas, el envíodeestoses comparable conel enviódel correoo correspondencia tradicional, enesteejemplonosencontramosqueelenvíodeunacartanonospreocupaenquéordenllegaasudestino.

PUERTO

Lospuertossonlosmecanismosparahacerllegarlainformaciónalaplicativoquelosolicito,cadapctieneunaúnicaconexiónfísicapormediodelacualserecibelainformación,lospuertosconstituyenunadireccióninternaquedireccionaunprocesodentrodelequipodecómputo.

DIRECCIÓNIP

UnadirecciónIP(InternetProtocol),esunnumerode32bitsquedireccionademaneraúnicaaunpcdentrodelared.

APLICACIÓNCLIENTE/SERVIDOR

Page 9: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

9 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Esunordenjerárquicodelasaplicacionesdeunared,unaaplicaciónclientesolicitainformaciónaunaaplicaciónservidor,esteúltimoproveerálosserviciosaunclientesegúnlascaracterísticasdelaplicativogestor.

SOCKETS

Esconocidocomounodelosextremosenunacomunicacióndeprogramas,eslaformadecomunicarunservidorconuncliente,estesocketdireccionalainformacióndeformaúnicaalaaplicaciónsolicitante.

SERVIDOR

Esunprogramaquepermitelaqueseconectenlosdistintosprogramasclientes,estoseconocecomo“escuchar”uncliente”

CLASESCOMUNES

ServerSocket:Seutilizarparaesperaryescucharlallegadadelosclientes

Socket:Sepuedeentablarlacomunicacióncliente/servidor

EJEMPLODESERVIDOR

Page 10: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

10 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

AutoriaPropia

Page 11: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

11 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

ElservidorinstanciaunServerSocketconunpuertoaleatorioquecomoejemplosetendráel5432,lainstrucciónacepteslaencardadeesperarlaconexióndeuncliente.LainstruccióngetInnetAddresstomaralaIPdelcliente,el manejo de los datos de la forma tradicional envia solo bytes pero con las clases ObjectInputStream y/oObjectOutputStreamseprocesacomoobjetos,estasclasesleenyescribenobjetospormediodelared.

CLIENTE

AutoriaPropia

AutoriaPropia

Page 12: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

12 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Paraelclientecomunicarseconelservidor,se tieneunpuertoyunadirección IP,paraestecasoseaplicaunservidorlocal.

RMI

RMI(RemoteMethodInvocation),esunatecnologíadeinvocaciónremotademétodos,comosunombreloindicainvocamétodos,cuandoestosseencuentranenunamáquinavirtualylosllamadeotramáquinavirtual,estoseconocecomoobjetoremoto.

Elservidorseencargade instanciar losobjetosremotosy loshacedisponiblesalcliente,estoseubicaenunacolecciónorepositoriodeobjetos.

Losobjetosremotossonlospublicadosporelservidoralosquesepodránaccederporelclienteremotamente,ambasmaquinasutilizanparaestatarea lamáquinavirtual,a lahoradeconsiderarqueunobjetosearemotodeberáheredarlaclasejava.rmi.UnicastRemoteObject.

2.4 TEMA 3 APLICACIÓN AcontinuacionseveraunpequeñoejemplodeRMI

ParaestosecreaunproyectollamadoRMI,unarchivoObjetoRomoto.java,estearchivoesunainterfazydaracaracteristicasgeneralesdelproyecto

AutoriaPropia

Page 13: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

13 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

ElseguintearchivoesunaclastradicionalllamadaObjetoRemotoImplementacion.java

AutoriaPropia

ServidorRMI

AutoriaPropia

ClienteRMI

Page 14: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

14 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

2.4.1 EJERCICIO DE APRENDIZAJE

Nombredeltallerdeaprendizaje:Enviar/Recibir Datosdelautordeltaller:CesaraugustoJaramilloHenao

Escribaoplanteeelcaso,problemaopregunta:

Sepuedeenviaryrecibirinformaciónyprocesarlosdatosdeformasegura.

Solucióndeltaller:

Si,siseaplicanlosestándaresylasnormasapropiadassepodráncrearaplicacionesqueenviaryrecibandatosdemaneraoptima

Page 15: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

15 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

2.4.2 TALLER DE ENTRENAMIENTO

Nombredeltaller:ControldeNotas Modalidaddetrabajo:Individual

Actividadprevia:

Repaselosmétodosyprocesosdeenvíoyrecepcióndeinformación

Describalaactividad:

Realiceuningresodenotasdeunalumnoyelclientedebedetenerlaopcióndeconsultaryhacerunreclamosobrelanotaobtenida.

Page 16: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

16 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

3 UNIDAD 2 INTEGRACION CON HIBERNATE

3.1.1 RELACIÓN DE CONCEPTOS

Escribaladefinicióndetodoslosconceptosplateadosenelmapaconceptual

ORM:Esunmapeodeobjetosrelacionales

ClavesPrimarias:Elementoprincipaldeunatablaquenopermitequeserepitainformacióndeidentificación

Tiposdedatos:Elementosquepermitenlaclasificacióndelainformación.

Asistente:Componentequepermiterealizarprocesoscomplejosdeunaformasimple

Page 17: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

17 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Framework:Herramientaquepermitequelaelaboracióndeunaplicativoserealicedeunamaneramássimpleycontrolada

OBJETIVOGENERAL

Manejar nuevas herramientas de desarrollo como el Hibernate, conociendo las bondades de este tipocomplementoqueposibilitalaconstrucciónmásrápidodeunaplicativotradicional.

OBJETIVOSESPECÍFICOS

Identificarlasprincipalescaracterísticasdeunframework

Identificarloscomponentes,sentenciasyformasdetrabajoconHibernate

3.2 TEMA 1 CONCEPTOS DE ORM ORM (Object RelationalMapping), es una técnica de programación para convertir datos entre el lenguaje deprogramaciónorientadoaobjetosyelsistemadebasededatosrelacional.

VENTAJAS

Rapidezeneldesarrollo.

Abstraccióndelabasededatos Reutilización Seguridad Mantenimientodelcódigo Lenguajepropiopararealizarlasconsultas.

Page 18: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

18 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

3.3 TEMA 2 RELACIONES ELMAPEORELACIONAL

Laventajadeestossistemaseslareducciónconsiderabledecódigonecesarioparalograrloqueseconocecomopersistencia de objetos, esto permite lograr una integración con otros patrones como el Modelo-Vista-Controlador.

En general los sistemasde información guardandatos enBD relacionales comoOracle,mysql, sqlServer, etc,dentrodelosprocesosmáscomunestenemosqueundepartamentodeunaempresatienevariosempleados,perounempleadopertenecesoloaundepartamento.

Hibernateresuelvealgunosinconvenientesconlarepresentacióndeunmodelorelacionalmedianteunconjuntodeobjetos,enestecasolosmodelosrepresentantablasylosatributosdelasclasessonloscamposdelastablas.

ParamapearunmodelorelacionalsepuedenutilizarformatosXMLoconanotaciones.

3.4 TEMA 3 CLAVES PRIMARIAS Y TIPOS DE DATOS Dentrodelascaracterísticasdelhibernateestánsustiposdedatos

• integer • long

Page 19: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

19 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

• short

• float

• double

• character

• byte

• boolean

• yes_no

• true_false

• string

• date

• time

• timestamp

• text

• binary

• big_decimal

• big_integer

Muchosdeellosmuyconocidosporeltrabajodejavaotrosnotantoymáscomunesenestetipodeframework.

Estosdatostienenunaclasificacióncomo

• Fechayhora

• Date,timeytimestamp

• Boolean

• Yes_no,true_false,Boolean

• Texto

• Stringytext

GENERACIÓNDECLAVESPRIMARIAS

Hibernatetienemúltiplesformasdetratarlasclavesprimarias,lamássimpleescuandoeldesarrolladorindicalaclavequetendráelobjeto,esteprocesoseconocecomo“assigned”.

HibernateQueryLanguage

ElHQLesellenguajedeconsultasdelHibérnate,estetipodesentenciastienenalgunascaracterísticasquefacilitanel uso de la herramienta, aunque hay que tener presente casos como la sensibilidad de las mayúsculas yminúsculasqueenlassentenciascomotalnoinfluyen,teniendopresentequepuedeserSelect,seLect,selecTynopresentaríaningúninconvenienteeneltrabajo.

Page 20: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

20 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

EsmuycomúnverenHibernate la instrucciónfromsinprocesosprevioscomoseestáacostumbradoaotrasherramientaslomismoquelasunionesconlainstrucciónjoin.

Unejemplodeestetipodesentenciaes

Query=“fromempleadoorderbynombre”

DentrodelassentenciasJoinseencuentran

innerjoin

leftouterjoin

rightouterjoin

3.5 TEMA 4 OBJETOS Y VALIDACIONES Las validaciones en cualquier tipo de lenguaje se convierten en elementos fundamentales para un trabajoorganizado,enhibernateescomúnencontrarquelasvalidacionesestánasociadasaanotaciones

@NotNull

Estapropiedadindicaquenopuedeestarnulo

@Size(min=n,max=m):

Estapropiedadcontrolaquelainformaciónnoseanulayquecontengaunmínimodecaracteresyunmáximo.

Otrasvalidacionesson

• @AssertFalse

• @AssertTrue

• @Digits(integer=n,fraction=m)

• @Future

Page 21: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

21 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

• @Past

• @Max(n)

• @Min(n)

• @NotNull

• @Null

• @Pattern(regexp=“r”)

• @Size(min=n,max=m).

• @Email

• @NotBlank

• @Valid

3.6 TEMA 5 ARQUITECTURA LaarquitecturaentérminosgeneralesdelHibenateeslasiguiente

Page 22: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

22 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

LuegodetenerunaBDorganizadaprocedemosconlaconfiguracióninicial

Despuésdehaberingresadoaleclipseyhabercreadounproyectodelaformatradicionalserealizalasiguienteconfiguración,elproyectotendrácomonombrebiblioteca.

EnelmenúHelp/EclipseMarketPlace…

Page 23: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

23 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

SeprocedeabuscarlainstruccionSQLDevelopmenttools

Page 24: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

24 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Apereceranunaseriedeopciones,lascualesconfirmaremos

Page 25: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

25 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

LuegoseprocedeconelprocesodeagregarHibernateybuscamoslainformaciondelamismamaneraenelHelp/eclipsemarketPlace…

Page 26: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

26 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Seaceptanlosterminosysefinaliza.

Sebuscanlaslibrerías

AutoriaPropia

Page 27: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

27 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Secopiaysepegandelasiguientemanera,secreaenelproyectounfolderconelnombredeLibydentrodeestasepeganlaslibreriasseleccionadas.

LUEGOENELMENUWINDOWS/PREFERENCES

AutoriaPropia

Estaeslaconfiguraciondelaconexionparaelsistema.

SeseleccionaMySQLcomoherramientadetrabajo

Page 28: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

28 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

AutoriaPropia

Page 29: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

29 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Acaseseleccionaelconectorquetengamosdisponibleoloagregamossinoestadentrodelalista.

Posterioraestaconfiguracionbasicasecontinuaconlasperspecticas

Enelmenudewindows/perspective

Page 30: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

30 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

AutoriaPropia

Luegodeestoenlaestructuradelprogramaencontramosunaseriedeopcionesnuevas

Page 31: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

31 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

SeeleccionabotonemergenteenDataBaseConnections,seseleccionaMySQL

AutoriaPropia

Page 32: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

32 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Luegoenlasopcionesdeconfiguraciondeleclipseparaandroidrealizamoslasiguientetarea

AutoriaPropia

Page 33: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

33 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 34: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

34 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 35: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

35 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 36: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

36 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

DespuesdeestaconfiguracionseprocedealaactivaciondelageneraciondecodigoporpartedeHibernate

EnelmenuRun/HibernateCodeGeneration/HibernateCodeGenerationConfigurations…

Page 37: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

37 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 38: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

38 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 39: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

39 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 40: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

40 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 41: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

41 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

EnnuestraBDdebibliotecaseagregaraunatablaconloscamposid,nombreydescripcion

Crearemos una clase Libro.java y se gereral los getters / setters, seguido a esto se crea un archivolibro.hbm.xml

Page 42: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

42 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

LuegodeestosecreaunarchivoHibernateUtildentrodeunpaqueteutil

AutoriaPropia

Page 43: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

43 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Complementamosconlacreaciondeunainterfaz

New/interfaceylacolocaremosfacadedentrodelpaquetemodeloyagregamoselsiguientecodigo

AutoriaPropia

AcontinuacionsecreaunaclaseLibroDAOysecrearantodoslosmetodosautilizar

Page 44: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

44 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 45: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

45 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 46: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

46 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 47: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

47 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 48: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

48 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Page 49: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

49 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

LuegosecreaunaclaseController.java

Page 50: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

50 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

PosterioraestearchivosecrearaelpaquetevistaylaclaseFrmLibro

Page 51: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

51 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

PROGRAMACIONDELOSBOTONES

AutoriaPropia

Page 52: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

52 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

AutoriaPropia

AutoriaPropia

Conestosprocesoselejemploquedariafuncional.

Page 53: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

53 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

3.6.1 EJERICICIO DE APRENDIZAJE

Nombredeltallerdeaprendizaje:Hibernate Datosdelautordeltaller:CesarAugustoJaramilloHenao

Escribaoplanteeelcaso,problemaopregunta:

Consideraqueelhibernateesútilparacualquiertipodeaplicación.

Solucióndeltaller:

Sí,notieneunalimitanteounsolopropósito

3.6.2 TALLER DE ENTRENAMIENTO

Nombredeltaller:banco Modalidaddetrabajo:Individual

Actividadprevia:

RealiceeltrabajoconformadoporNomina

Describalaactividad:

Diseñarunprogramaenhibernatequecumplalascondicionesmínimasdeunbanco

Page 54: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

54 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

4 UNIDAD 3 INTRODUCCION A LA PROGRAMACION WEB

4.1.1 RELACIÓN DE CONCEPTOS

Contenedor:Herramientaquepuedecontenerotroscontroles,ejemplodetablasyformularios

Etiquetas:“comandos”deHTML

Controles:Componentesdeunambientedeprogramación,cajasdetexto,botones,combos,etc.

Formatos:Sentenciasquepermitendarpresentación,estilosydiseñoaunsitioweb

Estructuras: Son componentes de un lenguaje de programación tales como ciclos, preguntas, selectores ypreguntas

CRUD:DescripcióndeCrear,Leer,actualizaryEliminarinformación.

OBJETIVOGENERAL

Aprenderlosconceptosbásicosdelaprogramaciónweb,lasetiquetasbásicas,losformatosylasvalidaciones,asícomolaconstruccióndeunCRUD

Page 55: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

55 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

OBJETIVOSESPECÍFICOS

IdentificarlasprincipalescaracterísticasdelHTMLensuetapadediseñoparaunCRUD AplicarformatosqueledenunaspectomenosplanodelquesetrabajahabitualmenteenHTMLestándarmediantelasherramientasdeCSS

AplicarlasvalidacionesnecesariasparacontrolarelingresodelainformacióndentrounformularioHTML ElaborarunCRUDmedianteJSPyServlets

4.2 TEMA 1 HTML / HTML5 HTML

ElHTML(HyperTextMarkupLanguage)esellenguajeconelqueseescribenlaspáginasoestructurasweb,unlenguaje que permite colocar texto de forma estructurada, y que está compuesto por etiquetas, tambiénconocidascomotagsomarcas,queindicanelinicioyelfindecadaelementodeldocumento.

Los documentos HTML deben tener la extensión HTML o HTM, para que puedan ser visualizados en losnavegadoresweb(Browser),seanestoslosmáscomunescomoInternetExplorer,Chrome,Mozilla,Safari,Opera,entreotros.

LosbrowsersseencargandeinterpretarelcódigoHTMLdelosdocumentos,ydemostraralosusuarioslaspáginaswebresultantesdelcódigointerpretado.

ESTRUCTURABASICA

<html> <head> </head> <body>

Page 56: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

56 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

</body></html>

Lagranmayoríadelasetiquetasestáncompuestasporunaaperturayuncerrado<html></html>,laetiquetaquecontieneelsímboloslash(/)eslaqueindicaelcerrado,otrasetiquetasnosecomponenporparesysecierranalfinaldeella,<br/>estaesuntípicocaso.

Dentrodelaspáginaswebexisteunaestructuracomolavistaalprincipio, laetiqueta<html>y</html>sonlaprimeraylaultimadelapágina,eslaetiquetaqueenmarcaloquevamosarealizar,dentrodeestasetiquetasseubicarandosáreas,lacabecera(head)yelcuerpodelapágina(body).

CABECERA

<head>…</head>

Estaetiquetaalbergaeltítulodelapáginaypermitelainvocacióndeotroselementoscomolosscriptsylashojasdeestiloencascada,elementosqueseveránmásadelante.

<title>primerapáginaweb</title>

<html>

<head>

<title>primerapaginaweb</title>

</head>

CUERPODELAPÁGINA

<body>…</body>

Elcuerpodelapáginaalbergatodoelcontenidoquesevisualizaráporpartedelusuario,ademásel<body>podrátenerelementoscomomuchasotrasetiquetasllamadosparámetros,estosparámetrospermitendarleundiseñooformatoadicional

bgcolor=”color de fondo”, este se puede especificar de varias formas, el nombre del color como red, Green,yellow,etc,osepuedetrabajarconunformatohexadecimalquenosdaunacombinacióndemás16millonesdecolores,esteformatoserepresentaasí#RRVVAA(Rojo,Verde,Azul),losvaloresqueseutilizanparaestecasosonnúmerosde0a9ydeAaF,enlosformatostradicionessecomponenporparejas,lasdosRRrepresentanelrojo,GGverdeyBBazul,deacásaldránlos16millonesdecolores,#FF0000nosarrojarojo,#00FF00,verdey#0000FFazul

Page 57: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

57 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Background=”imagendefondo”,paraelmanejodefondossepodráusarcualquierformatodeimagencomoJPG,PNG,GIF,tengapresenteeltamañoylaresoluciónparahacermásagradableesespacioweb.

Background=”fondo.jpg”

COMENTARIOSENHTML

Conmuchafrecuenciaserequierehacercomentariosoanularpartesdelcódigocreado,paraestoseutilizaunaetiquetaqueinhabilitaestaáreadetrabajo

<!--comentario//-->

SALTOSDELÍNEA

Eselequivalenteaunenter,enHTMLloenterqueespecifiquemospresionandolateclaolabarraespaciadoranoseveráalejecutarlapáginaparaestoexisteungrupoespecíficodeetiquetasquepresentanestoscaracteres

<br/>representaraestecarácter

Ejemploderepresentación

AutoriaPropia

Uncódigoconlasetiquetasbásicasydacomoresultado

Page 58: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

58 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Seobservaeltítulo“PrimerDocumentoWeb”,ademásenelcuerposeveel fondoazulqueseespecificóyeltexto,perosepuedeverqueeltextoapareceenlamismalíneayenelarchivoeltextoestáseparadoporespacios,acáentraelfuncionamientodelaetiqueta<br/>

AutoriaPropia

Resultado

Page 59: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

59 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

LINK

Unadelasrazonesprincipalesdeunsitiowebeselmanejodelosvínculosolinks,conestaherramientasepodránrealizarcomunicacionesollamadosconotraspáginasoconotrossitios

Laetiqueta<a></a>eslaencargadaderealizarestatarea,seacompañademúltiplesparámetros,peroexisteunofundamentalqueeshrefqueindicaladirecciónorutadondeseencuentraelarchivooelsitiowebavisitar

AutoriaPropia

AutoriaPropia

Page 60: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

60 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Elhipervínculomostraralapalabra“RevistaEnter”,peroelllamadoes<ahref="http://www.enter.co">,loqueseubicaenelhrefesunarutaourl,despuésdeélseubicaunadescripcióndeltextoallamarycierraconlaetiqueta</a>

IMÁGENES

Eldiseñodeunsitiowebnose limitasoloael texto, loscoloreso loshipervínculos, las imagineshacepartefundamentaldelapresentaciónydeacercarsealasimágenescorporativasdelasempresas.

LAETIQUETAQUESEUTILIZAES<img/>

Seutilizacomoparámetrofundamentalsrc(sourceorutadelarchivo)

<imgsrc="logo.png">

AutoriaPropia

Estasimágenesselespuedenagregarbordes,sepuedenconvertirenhipervínculos.

TABLAS

Lastablassoncontenedores,sonherramientasquepermitenrealizardistribucióndeloselementosydentrodeellosubicartexto,imágenes,hipervínculosyotroselementosincluyendotablasanidadas

Page 61: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

61 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Esteuncasotípicodeunatablacompuestopor5filasy5columnas,esunamatriz

Paralaconstruccióndeellaserequieredeotrasetiquetascomoson

<tr></tr>estableceelinicioyfindeunafila

<td></td>establecelasceldasdelafila

AutoriaPropia

Dentrodelosparámetrosmáscomunesestánwidth(ancho)yborder(grosordelborde)

Existeuncarácterespecialentrecada<td>&nbsp;</td>estecarácterrepresentaunespacio,enestecódigosemostrarándosfilasy5columnas,enelcarácterespecialhayquetenerpresentequeexisten256caracteresconesteformato,algunosdelosquesonimportantesrepresentanlastildesycaracteresespecialesquelosbrowsersnoreconocenyquemuestranunsímboloquedañaríaelformatooriginal.

Page 62: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

62 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Existen algunos parámetros adicionales dentro de los<tr> y los<td>, entre ellos la posibilidad de colocarleformatoscomocoloreseimágenesdefondoylaposibilidaddecambiarfilasocolumnas

COMBINARCOLUMNAS

Paralacombinacióndecolumnasseutilizaelparámetrocolspanyelnúmerodecolumnas

AutoriaPropia

AutoriaPropia

COMBINACIÓNDEFILAS

Lacombinacióndecolumnasserealizaconlasentenciarowspanyelnúmerodefilas

AutoriaPropia

Page 63: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

63 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

FORMULARIOS

Losformulariossonherramientasquepermitenlainteracciónconelusuario,medianteestossepodránsolicitardatos,hacercálculosydemásoperaciones

Seconformaporlaetiqueta<form></form>

Igualquelastablasesuncontenedor,puedellevardistintoselementoscomocajasdetexto,botones,listas,etc.,ycontieneunaseriedeparámetroscomoson

Id:Nombreparaidentificarelformulario

Name:Nombreparaidentificarelformulario

Action:Especificaelarchivoolafunciónqueserealizaraalahoradeenviar

losdatosdelformulario

Method:Representalaformadepasodelainformación,existendosopciones

tradicionales,POSTyGET

elementosdelosformularios

• cajasdetexto

• áreasdetexto

• botonesdecomando

• botonesderadio(botonesdeopción)

• cajasdechequeo(casilladeverificación)

• lista/menú(comboBox)

• entreotros.

Page 64: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

64 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

ESTRUCTURA CAJASDETEXTO

<inputname="caja"type="text"id="caja"size="20"maxlength="10"/>

Secreamediantelaetiquetainputcomomuchosdeloselementosdeentradadeinformación,peroseespecificamedianteelparámetrotypequeesuntext,idyelname(nombre)permitenlaidentificacióndelacaja,sizeeselanchoqueseveymaxlengthlacantidaddecaracteresmáximosquesepuedeningresar.

ÁREASDETEXTO

<textareaname="comentario"id="comentario"cols="45"rows="5"></textarea>

Lasáreasdetextosonespaciosmuchomásampliosque lascajasdetexto,secomponepor idynameparaidentificarlas,colsparaelnúmeromáximodecolumnasquesemostraranyrowsparaelnúmeromáximodefilasvisibles

BOTONESDECOMANDO

<inputtype="submit"name="button"id="button"value="Almacenar">

<inputtype="reset"name="button2"id="button2"value="Restablecer">

Dosdelostiposdebotonesmáscomunessonlosdeenvíoylosderestablecer,igualdelosdemáselementoscontienesunidyname,valuéparamostraralusuariounresultadoytypeparadeterminarqueelementoes,enestecasounsubmitparaelenvíoyresetparalimpiarloselementosdelformulario.

BOTONESDERADIO(BOTONESDEOPCIÓN)

<inputtype="radio"name="radio"id="radio"value="radio">

Losbotonesderadioodeopciónpermitenseleccionarunademuchasopciones

CAJASDECHEQUEO(CASILLADEVERIFICACIÓN)

<inputtype="checkbox"name="checkbox"id="checkbox">

Lascajasdechequeopermitenlaseleccionedeuno,varios,todosoningúnelemento

Page 65: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

65 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

LISTA/MENÚ(COMBOBOX)

<selectname="select"id="select">

<optionvalue="1">Sistemas</option>

<optionvalue="2">Medicina</option>

<optionvalue="3">Derecho</option>

</select>

LoscomboBoxpermitenelegirdeunalistadeopciones,envalueseespecificaelvalorapasarylaotrainformaciónfueradelaetiquetaesloqueelusuariovisualizara

AutoríaPropia

HTML5

El HTML5 es una actualización del ambiente que pormuchos años a estado al frente del desarrolloweb, esprobablementeelcambiomássignificativoquehatenidoellenguaje,paraestecapítuloparticularseenfocaranloscambiosalmanejodeformularios,teniendoencuentaqueenotrasáreastambiénsepresentaroncambios,peroporefectosdequeestaúltimaunidadestáenfocadaaldesarrollo y creacióndeCRUDseenfocaramuyparticularmentealoscontroles.

Page 66: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

66 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Formularioadiseñar

Creacióndelformularioytablaparalaubicacióndeloselementos

AutoriaPropia

CAJADETEXTOCONCAMPOSREQUERIDOS,FOCOYMENSAJEINTERNO

AutoriaPropia

Page 67: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

67 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

EnlascajasdetextodeHTMLaligualqueenesteprimerejemploseutilizaidynameparaidentificarelelementosegúnelbrowser,losdemáselementospuedencambiarsegúnelalcance,ademáselHTMLanterioralaversión5soloteníaeneltype,laspalabrastext,hiddenypassword,enestaversiónnuevaencontramosmayornúmerodealternativasyseveránen lossiguientescontroles,paraestecasoparticulardecamposrequeridosseutiliza lasentenciarequired,conestoalmomentodeprocesarlainformaciónsilacajadetextoestuvieravacíamostraríaunmensaje

AutoriaPropia

Ademásdeestosesumalapropiedadautofocus,conestapropiedadllevaelcursoraestacajaconelfindeiniciarelprocesodedigitaciónsinlaayudadelmouse,larecomendaciónparaestapropiedadesquesoloseutiliceenuna de las cajas de texto, la última propiedad que se va a trabajar para las cajas de texto tradicional es elplaceholder,estaopciónmostraraunmensajeenel interiorde lacajadetexto,enelmomentode iniciarelingresodeinformaciónestadesaparecerá,esidealparaahorrarespacioyparadispositivosmóviles.

CORREOELECTRÓNICO

AutoriaPropia

Sepuedeobservarqueeltypecontienelevaloremail,esteantesnosepodíaespecificar,solotextopassword,conesta instrucciónelsistemavalidaraquela informacióningresadaconcuerdeconelformatodeuncorreoelectrónico,sepuedeagregarrequiredsiseprefiere

AutoriaPropia

Page 68: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

68 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Desde el inicio de la digitación se indicará que incluya una arroba y los demás componentes de un correoelectrónico

URL

Lascajasdetextoparaurltendráestapalabraeneltype,validaranqueladireccióndeunsitioseacumplalasnormasmínimas

AutoriaPropia

AutoriaPropia

FECHAS

EnlaversiónpreviadeHTMLparacrearunformatodefechasserecurríaaherramientascomoJavaScript,conelHTML5ylainstruccióndatedentrodeltypesesolucionaesteimpase.

AutoriaPropia

Page 69: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

69 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

HORA

Seagregalainstruccióntimedentrodeltype

AutoriaPropia

AutoriaPropia

FECHAYHORA

Estaetiquetamezclalasdosanteriores

AutoriaPropia

AutoriaPropia

Page 70: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

70 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

MESES

Conlainstrucciónmonthenelparámetrotype

AutoriaPropia

AutoriaPropia

SEMANA

Permiteseleccionarelnúmerodesemanadelañoyrepresentarloenlafechaalaquecorresponde

AutoriaPropia

AutoriaPropia

Page 71: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

71 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

RANGODENÚMEROS

AutoriaPropia

AutoriaPropia

INTERVALOS

AutoriaPropia

AutoriaPropia

Page 72: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

72 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

4.3 TEMA 2 CSS HOJA DE ESTILO EN CASCADA Conmuchafrecuenciaenlaconstruccióndesitioswebsepresentaquelosformatosnosonuniformesoquesetienenqueaplicarencadapágina,cuandoel sitioesconsiderablementegrandeeste tipode formatosnosonadministrablesysepuederecurriralaconstruccióndeunCSS(CascadingStyleSheet)HojasdeEstiloenCascada.

EstaherramientapermitequedeunamanerasimplesepuedanadministrarNcantidaddepáginasdemanerauniformeyconunacodificaciónsimple

TIPOSDECSS

Existen3categoríasparalosCSS

CSSenlínea:permiteaplicarformatosaunaetiquetaparticular

CSSenbloque:permiteaplicarformatosaunaovariasetiquetasdentrodelmismoarchivo

CSSenarchivo:permitelaadministracióndemúltiplespáginas.

EJEMPLODEUNAPAGINASINFORMATOS

AutoriaPropia

Estosbloquesdecódigocorrespondenaunsitiowebquenotieneformatoalguno,laestructuraeslasiguiente

Page 73: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

73 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

APLICACIÓNDEFORMATOSENLÍNEA

CSSsecomponedeunainnumerablecantidaddeopciones,algunasdeellasson

Font-family:Especificalafuenteofamiliadeestas

Font-size:Determinaeltamañodelafuentequeseempleara,sepuedeespecificarenpixeles(px),puntos(pt),pulgadas(in),centímetros(cm),milímetros(mm),picas(pc)

Text-align:Alineacióndeltextoaladerecha(right),izquierda(left),centrado(center),justificado(justify)

Font-wieght:Intensidaddelafuente,losvaloresvanentre100y900,bold

Text-transform:Se puede trasformar el texto, upper (mayúsculas), lower (minúscula),capitalize(primeraletraenmayúscula)

Color:Especificaelcolordefuente,sepuedeespecificarenformatohexadecimal,enformatoRGBoconelnombredelcolor

Background-color:Colordefondo

Background-image:Imagendefondo

Margin:Enesteformatosepuedecrearunamargendecontorno,elvalorqueseespecifiqueaplicaraaladerecha,izquierda,arribayabajo

Margin-left

Margin-right

Page 74: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

74 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Margin-top

Margin-button

Soncomplementosdelaanterior

Border:Especificaunbordeencontorno

Border-left

Border-right

Border-top

Border-button

Text-decoration:Aplicaparacolocarsubrayadosoparaquitarlos

Line-heigth:Especificaelespacioentrelíneas

Width:Anchodeunelemento

Losformatosenlíneasoloaplicanalaetiquetaquelorequiera

APLICANDOLOSFORMATOSALAPRIMERAETIQUETA

AutoriaPropia

Arrojacomoresultadolosiguiente

AutoriaPropia

Page 75: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

75 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Losdospárrafosestándentrodelaetiqueta<p></p>,perosoloseaplicaelformatoenlíneaalaprimera,estaeslaformaenlaquetrabajaelformatolineal.

FORMATOENBLOQUE

Paralacreacióndeunbloquedeestilosseubicaenlacabeceradelapágina,seespecificalaolasetiquetas,estánaplicaranelformatoatodaslasetiquetasqueseespecifiquen.

AutoriaPropia

Laetiqueta<p>yanotieneformatosenlíneayelresultadoeselsiguiente

AutoriaPropia

Enestecasoseobservaquelosdospárrafostienenlamismadistribuciónylosmismosformatos.

CSSENARCHIVO

Page 76: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

76 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

La limitante de aplicar formatos en bloque consiste en que solo serían formatos para una página, cuando serequierequeestosformatossedenenvariaspáginasdebemosexpórtalo

EnunarchivoindependienteconextensiónCSSaplicamoslosformatos

Lainvocacióndeunarchivoexternoseaplicadelasiguienteforma

AutoriaPropia

Enelarchivodeejemployanohayformatos,existeelllamadoaunarchivoquecontendráformatosglobalesparatodas laspáginasasociadas.Todas laspáginasdelmismositioquecontenganesta líneadecódigomostraraelmismo formato, si se requiereun cambiode color, de fuente, demárgenes, etc., solo tendráque ingresar alarchivo,cambiarloyalalmacenaryejecutarcualquieradelosarchivosHTMLmostraradichaactualización.

AutoriaPropia

Resultado

Page 77: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

77 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

FORMATOSENFORMULARIOS

FormulariosinformatosCSS

AutoriaPropia

AestemismoformularioseleaplicanalgunosformatosdeCSS.

Page 78: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

78 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Los formatosCSS sonmuchos ymuy variados, aplique losmasesencialesqueestamos tratando, implementenuevasalternativasconcaracteristicasnuevasdeCSS2,CSS3.

Page 79: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

79 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

4.4 TEMA 3 JAVASCRIPT JavaScript es un lenguaje interpretado, tal vez uno de los más conocidos desde hace muchos años por suversatilidad, su granpoder y pordejar una granherencia conotros ambientes como JQuery,Ajax, JSon, etc.,despuésdemuchosañossiguecomounodelosprincipalesdentrodelaprogramaciónweb.

ESTRUCTURA

EnlaestructuranoseentrarámuchoendetallesdadoquetieneunasimilitudconJavayconC++,laformadeestablecerciclosparasomientras,condicionalesoselectoresmúltiplestienenlasmismasestructuras.

JavaScriptsevaautilizarprincipalmentecomoherramientadevalidación,esuntemarelativamentecorto,perodegranimportación,seaplicarásoloestetemapormotivosdeaplicabilidadenuntemaposterior,lautilizacióndelJavaScript(JS)esmuyvariadoymuyamplio,aloqueseinvitaaseguirleyendosobreeltemaynodejarlosoloenestaetapainicial.

FORMULARIOINICIAL

AutoriaPropia

Medianteeste formularioseaplicarán losconceptosdevalidarqueuncamponoestevacíoyquecumpla lascondicionesmínimassolicitadas.

Page 80: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

80 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Paraestecasosecuentaconcarnet,nombre,dirección,emailyprofesión,seprocederáconlavalidacióndetodosloscamposquepermitanelingresodedatos.

Paraelmanejode JavaScripthayque tenerpresenteque sepuedeaplicaren condiciones similaresaCSS, sepuedencreartareasenlínea,enbloqueoenarchivosindependientes,paraestecasoseaplicaranlasvalidacionesenunarchivoexterno.

Paraesteejemplosecrearáunarchivollamadovalidar.js,paralavinculacióndeunarchivo.jsdentrodeuno.HTMLseprocedearealizarlasiguientelíneaenlacabeceradelapagina

AutoriaPropia

La instruccióndel scriptespecificael tipoquees texto/ JavaScriptyunparámetrosrcque indica la rutayelarchivodondeseencuentralavalidación

Seutilizaránexpresionesregularesparalavalidación,estopermitiráquedeunaformasencillaycortasepuedarealizarmúltiplesprocesos.

DECLARACIÓNYASIGNACIÓNDELOSCAMPOSDELFORMULARIO

AutoriaPropia

Page 81: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

81 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Enlaslíneassiguientessedeclaracadaunadelasvariablesquecontieneelformulario,yseasignaelvalordelascajasdetextoaestasvariablesconlasentenciadocument.getElementById(“nombredelcontrol”).value

Posterioraestepasoseprocedeconlaprimeravalidación,especificarqueelcarnetnoestevacío

AutoriaPropia

Seespecificaqueelcamponoseanulo,nosea0ynoestécompuestosoloporespacios

Lasentenciaalertmuestraunaventanaemergente,elreturnenfalseindicaquenosecumpliólacondición

VALIDACIÓNDELCONTENIDODELCARNET

AutoriaPropia

Enestainstrucciónapreciamoslascaracterísticasdeunaexpresiónregular,algunasdesuscaracterísticasson

^ indicaeliniciodeunacadena

$ indicaelfinaldeunacadena

Page 82: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

82 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

d indicavalorentero

{12} indicaquesolosepuedeningresar12caracteres

VALIDACIÓNDECAMPOTIPOTEXTO(NOMBRE)

Paralavalidacióndeuncampotipotextoseaplicalaprimeravalidaciónconelfindequeelcamponoestevacíoyluegoseaplicanlascondicionesdelcampo

AutoríaPropia

En esta instrucción se valida que tenga un rango de letras de la “a” a la “z” tanto enminúscula como enmayúscula,unespacioyquetengaunrangodecaracteresentre7y40

VALIDACIÓNDEUNADIRECCIÓN(CAMPOSCONTEXTOYNÚMEROS)

AutoríaPropia

Tieneuncontenidosimilaraelnombre,conlavariaciónde0-9queindicaquerecibenúmerodeceroanueveyguiones,ademásdepermitirunrangodedatos

VALIDACIÓNDECAMPOSEMAIL

AutoríaPropia

Page 83: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

83 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Lavalidacióndeestetipodecamposcomprendaunamayorcantidaddealternativas,permitenúmerosenteros,letrasdela“a”ala“z”yunderline(_)antesdelaarroba,despuésdelaarrobatieneunaseriedecaracteressimilaresypermitealfinalentre2y6caracteresparaeldominodeladirección.

Enelúltimoelseseaplicaunreturntrue,estoindicaquecuandocumplatodaslascondicioneslavalidaciónesvalida

Porultimoenelformularioseagregaelllamadoalafunción

AutoríaPropia

Esteeventoonsubmit realizael llamadode la funcióncadaquesepresionaelbotónAlmacenar,comprendereturnvalidación,conesta instrucciónelsistemarecibeeltrueofalsesegúnlavalidacióndeloscampos,elvalor que hay dentro del parámetro action es opcional, ahí se ubica el archivo que se va a trabajar si lascondicionessecumplen.

4.5 TEMA 4 JSP / SERVLETS JSP(JavaServerPage)esunaherramientacomplementariadedesarrolloweb,labasedetodositiowebesyseráHTML,quesecomplementaconherramientascomoCSS,JS,entreotroselementos,JSPhacepartedeunselectogrupodeopcionesquepermitenunamayorinteracción,lacomunicaciónyelaccesoalasBD,setrabajadelladodelservidorynodelclientecomolasotrasherramientas.

Para la creación y utilización de un archivo JSP se trabaja con Eclipse EE, se puede descargar del sitiowww.eclipse.org

AutoríaPropia

TambiénserequieretomcatqueesuncomplementodelApacheypermitelainterpretacióndelsitiodiseñado.

AutoríaPropia

Page 84: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

84 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Paraestecapítulosetrabajaráconlaversión8

CREACIÓNDELSERVIDOR

ParaesteprocesodelJSPserequierecrearunservidorconlaolasconfiguracionesnecesariasparalainteraccióneinterpretacióndelanuevacodificación.

UbicadosenlaparteinferiordelIDEenlapestanaServer

AutoríaPropia

SeseleccionaelvínculoNoserversareavailable.Clickthislinktocreateanewserver…

En la ventana contigua se selecciona apache y la versiónmás reciente que se tengadisponible y / o se hayadescargado

Page 85: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

85 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

SecontinuaconelbotónNext,

Page 86: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

86 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

En la opción Tomcat Installation directory se busca la ubicación de tomcat, habitualmente se encuentra enarchivosdeprogramas,apachesSoftwareFoundationy seselecciona laversióndel tomcat, luegoseaceptayfinaliza

Page 87: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

87 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

LapestanaServerstieneunaconfiguraciónenestemomentolistaparaserusada

PROBARLACONFIGURACIÓN

AutoríaPropia

Alladoderechodelaopciónserverseencuentrauniconoparalaejecución,verifiqueelbuenfuncionamientodelservidor

AutoríaPropia

SeobservaqueelestadocambiadeStoppedaStartedyestálistoparasuuso

CREACIÓNDELPRIMERPROYECTO

UbicadosenelProjectExploreryconbotónemergente,seseleccionanew/DinamicWebProject

Page 88: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

88 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Seespecificaelnombredelproyecto

Page 89: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

89 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Ysefinaliza

Page 90: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

90 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Esta es la estructura de un proyecto nuevo, dos de los aspectos mas comunes e importantes son el JavaResourcesdondeseubicaránlosarchivosconextensión.javayWebContentdondeseubicaránlosarchivosJSP

CREACIÓNDEUNARCHIVOJSP

AutoriaPropia

EnelWebContentbotónemergente,new/JSPFile

Page 91: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

91 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Yfinalizalacreación.

APARIENCIAINICIAL

Page 92: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

92 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

ContienelamayorpartedelcódigoHTMLperoenlaprimeralíneadecódigoseveunaseriedesímbolospropiosdeJSP

<%@%>

EstossonlossímbolosquerepresentaneltrabajoconJSP,indicaademásellenguaje,elcontextoyunacoleccióncomoeslaISO.

CREACIÓNDEUNFORMULARIO

AutoríaPropia

Este formulario tiene lasmismas características de los temas anteriores (creación de formularios), se ubicadentrodelbodydelarchivocreado,sepodráejecutar,aunquenoarrojeningúnresultado.

APLICACIÓNDELAOPERACIÓNMEDIANTEARCHIVOJSP

SecreaunarchivonuevollamadoResultado.jspyseinvocaenelformularioanteriorenelparámetroactionelnombredelarchivoylaextensióndeeste.

AutoríaPropia

AutoríaPropia

Page 93: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

93 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

AutoríaPropia

En el formulario creado inicialmente no tiene cambios de codificación salvo la línea de JSP que se estableceautomáticamente,peroseempiezaviendounparámetrocomoactionquecontieneunvalor(Resultado.jsp),estaaccióneselarchivoolafunciónquesedeseaejecutar.

ObserveenelarchivoResultado.jspqueaunavariablefloatpvselehaceunaconversiónydentrodeestaaparecelainstrucciónrequest.getParameter,estainstruccióntomaelcontenidodelacajadetextoprimerValor,lomismosucedeparalasegundavariable,tengamuypresentelaescrituradelasvariablesocampos,eljavaessensibleamayúsculasyminúsculas.

AplicacióndelMismoformulariomedianteServlets

Losservletssonarchivosconextensiónjavadiseñadosparaelmanejodelosdatosdeunformulariomediantemétodoscomopost(doPost)get(doGet)

CREACIÓNDEUNSERVLET

Page 94: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

94 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

ConelbotónemergenteubicadossobreelsrcdelJavaResources,new/Servlet

AutoríaPropia

Page 95: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

95 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Ysefinaliza.

ComponentesdelServlet

AutoríaPropia

Secomponeensupartesuperiorconlospaquetesdeuso,unaanotaciónfundamentalenlaejecucióndeeste@WebServlet,nombredelaclaseconstructor

METODODOPOSTYDOGET

AutoríaPropia

Útilesparalarecepcióndelainformación,estallegainicialmentealdoGetyalserprocesadapasaaldoPost

IMPLEMENTACIÓN

Page 96: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

96 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Sehacelellamadodesdeelactiondelformulario

AutoríaPropia

DESARROLLODELSERVLET

AutoríaPropia

Resultado

AutoríaPropia

4.6 TEMA 5 JAVABEANS Dentrodelosmodelosnuevosdedesarrollocadadíaseencuentrasmásalternativas,unadeellasonlosBeansoJavaBeans,estemodeloopatrón,cumplelatareade“claseprincipal”,enunaclasesincara(sindiseñográfico)peropermiteeltránsitodelainformación,todoslosprocesospasanporestaclase,lainformaciónseactualizaenestayelprocesoquelorequierasiempreycuandotengaaccesopodrátomarlosprocesarlosydevolverlos,asíenuncicloconstantelainformaciónestarádisponible,ademásdebrindarseguridadyquenosetengaqueaccederhastaelformulariooaotraclasesmásrestringidas.

CREACIÓNDEUNJAVABEAN

SecreaunaclaseEmpleado.java

Page 97: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

97 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Esteeseliniciotípicodeunbeanenjava,luegodeesteprocesoseprocedeacrearoagenerarlosgettes/setters

Ubicadosencualquieradeloscamposyconelbotónemergenterealizamoslageneracióndelosgetters/setters

AutoríaPropia

Despuésdeestoseprocedeagenerarcualessonloscamposquesedeseanincluir

Page 98: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

98 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Acáseobservanalgunasdeellasyageneradas

Page 99: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

99 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

4.7 TEMA 6 CRUD LacreacióndeunCRUDmedianteambientesdeprogramaciónsiemprecumpleunosmínimosrequisitos,paraestecasoseiniciaráconunMER(ModeloEntidadRelación)

Page 100: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

100 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

EsteMER se creará medianteMySQL y se aplicaran procedimientos almacenados para las tareas básicas deinsertar,consultar,modificar,eliminar.

PosterioraestoseutilizaráelconectordeMySQL,esteconectordebedeubicarseenlacarpetaLIBdeTomcat.

PROYECTO

SecrearáunproyectoUniversidad

Paquetesdetrabajo

Control

Modelo

Utilidad

Utilidad

SecreaelarchivoConexion.java(Class)

Page 101: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

101 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

CREACIÓNDELOSJAVABEANS

ArchivoCiudad.java

Page 102: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

102 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

CREACIÓNDELARCHIVODAO,CIUDADDAO.JAVA

Estearchivocontienelosmétodosdetrabajoparainsertar,consultar,modificaryeliminar

Seespecificaránlosmétodosyluegoseaplicaránsegúnsunecesidad.

EstearchivoCiudadDAO.javaesunaclasetradicional.

INICIODELARCHIVOCIUDADDAO

Page 103: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

103 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

MÉTODODEINSERTAR

AutoríaPropia

MÉTODODELISTADO

Page 104: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

104 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

ELIMINAR

Page 105: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

105 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

CONSULTAR

AutoríaPropia

MODIFICAR

Page 106: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

106 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

TodosestosprocesostienenelmismoorigendelCRUDcreadoenjavaSE,lassentenciasyloscomandossonlosmismos

FACHADA

Lafachadaenelambientewebcambiaunpoco,tieneunacodificaciónmásespecíficadecadatarea.

SeconstruiráunaFachadaoFacadeparalaciudadysellamaraFachadaCiudad.java,estearchivoesunservlet.

Page 107: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

107 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

EstafachadainstanciaCiudadDAOdondeseencuentranlosprocesospreviamentecreados,instanciaCiudadquecontienelosBean,posteriormenteseencuentrandoslíneasquetienenconstantes,unadeellasLISTARylaotraMODIFICAR,hacereferenciaasusrespectivasURLsyposteriormenteunconstructorconlainstanciadefinitivadelasdosclasesantesmencionadas.

Acontinuación,sedesarrollaelmétododoget

Page 108: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

108 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoríaPropia

Estemétodorecibelasordenessegúnlatareaquesepretendedesarrollar,lavariableopcrecibiráunapalabraclave, sea para insertar, consultar, modificar o eliminar, se evalúa cual de las opciones es la correcta y seimplementa.

Ejemplo

AutoríaPropia

Seevalúasilaopciónqueserecibeeslistar,alavariableacciónseleasignaunaconstantequeasuveztieneunaURLasignadayporúltimoseinvocaelmétodociudadDAO.listado,esteeselmétododelarchivoDAO,esteprocesosellevaaunlistarCiudadqueesunarreglodedatos.

Alfinaldeestemétodoseencuentraunpardelíneas

AutoríaPropia

Page 109: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

109 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

Permitenlainvocacióndelprocesoquetengaasignadolavariableacción,porejemplo,siseinsertaromodificadespuésdehacerlatareavaallamarellistadoparacorroborarquesiestáfuncionando.

AutoríaPropia

Formulariodetrabajo,Ciudad.jsp

AutoriaPropia

Esteformularioestradicionalalosvistosanteriormente,enelactiontieneelsiguientellamado

AutoriaPropia

Estaprimerapartees funcional, yaalmacena información, sevaa complementar realizando lasdemás tareasdesdeunarchivoindex.jspyellistadodeinformación.

INDEX.JPS

Elarchivodeíndexsevaautilizarcomomedioparallamarlasopcionesquesedesean.Paraelejemploinicialsolocontendrálainserciónyellistadoydesdeestaúltimairalaeliminaciónymodificación.

Page 110: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

110 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

ARCHIVOLISTARCIUDAD.JSP

AutoriaPropia

Estearchivocontienealgunascaracterísticasdeconfiguración,comolas3primeraslíneasenlasqueserealizaelllamadoalalibreríajstl,parauncorrectofuncionamientodellistado.

LosdemásprocesossondeunatablatradicionaldeHTML

Page 111: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

111 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

AutoriaPropia

Lasegundapartedelarchivocomprende

AutoriaPropia

Lautilizacióndelarregloomatrizdedatos,estaseespecificodesdelafachadaCiudadyseagregaunparámetrovarcomoaliasdeestamatriz

AutoriaPropia

Sehaceusodelaliasydelcampoquesedeseavisualizar(nombreasignadoenlaclaseprincipaldegetters/setters),esteprocesoserepitaparacuantoscamposdeseamosmostrarenpantalla.

Ellistarquedaríadeestamanera.

AutoriaPropia

MODIFICACIÓN

Page 112: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

112 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

ElarchivodemodificacionCiudad.jsp,tieneundiseñosimilaraldeinsertarCiudad.jsp,adicionandolassiguienteslíneasenlapartesuperior

AutoriaPropia

Yencadacajadetextoseaplicaríalosiguiente

AutoriaPropia

Esteprocesoyaesoperativoparaunatablamaestra.

Tenga presente que el modificar puede ser el procesomás largo, luego de listar información, se consulta yposterioraestosealmacena.

Page 113: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

113 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

4.7.1 EJERICICIO DE APRENDIZAJE

Nombredeltallerdeaprendizaje:JSP Datos del autor del taller: Cesar AugustoJaramilloHenao

Escribaoplanteeelcaso,problemaopregunta:

ParalaconstruccióndeunarchivoWebconjavasetienenqueusarlosServlets

Solucióndeltaller:

No,enalgunoscasossepodríatrabajarsoloconJSP,losservletscontienenunaprogramaciónmásnativa,ymássegura

4.7.2 TALLER DE ENTRENAMIENTO

Nombredeltaller:Veterinaria Modalidaddetrabajo:Individual

Actividadprevia:

RealicecompletamenteelCRUDdejspyservletsvistoenlaúltimaunidad,estodarálasbasesnecesariasparaeltrabajoposterior.

Describalaactividad:

Creeunproyectoquecubratodoslostemasdelaunidad5,apliqueformatosyvalidacionesyunCRUDquecomprendavariastablasincluyendotablasmaestras,referencialeseintermedias.

Page 114: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

114 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

5 PISTAS DE APRENDIZAJE Recuerdeque:programaciónwebesunrecursomuyamplioquemanejamúltipleslenguajesyelementos

Tengaencuenta:laprogramaciónutilizadaesbasadaenjavatantoparajavaSEcomoparaJavaEE

Traigaalamemoria:quelamayorpartedecomandoeinstruccionessonlosmismosenjavaSEqueenjavaEE

Page 115: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

115 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

6 GLOSARIO • JavaSE:Eslaversiónestándardejava,estaversióneslabasedetodoeltrabajoenjava

• JavaEE:EslaversiónEnterpriseoempresarial,esutilizadaparalaprogramaciónweb

• Eclipse:EsunIDEdedesarrolloquepermitefacilitaralgunastareasdelaprogramaciónenJava

• Proyecto:Esunconjuntodearchivosquecomponenunaaplicación

• Paquete:Esunáreadetrabajoquepermitelaclasificacióndearchivosoclases

• DAO:Esunmodelodedesarrolloopatróndediseño,standarddetrabajo

• Getters/setters:Hacenpartedeunaclaseprincipalquepermiteaccedealainformación

• JSP:JavaServerPage,ambientedetrabajoweb

• HTML:LenguajedeMarcasdeHipertexto

• JavaScript:LenguajesimilarenestructuraaJavaquesepuedemezclarconaplicacionesweb

• CSS:Formatosdeaplicacióndeaplicacionesweb

• Método:Espaciodecódigoquerealizaunafuncionaespecifica

• Façade:Patróndediseñoqueadministraunconjuntodeclases

• Hilo:Herramientadetrabajoquepermiterealizarunatareaenprocesosparalelos

• Red:Partedelaprogramaciónquepermitequevariostrabajenconelementoscompartidos

• Hibernate:FrameWorkdejavaquepermiterealizarprocesosstandardowebdeunaforma massimplificada

• Propertie:Extensióndearchivoquepermiteaccederarecursosfueradelacompilación

• Conector:Archivoquecontieneloselementosnecesariosparavincularunproyectoconunmotordebasesdedatos

• Reportes:Herramientadevisualizacióndeinformacióngeneraloespecifica

Page 116: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

116 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

• Documentación: Herramienta de ayuda para el desarrollador y el control de los procesos realizados enperiodosdetiempo.

Page 117: LENGUAJE DE PROGRAMACIÓN III - …imagenes.uniremington.edu.co/moodle/Módulos de aprendizaje... · LENGUAJE DE PROGRAMACIÓN III 2 ... , este archivo es una interfaz y dara

117 LENGUAJE DE PROGRAMACIÓN III TRANSVERSAL

7 BIBLIOGRAFÍA • Eckel,Bruce.(2008).PiensaenJava,Madrid.ISBN:978-84-8966-034-2

• Villalobos,Jorge(2006),FundamentosdeProgramación,Bogotá.ISBN:970-26-0846-5

• Deitel,Paul.(2012),Java,comoprogramar,México.ISBN:978-607-32-1150-5