p_struts
-
Upload
carlos-garrido -
Category
Documents
-
view
228 -
download
0
Transcript of p_struts
-
8/8/2019 p_struts
1/34
PROGRAMACIN WEB CO
FRAMEWORK STRUTSBeatriz Montero Fernndez -
http://ousli.org
-
8/8/2019 p_struts
2/34
NDICENDICE
1) INTRODUCCIN
2) J2EE
3) MVC
4) INSTALACIN DE UN ENTORNO DE DESENVOLVEMENTOEN UBUNTU 7.04
5) STRUTS MODELO VISTA CONTROLADOR
-
8/8/2019 p_struts
3/34
INTRODUCCININTRODUCCIN
QUE STRUTS?
Framework libre para o desenvolvemento de aplicacins web Baixo a plataforma J2EE Baixo o patrn MVC
-
8/8/2019 p_struts
4/34
J2EEJ2EE
Conxunto de estndares e especificacins para o desenvolvemento de
aplicacin empresarias baseadas en compoentes de software modulares,
que se executan sobre un servidor de aplicacins, baixo a tecnoloxa Java
Java + Compoentes adicionais orientados a empresas
Incle: Especificacins de API e define como coordinalas:JDBC,RMI,JMS,
Servizos Web, XML,...
Especificacins nicas: EJB's, servlets, JSP's,.. Varias tecnoloxas de servizos web
-
8/8/2019 p_struts
5/34
J2EEJ2EE
-
8/8/2019 p_struts
6/34
J2EEJ2EE
CARACTERSTICAS
- Aplicacins de empresas portables, escalables, integrables con tecnoloxas
anteriores
- Desarrolladores no desenvolvemento, deseadores no deseo
- Pouco ou ningn gasto: Gratuito Moitas ferramentas de cdigo aberto:
NetBeans IDE Eclipse IDE Apache Ant Apache Maven Junit Apache Tomcat ...
-
8/8/2019 p_struts
7/34
MVCMVC
CONTROLADOR: nico que recibe as peticins dos usuarios
MODELO: estado interno da aplicacin (entidades e regras de negocio
VISTAS: presentan o estado interno do sistema
-
8/8/2019 p_struts
8/34
MVCMVC
MODELO I (MVC1)
-
8/8/2019 p_struts
9/34
MVCMVC
MODEL II (MVC2)
-
8/8/2019 p_struts
10/34
INSTALACIN DE UN ENTORNO DE DESARROLLOINSTALACIN DE UN ENTORNO DE DESARROLLO
EN UBUNTU 7.04EN UBUNTU 7.04
SDK Java
Apache Tomcat
EasyEclipse
Struts
MySQL
-
8/8/2019 p_struts
11/34
STRUTSSTRUTS
TRMINOS ESPECCOSActions
Posible accin a invocar Regras de negocio
ActionMapping Mapea as URL's
ActionForm Formulario Encapsulan parmetros das peticins dos clientes
ActionServlet.
O controladorstruts-config.xml. A intelixencia do Controlador
-
8/8/2019 p_struts
12/34
STRUTSSTRUTS
FUNCIONAMENTO
-
8/8/2019 p_struts
13/34
STRUTS: MODELOSTRUTS: MODELOJavaBeans
Compoente software que pode serreutilizable. Implementan la interfaz serializableConstructor sen argumentos Propiedades accesibles mediante getXXX() y
setXXX() Distnguense:
JavaBeans de estado JavaBeans 'ActionForm' JavaBeans de Lxica de Negocio
-
8/8/2019 p_struts
14/34
STRUTS: MODELOSTRUTS: MODELO
Beans 'ActionForm'
Herdan da clase org.apache.struts.action.ActionForm Non lxica de negocio Validacin automtica: validate()No struts-config.xml:
...
-
8/8/2019 p_struts
15/34
STRUTS: MODELOSTRUTS: MODELO
Beans Lxica de Negocio
Clases que implementan a lxica
Reciben os beans de estado para manipulalos Independentes e reutilizables. Segundo a complexidade da aplicacin:
JavaBeans ordinarios que interaccionan con
JavaBeans de estado JavaBeans ordinarios que acceden a BD usando
JDBC EnterpriseJavaBeans(EJB's)
-
8/8/2019 p_struts
16/34
STRTUS: MODELOSTRTUS: MODELO
Acceso a BD RelacionalesPool de conexins As conexins un base de datos son caras, existe un nmero limitado de
conexins que se poden mater abertas nun servidor en funcin da sa memoria,
potencia, do sistema ao que accedemos -> non podemos arriesgarnos a esgotar
as conexins. Conxunto limitado de conexin que se reutilizan continuamente para dar
servizos aos clientes para aumentar a escalabilidade e o rendemento, o que fai
posible que as conexins non se este abrindo continuamente. O pool de conexins inicializase con un nmero de conexins determinado. Os clientes abren a conexin, acceden ao servizo e por ltimo pechan a
conexin. importante que o cliente abra e peche a conexin, porque si non se estara
devolvendo o pool, e correramos o risco de esgotar os recursos do noso
servidor.
-
8/8/2019 p_struts
17/34
STRUTS: MODELOSTRUTS: MODELO
Pool de conexins de Struts No struts-config.xml:
-
8/8/2019 p_struts
18/34
STRUTS: MODELOSTRUTS: MODELO
Pool de conexins con Struts. Libreras que precisamos:
commons-pool1.2.1.jar mysql-connector-java-5.0.3-bin.jar commons-dbcp1.2.1.jar
Accendo ao pool de conexins: A travs de javax.sql.DataSource
...
javax.sql.DataSource dataSource = getDataSource(httpServletRequest);
con = dataSource.getConnection();
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM tutoriales
WHERE id < ?");
...
-
8/8/2019 p_struts
19/34
STURTS: VISTASTURTS: VISTA
JSP's
Mensaxes internacionalizadosLibreras de Etiquetas personalizadas de
JSPMaquetacin Tiles
-
8/8/2019 p_struts
20/34
STRUTS: VISTASTRUTS: VISTA
Mensaxes internacionalizados
Struts permite construr aplicacins internacionalizadas e localizadas: Locale Eleccin do pas, idioma e formateo ResourceBundle Mensaxes en varios idiomas PropertyResourceBundle Implementacin do ResourceBundle.
Ficheiro de recursosnome=valor
MessageFormat Reemplezar porcins dun string dunha mensaxe,
orde das palabras en funcin do idioma MessageResources Paquetes de recursos como bases e datos.
STRUTS VISTASTRUTS VISTA
-
8/8/2019 p_struts
21/34
STRUTS: VISTASTRUTS: VISTA
Mensaxes internacionalizados
Paquetes de recursos: MyResources.property Mensaxes do idioma por defecto do servidor
ingls -> prompt.hello=hello MyResources_XX.property Mensaxes no idioma XX
espaol -> prompt.hello=HolaNo web.xml:
application
com.mycompany.mypackage.MyResources
-
8/8/2019 p_struts
22/34
STRUTS: VISTASTRUTS: VISTA
Libreras de Etiquetas Personalizadas de JSP
vs
struts-html: formularios, mesaxes de erro, visualizacin de mensaxes struts-bean: traballar e definir beans
struts-logic: manexar a xeracin condicional de sada de texto, bucles, ... struts-tiles: maquetacin mediante plantillas
STRUTS VISTASTRUTS VISTA
-
8/8/2019 p_struts
23/34
STRUTS: VISTASTRUTS: VISTA
TilesMaquetacin da aplicacins Web mediante plantillasConstruccin de pxinas en base a plantillas con Struts:
Plantilla que define elementos estticos e reas donde inserir outros contidos. Definir a plantilla no arquivo: tiles-def.xml
A pxina real que utiliza a plantilla insertando textos e outras porcinsdinmicamente
Porcins particulares reutilizables
-
8/8/2019 p_struts
24/34
STRUT: CONROLADORSTRUT: CONROLADOR
nico controlador: ActionServlet que a travs do
struts-config mapea unha URI a unha Action Escribir a Action Configurar o ActionMapping(en XML) no struts-
conf.xml
Configurar o ficheiro descriptor de despregue:web.xml
STRUTS CONTROLADORSTRUTS CONTROLADOR
-
8/8/2019 p_struts
25/34
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
Action Obxectivo: procesar unha solicitude mediante o
mtodo execute()
1.Validar o estado actual da sesin do usuario2.Realiza o procesamento requerido para tratar a
solicitude
3.Actualizar o estado do sistema
4.Devolve un obxecto ActionForwardqueidentifica a onde se debe reenviar o control da
aplicacin, mediante o mtodo findForward()
-
8/8/2019 p_struts
26/34
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
-
8/8/2019 p_struts
27/34
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
DispatchAction
3. Indicar o servlet que accin executar mediante un parmetro 'action':
...
-
8/8/2019 p_struts
28/34
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
DispatchAction
4. Darlle valor a ese par
metro 'action'Na altaLibro.jsp:
Na baixaLibro.jsp:
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
-
8/8/2019 p_struts
29/34
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
Implementacin do ActionMapping en struts-config.xml
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
-
8/8/2019 p_struts
30/34
STRUTS: CONTROLADORSTRUTS: CONTROLADOR
Configurar o ficheiro descriptor de despregue: web.xmlObxectivo. Indicar os compoentes Struts que vamos utilizar:
ServletAction
action
org.apache.struts.action.ActionServlet
config
/WEB-INF/struts-config.xml
debug
2
mapping
org.apache.struts.example.ApplicationMapping
CONTROLADOR: STRUTSCONTROLADOR: STRUTS
-
8/8/2019 p_struts
31/34
CONTROLADOR: STRUTSCONTROLADOR: STRUTS
Configurar o ficheiro descriptor de despregue: web.xml
Mapeo do ServletAction: Define as URL's a ser procesadas polo ActionServlet
a) action
/execute/*
URI: /logon URL: www.mycompany.com/myApplication/execute/logon
b) action
*.do
URI: /logon URL:www.mycompany.com/myApplication/logon.do
CONTROLADOR STRUTSCONTROLADOR STRUTS
-
8/8/2019 p_struts
32/34
CONTROLADOR: STRUTSCONTROLADOR: STRUTS
Configurar o ficheiro descriptor de despregue: web.xml
Librera e etiquetas de Struts:
/WEB-INF/struts-bean.tld /WEB-INF/struts-bean.tld
/WEB-INF/struts-html.tld
/WEB-INF/struts-html.tld
/WEB-INF/struts-logic.tld
/WEB-INF/struts-logic.tld
/WEB-INF/struts-template.tld
WEB-INF/struts-template.tld
STRUTSSTRUTS
-
8/8/2019 p_struts
33/34
STRUTSSTRUTS
STRUTS A MELLOR OPCIN PARA
TDOLOS PROXECTOS?
DEPENDE...
Gracias pola atencin!!Gracias pola atencin!!
-
8/8/2019 p_struts
34/34
Gracias pola atencin!!Gracias pola atencin!!
PROGRAMACIN WEB CO
FRAMEWORK STRUTSBeatriz Montero Fernndez -http://ousli.org