2 de des. 2008

Jetty php

Fa uns dies que vaig comentar que faria aquest article. A continuació us detallo com fer que el Jetty interpreti els "scripts" de php.

El primer que hem de fer és descarregar-nos el Jetty, ho podem fer des d'aquest enllaç:
http://dist.codehaus.org/jetty/jetty-6.1.14/jetty-6.1.14.zip
Un cop descarregat, el descomprimim al disc dur.
Per poder executar fitxers de php necessitarem el "Quercus", una implementació 100% java del php.

El descarreguarem de http://quercus.caucho.com/download/quercus-3.2.1.war
Un cop al disc, renombrem el fitxer quercus-3.2.1.war a php.zip,
descomprimim el fitxer i copiem la carpeta php a jetty-6.1.14/webapps.
Ens situem a dins de la carpeta del jetty i executem la següent comanda.

java -jar start.jar



obrim el navegador i posem la següent adreça http://localhost:8080/php/ .
Ara hem de veure el següent:



Bé, ja hem aconseguit fer funcionar un script de php dins un entorn d'execució java.

Ara el pròxim pas, es fer que funcioni la connexió a una base de dades, per aquest article escollirem el mysql.
El primer que farem és aturar l'execució del Jetty, per fer-ho des de la consola on hem executat java -jar start.jar premerem les tecles Ctrl+c.

Per poder fer funcionar el mysql en un projecte java necessitem el connector jdbc de mysql, que el podem descarregar del web de mysql:
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.8.zip/from/http://mysql.rediris.es/
Un cop al disc, el descomprimim i copiem el fitxer mysql-connector-java-5.0.8-bin.jar a la carpeta jetty-6.1.14\webapps\php\WEB-INF\lib
Creem el fitxer jetty-6.1.14\webapps\php\WEB-INF\jetty-env.xml amb aquest contingut:



jdbc/MyDataSource


jdbc:mysql://localhost:3306/prova
root
alex





Aquí heu de configurar les dades de connexió a la base de dades segons el vostre cas.
Editem el fitxer fitxer jetty-6.1.14\webapps\php\WEB-INF\web.xml i hem d'afegir això


jdbc/MyDataSource
javax.sql.DataSource
Container


database
jdbc/MyDataSource


a la part final abans del tancament de web-app.
Ara crearem el nostre escript que es connecti a la base de dades amb unes instruccions bàsiques.
Creem el fitxer jetty-6.1.14\webapps\php\prova.php*


$host="localhost";
$database="prova";
$username="root";
$password="alex";
$db = new PDO("mysql:host=$host;dbname=$database", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM area";
$sth = $db->prepare($sql);
$sth->execute();
$rows = $sth->fetchAll( PDO::FETCH_ASSOC );
print_r($rows);


*Heu de posar els tags d'inici i fi de php, el blogger no me'ls deixa escriure.

Tornem a executar java -jar start.jar
i obrim el navegador a http://localhost:8080/php/prova.php
En el meu cas veig:













En els pròxims dies publicaré com fer que funcioni el zend framework en aquest entorn.

1 de des. 2008

Pampalluguejos ubuntu

Una cosa molt molesta que m'he trobat al treballar amb Ubuntu, ha estat que quan ha d'emetre un senyal sonor, per exemple quan borres i no queda res per borrar, és que Pampallugueja la pantalla.

Per treure aquesta funcionalitat s'ha de obrir el menú "Sistema >preferències > So"

A la finestra que surt, s'ha d'escollir la pestanya "Sons", i al llistat d'opcions i veureu a "alerta visual", doncs en aquesta s'ha de canviar el valor per "inhabilita".

15 de nov. 2008

Jetty i ecplipse

Es pressuposa que tenim un projecte web de java creat amb eclipse.
les versions amb les quals treballo són.
Eclipse 3.4
Jetty -6.1.14

Si volem donar d'alta com a "runtime" el jetty el que s'ha de fer és el següent.

File > properties

Escollim"targeted Runtimes" al llistat de la esquerra de la finestra que ens apareix,
després fem clic al botó "new" i ens apareix una altra finestra on veurem un enllaç de color blau que posa "Download additional server adapters", premem aquest enllaç i en la finestra que ens apareix escollim "Jetty Generic Server Adaptor" i premem el botó "next" i fer la resta de passes.

Anem a posar en marxa el projecte.
Seleccionem el projecte i fem clic al boto dret del mouse, del menú contextual hem d'escollir:
Run as > Run On server
Ens sortirà, d'entre varies el Jetty, l'escollim i omplim la casella que ens demana on tenim la nostra instal·lació.

Pròxim article relacionat: Jetty+php

30 d’oct. 2008

Tornar objectes buits amb asp



Class ImplContenidorDao
Public Function getContenidorPerCodi( codiContenidor )
Dim sql, rs, elContainer, resposta

sql = "SELECT * FROM re_contenidor WHERE codi ='" & codiContenidor & "' and arxiu = 0"
Set rs = conBd.query( sql )

If not rs.eof Then
Set elContainer = createobject("Scripting.Dictionary")
elContainer.Add "tipus", trim(rs("tipus"))
elContainer.Add "codi", trim(rs("codi"))
elContainer.Add "adreca", trim(rs("adreca"))
elContainer.Add "municipi", trim(rs("municipi"))
Set getContenidorPerCodi = elContainer
Else
Set getContenidorPerCodi = nothing
End If

End Function
,...
End Class

Dim ContenidorDao : Set ContenidorDao = new ImplContenidorDao

'------------------------------------------------------------------------------------
Dim idContenidor, rsContenidor
idContenidor = Utils.vigilaPost( Request.QueryString("idContenidor") )
Set rsContenidor = ContenidorDao.getContenidorPerCodi( idContenidor )
If rsContenidor is Nothing Then
Response.write("No he trobat res!!!")
Else
Response.write("Trobat")
End If

26 d’oct. 2008

Openoffice.org 3

Corregeixo el que vaig escriure fa uns dies ja que des de dijous ja es pot descarregar de Softcatalà.org la nova versió en català de l'OpenOffice.org
La adreça és:
http://www.softcatala.org/wiki/Rebost:OpenOffice.org



Com molts ja sabreu ha sortit una nova versió de la suite d'ofimàtica OpenOffice.org .
Bé, en català de moment no ha sortit de forma estable, però en podem descarregar una versió de proves:
http://www.corrius.org/ooo3/OOo_3.0.0_081009_Win32Intel_install_ca.exe

Us heu d'instal·lar el diccionari, sinó no podreu corregir els vostres documents. Per fer-ho aneu a aquesta adreça:
http://extensions.services.openoffice.org/project/dict-catalan
us descarregueu el diccionari fent clic a la imatge de "Get it!".
Un cop al disc dur, feu doble clic al fitxer i s'executarà el gestor d'extensions de l'OpenOffice, premeu d'"Acord" i "Accepta" i ja està.
Una consideració, per tal que funcioni correctament, heu de tancar qualsevol dels programes que tingueu oberts de l'OpenOffice, inclòs l'"Inici ràpid".

Us deixo un enllaç a la web de l'ajuntament de Barcelona, on hi ha manuals sobre l'OpenOffice

http://w3.bcn.es/XMLServeis/XMLHomeLinkPl/0,4022,339756680_370128421_1,00.html

23 d’oct. 2008

Radio chillout

Aquí us deixo una emisora de radio chillout que no es "techno", és més instrumental.
http://bluefm.net/listen.pls

21 d’oct. 2008

El plugin dynamicCSS peta amb FCKEditor 2.6.3

He actualitzat la versió de FCKEditor a la versió 2.6.3 a alguna de les meves aplicacions i m'he trobat que petava.
Buscant a Sant Google he trobat amb la solució, i tal com comenten en aquesta pàgina:

http://sourceforge.net/tracker/index.php?func=detail&aid=1448301&group_id=75348&atid=737639

Per esmenar el problema s'ha de substituir

trim() per Trim en el fitxer

plugins/dynamicCSS/fckplugin.js

Recordeu de buidar el "cache" del navegador

20 d’oct. 2008

Muntar disc usb

Per muntar un disc dur usb en format ntfs i debian Etch s'han de fer els següents passos:

afegir aquesta línia:

deb http://www.backports.org/debian/ etch-backports main contrib non-free

al fitxer /etc/apt/sources.list

Després fem:

$ apt-get update

si surt una errada tipus així:

W: GPG error: http://www.backports.org etch-backports Release: Les següents signatures no s'han pogut verificar perquè la clau pública no està disponible: NO_PUBKEY EA8E8B2116BA136C
W: Potser voldreu executar apt-get update per a corregir aquests problemes

Doncs hem de fer la següent comanda:

$ apt-get install debian-backports-keyring

ara tornem a fer un:

$ apt-get update

i passem a instal·lar els paquets que ens fan falta.

$ apt-get -t etch-backports install libfuse2
$ apt-get -t etch-backports install fuse-utils
$ apt-get install ntfs-3g

Per muntar el disc, en el meu cas he hagut de fer així:

$ mount -t ntfs-3g /dev/sda1 /mnt/usb -o force