Ricardo Bermúdez Piñeiro
De ASIRodeira
Índice |
A IDEA (Versión Breve)
O meu proxecto consiste en crear unha empresa adicada á venda de camisetas e outros accesorios estampados con deseños de tematica variada.
CASOS DE USO E MODELO ENTIDADE-RELACIÓN
O PROXECTO
No seguinte link pode baixarse o que levamos feito:
A distribución do produto levarase a cabo por medio dunha páxina web, na que ademáis de amosar os deseños, os visitantes poderán facer un pedido do alí ofertado.
Realizada en HTML con folla de estilos(CSS) con Java cando o requira a aplicación(Xestión do cátalogo,Manexo de rexistro e de clientes rexistrados,etc.).
SERVIDOR:Apache con módulo Tomcat(para a xestión do Java) sobre un distribución Debian Etch.
BASE DE DATOS: MySQL(Nela almacenarase o catálogo de produtos,os usuarios, proveedores,etc.)
PRIMEIROS PASOS
Instalación módulo Tomcat e enlace co Apache
Creación do novo host no Tomcat e posta en marcha
- Creamos o host no administrador do tomcat(Pódese acceder a través do http://localhost:8180 e clickando en administrador) escribindo a ruta predeterminada do noso host.
- Engadimos o novo host nas direccións coñecidas do Apache(/etc/apache2/sites-avaliables).
- Enlazamos esta dirección cos sitios habilitados(sites-enabled) con: ln -s ../sites-avaliable/nomedohost ../sites-enabled
- Poñemos en /etc/host a nosa dirección e o nome do host virtual.
- Poñemos na ruta do host sinalada anteriormente un cartafol chamado ROOT que será onde se acceda directamente cando se introduza a dirección no navegador. Poderemos poñer outros cartafoles para servir, so haberá que poñerlle na dirección URL do navegador o nome do cartafol (/nomedocartafol)
- Dentro do cartafol ROOT (e dos que queiramos servir no host) temos que poñer a carpeta WEB-INF (vale a que trae o exemplo modificada)
- Reiniciamos Apache e Tomcat (e en principio está listo...)
Traballando con struts
Para este proxecto utilizaranse struts de java, que facilitarán o traballo na web, o seu mantemento, a sua actualización, etc.Isto é posible xa que con struts divídense as aplicacións a crear en 3 partes(MVC):
- Modelo
- Vista
- Controlador
Para profundizar máis pódese consultar algunha destas páxinas ou calquera outra sobre o tema:
Páxina programación.net(castelán)
A versión de Tomcat que vimos de instalar ven por defecto con struts 1.2, pero é frecuente atopar a versión 1.3.5 ou inclusive coa 2.0.1. Se se precisa unha versión máis nova basta con baixala (apt-get install ...)e configurala segundo a axuda.
É interesante e didáctico baixar os exemplos que de struts se ofrecen no sistema apt-get("apt-cache search struts apps" por exemplo). Os que baixamos (da versión 1.3.5) veñen cunha estructura de páxina web en blanco que usa struts moi útil para ter organizada a aplicación que desexamos crear dende o principio.
A estructurae os ficheiros máis importantes da aplicación web son os seguintes:
- META-INF(Información do Maven e do compilados ant.Aquí de inicio non temos que tocar nada...)
- pages(Neste cartafol almacenaránse tódalas páxinas da nosa web)
- index.jsp(Ésta é a páxina á que accedemos cando iniciamos, que redirixe cara as páxinas de pages)
- WEB-INF(Cartafol no que se atopa a configuración da aplicación e onde se almacenarán as clases)
- lib(Almacén dos ficheiros .jar da aplicación)
- struts-config.xml(Como o seu propio nome indica e o ficheiro de configuración de struts.Aquí aparecen os ficheiros que se han de consultar para cada caso)
- validation.xml(É un ficheiro no que se introducen as validacións e as limitacións que se queren introducir nos formularios)
- web.xml(Ficheiriño común a tódolos java no que se almacenan o nome da aplicación, a páxina de inicio, etc.)
- classes(Aquí van as clases xa compiladas e as mensaxes da páxina)
- MessageResources.properties(Tódolos Textos da aplicación. Ó telos todos xuntos é máis sinxelo cambiar a linguaxe por exemplo)
- src(Aquí é ónde deberiamos traballar cos ficheiros .java da aplicación pendentes de compilar e o resto de ficheiros a editar)
- build.xml(Ficheiro de configuración no temos que cambiar o nome da aplicación)
Para compilar as clases de java utilizaremos o comando :
javac -classpath "(ruta dos struts contra os que a queremos compilar,no meu caso:)/usr/share/struts1.2/struts.jar"(nome do .java a compilar:) ficheiro.java
PÁXINA WEB
Na páxina aparecerá unha breve presentación da web xunto coa opción de autentificación e rexistro e cun menú no que se permitirán as seguintes opcións:
- CATÁLOGO
- Accederemos a unha lista de produtos.
- COMO COMPRAR
- Explícarase o procedemento para adquirir a mercadoría.
- ONDE ATOPARNOS
- Aquí iranse introducindo as tendas que ofrecen as nosas creacións.
- INFORMACIÓN SOBRE AS CAMISETAS
- O tamaño das tallaxes, colores, calidades, etc.
- ACONSELLAMOS...
- Recomendacións de todo tipo (libros, películas, páxinas web,etc.)
De momento por cuestión de traballo a páxina web unicamente co nome proxecto.riqee.com/camisetas
CONEXIÓN Á BBDD
Para realizar certas funcións da páxina web (como a identificación de usuarios, a carga do catálogo de produtos,etc.)é necesario recoller a información dispoñible na base de datos.
A conexión de java con MySQL, que como se dixo con anterioridade é o programa que utilizaremos, precisa baixar un ficheiro chamado libmysql-java (Java database (JDBC) driver for MySQL)(con apt-get...).
Loxicamente haberá que ter creado a BBDD previamente.(A miña chámase "proxecto").
O MySQL conéctase por defecto no porto 3306, ese é o que usaremos.
Os ficheiros a editar para a configuración son
- web.xml
- No que se introducirá (no meu caso) o seguinte código:
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/proxecto</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
- server.xml
- Dentro do Host(neste caso "proxecto.riqee.com") no context:
<Context path="/camisetas" docBase="camisetas" debug="5" reloadable="true" crossContext="true"> <Resource name="jdbc/proxecto" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/proxecto?autoReconnect=true"/> </Context>
No meu caso(pode ser por problemas coa versión ou así) a a extracción da librería de que instalamos cando facemos o apt-get non da todo o bo resultado que debera, polo que debemos copiar a man co seguinte comando un ficheiro a carpeta do java:
cp usr/share/java/mysql.jar /usr/lib/jvm/java1.1.5.0-sun/jre/lib/ext
Se seguise a dar problemas, habería que revisar os permisos de execución en /etc/tomcat5.5/policy.d.
Para xestionar a conexión da nosa aplicación coa BBDD haberá que crear un conxunto de clases que se encarguen.
Para facer navegar como usuario rexistrado a un usuario normal creamos a clase LOGIN.class mediante a que autenticamos o usuario cos datos dispoñibles na BBDD
EDITADO: Si, existía un problema de permisos, solucionado engadindo un grant para a conexión o socket da base de datos



