Holas!!, como siempre un gran problema al hacer un sistema web de venta retail oal menudeo es la impresion de comprobantes, porque debemos hacerlo al estilo "desktop", es decir sin pasar por un pdf previo.. o un "diseño" html con impresion javascript, porque debemos usar muchas veces la "potencia" de impresoras matriciales. Entonces si lo hacemos con tecnologia MS la solucion es a traves de un COM/DLL o como quieran llamarlo. Si es con nuestro querido java entonces debemos incrustar en un jsp un lindo Applet que llame a un bonito diseño en jasperreport que se conecta a nuestra base de datos en forma remota desde el cliente.
Como hacemos eso???? Pues aqui viene la explicacion (vale decir que tambien sirve para cualquier applet que quieran se conecte a una base de datos remota)
1. Crear su applet en netbeans, sino saben como se crea un applet pueden seguir el tutorial de aqui:
https://netbeans.org/kb/docs/web/applets.html
2. Firmar sus .jar ; tanto el applet .jar como las librerias adicionales que esten usando en su Applet. Para este caso especifico del comprobante:
postgres jdbc
postgresql-8.1-414.jdbc2ee.jar
jasperreports libs
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-logging-1.1.jar
jasperreports-5.1.0.jar
groovy-all-2.0.1.jar (este lo pueden obviar si cambian el lenguaje groovy por java en el mismo jasper diseñado)
Ahora para firmar los .jar seguimos estos 3 pasos desde consola linux o DOS (el keytool y jarsigner estan en la carpeta de ejecutables donde instalaste tu JDK):
1. keytool -genkey -keystore myKeyStore -alias me
2. keytool -selfcert -keystore myKeyStore -alias me
3. jarsigner -keystore myKeyStore jarfile.jar me
Cuando te pregunte por la clave coloca la de tu gusto, lo demas dejalo como "default" o si deseas pon la informacion de tu empresa u organizacion, eso lo decides tu,
3. Recuerda que la etiqueta HTML debe ser algo como esto:
codebase="classes"
code="comet/ClsPrint.class"
archive="printApplet.jar,
postgresql-8.1-414.jdbc2ee.jar,
commons-collections-3.2.1.jar,
commons-digester-2.1.jar,
commons-logging-1.1.jar,
groovy-all-2.0.1.jar,
jasperreports-5.1.0.jar"
code="comet/ClsPrint.class"
archive="printApplet.jar,
postgresql-8.1-414.jdbc2ee.jar,
commons-collections-3.2.1.jar,
commons-digester-2.1.jar,
commons-logging-1.1.jar,
groovy-all-2.0.1.jar,
jasperreports-5.1.0.jar"
El codebase indica la carpeta donde estaran los .jar , el code es la clase que se ejecutara cuando el Applet cargue.
Si desean ver los errores de su applet no olviden activar la consola de Java.
Eso es todo.. hasta otra
Si desean ver los errores de su applet no olviden activar la consola de Java.
Eso es todo.. hasta otra