jueves, 20 de octubre de 2016

Apache Tomcat que es y para que sirve

Apache Tomcat

 Que es?

Tomcat es un contenedor de servlets/jsp. Es decir, es un módulo para ejecutar servlets y/o páginas JSP en tus aplicaciones Web.

Para que sirve




Java: Primera aplicación web con Eclipse


Varias personas que están empezando en la programación y desean usar Eclipse como IDE se preguntan como hacer su primera aplicación web, como configurar el tomcat y como configurar el JDK / JRE. Para resolver aquellas interrogante, les dejo este pequeño manual.

1.  Al iniciar el Eclipse verán una ventana similar a esta.


2. Para realizar una aplicación en Java ya sea web o escritorio se deberá configurar el JRE. Para esto ingresamos a la opción de menú Window - Preferences


3. Se mostrará una ventana con todas las configuraciones del Eclipse. Elegimos Java - Installed JREs y se mostrarán los JRE configurados hasta ese momento. Tener en cuenta que se pueden configurar diferentes versiones según el los desarrollos que se hagan.


4. En la imagen vemos configurado el jre6, entonces agregaremos el jre5. Para esto elegimos el botón Add y escogemos la ruta de instalación de dicho jre. Regularmente en ambientes Windows la ruta de instalación es:
C:\Archivos de programa\Java



5. Al seleccionar la carpeta del JRE se cargarán las librerías del sistema. Y listo, ya está configurado el JRE


6. Ahora procedemos a configurar el Tomcat que será de contenedor de aplicaciones para nuestra primera aplicación web. Para esto ingresamos a las configuraciones del Eclipse como se hizo en el paso 3, y elegimos la opción Server - Runtime Environments.


7. Escogemos el botón Add, luego elegimos Apache Tomcat 5.5 (podría se cualquier versión que tengan a la mano), escogemos el botón Siguiente e indicamos la carpeta de instalación de nuestro Tomcat.



8. Elegimos el JRE con el que trabajará el Tomcat que estamos configurando y elegimos el botón Finish




9. Ya configurado el JRE y el Tomcat, entonces nos toca crear nuestra primera aplicación web. Sobre el explorador de proyectos damos click derecho y elegimos New - Project - Web - Dynamic Web Project y elegimos el botón Next.


10. Ingresamos el nombre del proyecto iadFirstWebApp, elegimos Tomcat 5.5 como Target Runtime y elegimos el botón Finish.


11. En este punto, el explorador de proyectos tiene la siguiente estructura.


12. Para que la aplicación web al ejecutarse pueda mostrar una página web de inicio, deberá crearse el archivo index.jsp (puede tener otro nombre, según lo que se indique en el archivo web.xml). Para crear este archivo, elegimos la carpeta WebContent, le damos click derecho seleccionamos New - JSP File.
Ingresamos el nombre del archivo index.jsp



13. Se cargará el contenido del archivo index.jsp, podemos editarlo si deseamos. Aquí les dejo una pequeña modificación.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>






14. Ahora solo queda ejecutar el proyecto, para esto en el explorador de proyectos elegimos iadFirstWebApp le damos click derecho y elegimos Run As - Run on Server

viernes, 23 de septiembre de 2016

Modificar un excel o habrir un excel en java

1. Instalacion


Download the Java Excel library from the webpage http://jexcelapi.sourceforge.net/

To use this library in your Java program add the lib jxl.jar to your classpath in your project. See Changing classpath in Eclipse.

2. Crear una hoja en excel


Create a new Java project called de.vogella.java.excel. Create the de.vogella.java.excel.writer package and the following class.




package writer;
import java.io.File;
import java.io.IOException;
import java.util.Locale;
import jxl.CellView;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.format.UnderlineStyle;
import jxl.write.Formula;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

public class WriteExcel {
  private WritableCellFormat timesBoldUnderline;
  private WritableCellFormat times;
  private String inputFile;

public void setOutputFile(String inputFile) {
  this.inputFile = inputFile;
  }
  public void write() throws IOException, WriteException {
    File file = new File(inputFile);
    WorkbookSettings wbSettings = new WorkbookSettings();
    wbSettings.setLocale(new Locale("en", "EN"));
    WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings);
    workbook.createSheet("Report", 0);
    WritableSheet excelSheet = workbook.getSheet(0);
    createLabel(excelSheet);
    createContent(excelSheet);
    workbook.write();
    workbook.close();
  }
  private void createLabel(WritableSheet sheet)
      throws WriteException {
    // Lets create a times font
    WritableFont times10pt = new WritableFont(WritableFont.TIMES, 10);
    // Define the cell format
    times = new WritableCellFormat(times10pt);
    // Lets automatically wrap the cells
    times.setWrap(true);
    // create create a bold font with unterlines
    WritableFont times10ptBoldUnderline = new WritableFont(WritableFont.TIMES, 10, WritableFont.BOLD, false,
        UnderlineStyle.SINGLE);
    timesBoldUnderline = new WritableCellFormat(times10ptBoldUnderline);
    // Lets automatically wrap the cells
    timesBoldUnderline.setWrap(true);
    CellView cv = new CellView();
    cv.setFormat(times);
    cv.setFormat(timesBoldUnderline);
    cv.setAutosize(true);
    // Write a few headers
    addCaption(sheet, 0, 0, "Header 1");
    addCaption(sheet, 1, 0, "This is another header");
 
  }
  private void createContent(WritableSheet sheet) throws WriteException,
      RowsExceededException {
    // Write a few number
    for (int i = 1; i < 10; i++) {
      // First column
      addNumber(sheet, 0, i, i + 10);
      // Second column
      addNumber(sheet, 1, i, i * i);
    }
    // Lets calculate the sum of it
    StringBuffer buf = new StringBuffer();
    buf.append("SUM(A2:A10)");
    Formula f = new Formula(0, 10, buf.toString());
    sheet.addCell(f);
    buf = new StringBuffer();
    buf.append("SUM(B2:B10)");
    f = new Formula(1, 10, buf.toString());
    sheet.addCell(f);
    // now a bit of text
    for (int i = 12; i < 20; i++) {
      // First column
      addLabel(sheet, 0, i, "Boring text " + i);
      // Second column
      addLabel(sheet, 1, i, "Another text");
    }
  }
  private void addCaption(WritableSheet sheet, int column, int row, String s)
      throws RowsExceededException, WriteException {
    Label label;
    label = new Label(column, row, s, timesBoldUnderline);
    sheet.addCell(label);
  }
  private void addNumber(WritableSheet sheet, int column, int row,
      Integer integer) throws WriteException, RowsExceededException {
    Number number;
    number = new Number(column, row, integer, times);
    sheet.addCell(number);
  }
  private void addLabel(WritableSheet sheet, int column, int row, String s)
      throws WriteException, RowsExceededException {
    Label label;
    label = new Label(column, row, s, times);
    sheet.addCell(label);
  }
  public static void main(String[] args) throws WriteException, IOException {
    WriteExcel test = new WriteExcel();
    test.setOutputFile("c:/temp/lars.xls");
    test.write();
    System.out
        .println("Please check the result file under c:/temp/lars.xls ");
  }
}  

I assume that the code is pretty much self-explaining. I tried to add lots of comments to make it easier to understand.For more complex examples have a look at the excellent documentation of the Java Excel API which is also part of the distribution.

3. Read an existing Excel Spreadsheet


Reuse the project "de.vogella.java.excel". Create a package "de.vogella.java.excelreader" and the following class "ReadExcel".


package reader;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcel {
  private String inputFile;
  public void setInputFile(String inputFile) {
    this.inputFile = inputFile;
  }
  public void read() throws IOException  {
    File inputWorkbook = new File(inputFile);
    Workbook w;
    try {
      w = Workbook.getWorkbook(inputWorkbook);
      // Get the first sheet
      Sheet sheet = w.getSheet(0);
      // Loop over first 10 column and lines
      for (int j = 0; j < sheet.getColumns(); j++) {
        for (int i = 0; i < sheet.getRows(); i++) {
          Cell cell = sheet.getCell(j, i);
          CellType type = cell.getType();
          if (type == CellType.LABEL) {
            System.out.println("I got a label "
                + cell.getContents());
          }
          if (type == CellType.NUMBER) {
            System.out.println("I got a number "
                + cell.getContents());
          }
        }
      }
    } catch (BiffException e) {
      e.printStackTrace();
    }
  }
  public static void main(String[] args) throws IOException {
    ReadExcel test = new ReadExcel();
    test.setInputFile("c:/temp/lars.xls");
    test.read();
  }

Create an excel spreadsheet and save it somewhere, e.g. "c:/temp/lars.xls".



jueves, 22 de septiembre de 2016

Download JDBC SQL SERVER 2012


Go to Services window in Netbeans. List Drivers node. If on the list it isn’t SQL JDBC driver you must download it.
u01
Go to http://www.microsoft.com/en-gb/download/details.aspx?id=11774  website.
u02Click the Download button. Then click the exe file.
u03
u04I download this file into jdbc folder.
u05
Then you must any zip program unzip this file. Click the Browser button.
u06
Set path for jdbc files. I set D isc.
u07
Click the Unzip button. You see jdbc4.jar file in sqljdbc_4.0/enu folder.
u08
Close unzip program, clicking the Close button.
u09In this step you may go to Services window. Right click the Drivers node and choose New Driver.
u10You see empty New JDBC Driver. Click the Add button.
u11Select downloading sqljdbc4.jar driver.
u12Click the Open button. In Name field write Microsoft SQL Server 2012 and click the OK button.
u13On the list of drivers you see SQL Server driver.
u14

Crear conexion a la base de datos net beans

Requerimientos:


    Espero que usted está familiarizado con SQL y los conceptos básicos de Java. Si usted no sabe lo que es JDBC, se puede ver en:

http://en.wikipedia.org/wiki/Java_Database_Connectivity

Downloading JDBC Driver.


Para este artículo vamos a utilizar la versión más fresca de JDBC proporcionado por Microsoft:Microsoft SQL Server JDBC Driver 3.0 (sqljdbc_3.0.1301.101_enu.exe ). Que puedes descargar desde:

http://www.microsoft.com/downloads/details.aspx?FamilyID=%20a737000d-68d0-4531-b65d-da0f2a735707&displaylang=en

Ejemeplo en ingles de descarga JDBC

El registro de Controlador "Driver" y el establecimiento de la conexión.



  • Despues de descargar y extraer los archivos de JDB, inicializas el IDE de NetBeans.
  • Hacer clic en la pestaña de Presentaciones "Services tab".
  • Hacer clic sobre controladores "Drivers" y seleccionar la opcion de nuevo controlador "New Driver".







  • Buscar la direccion en donde se descomprimieron los archivos de JDBC, y seleccionarlo.

    • observaras que automaticamente al momento de seleccionar el controlador, el tipo de clase del controlador es: com.microsoft.sqlserver.jdbc.SQLServerDriver
    • Hacer OK.



    Establishing connection:


    • Si quieres conectarte con este modo que ahora debe hacer clic en Bases de datos y seleccione Nueva conexión. 
    • En la lista desplegable con Driver name seleccione Microsoft SQL Server. 
    • Mientras que intenta conectarse a su tipo de servidor local como nombre de host -> localhost, Base de datos -> basedatos, nombre de usuario -> yourSqlUser, contraseña -> UserPassword y haga clic en OK. En la ficha Avanzada seleccione DBO esquema (DBO o si no es visible seleccione db_owner).













    Que es un JDBC

    Que es un JDBC

    Java Database Connectivity (JDBC) es una interfaz de programación de aplicaciones (API) para el lenguaje de programación Java, que define la forma en que un cliente puede acceder a una base de datos. Es parte de la plataforma Java Standard Edition, de Oracle Corporation. Proporciona métodos para consultar y actualizar datos en una base de datos, y se orienta hacia las bases de datos relacionales. Un puente JDBC-to-ODBC permite conexiones a cualquier fuente de datos ODBC accesible en el entorno de acogida máquina virtual Java (JVM).

    viernes, 9 de septiembre de 2016

    buscar columnas en todas las tablas Sql Server

    Me vi en la necesidad de buscar en todas las tablas de una base de datos por un comodin ya que no conocia bien el modelo de la base de datos.
    aqui les dejo el sql.

    SELECT  sysobjects.name AS table_name, syscolumns.name AS column_name,
    systypes.name AS datatype, syscolumns.LENGTH AS LENGTH
    FROM       sysobjects INNER JOIN
    syscolumns ON sysobjects.id = syscolumns.id INNER JOIN
    systypes ON syscolumns.xtype = systypes.xtype
    WHERE     (sysobjects.xtype = 'U')
    and (UPPER(syscolumns.name) like upper('%myFieldName%'))
    ORDER BY sysobjects.name, syscolumns.colid


    Solo tienen que cambiar donde dice "myFieldName" por el nombre de la columna que desean buscar.

    miércoles, 7 de septiembre de 2016

    Crear Pool Conexiones en servidor Glassfish

    En este tutorial se explicará como crear un pools de conexiones en un servidor Glassfish.

    Glassfish tiene un mecanismo para tratar los pools de conexiones JDBC; Tiene un pool de conexiones, y después un JDBC Resources. 
    1. Para crear el pool de conexiones jdbc, entramos primero a la consola de administración del servidor.

    2. Nos dirigimos a Recursos>JDBC>Pools de Conexiones JDBC y seleccionamos "New"JDBC Connection Pools.

    3. Le damos el nombre del pool de conexiones a relacionar, hay que tener en cuenta que si va enlazar con una aplicación empresarial o web en netbeans, recomiendo colocarle el mismo nombre que le colocó al pool que creó en netbeans.
    pool name : Aquí colocamos el nombre del pool, compuesto por letras y números y sin espacios.
    Resource Type : Aquí seleccionamos el  tipo de recurso. Por lo general es java.sql.DataSource.
    Database Driver Vendor: En esta opción colocamos nuestro proveedor de base de datos, eso depende de cual estés utilizando o cual necesites para poner a funcionar el pool. En mi caso escogeré Oracle, ya que mi base de datos esta en PL/SQL.

    Lo demás lo dejamos por defecto y damos clic en el boton Next.


    4.  En el segundo paso solo procedemos a ingresar los siguientes parámetros, estos son por criterio, es decir, según lo que tu necesites.
    Initial and Minimum Pool Size:  Número mínimo e inicial de conexiones mantenidas
    Maximum Pool Size: Número máximo de conexiones que se pueden crear para las peticiones.
    Pool Resize Quantity: El número de conexiones que se elimina cuando el tiempo de espera expira.
    Idle Timeout: El tiempo máximo que la conexión puede permanecer inactiva.
    Max Wait Time: tiempo máximo de espera.
    En mi caso todo lo deje por defecto. 

    Ahora viene lo más importante del pool de conexiones y aquí deben tener claro los siguientes criterios:
    DataBaseName: Nombre de la base de datos.
    DataSourceName: OracleDataSource.
    NetworkProtocol: Protocolo de red para nuestro caso tcp.
    Password: clave de la base de datos o esquema.
    User: usuario de la base de datos o esquema.
    PortNumber: puerto por el que se realizara la conexión a la base de datos, en mi caso estoy manejando Oracle y por defecto el puerto 1521.
    URL: jdbc:oracle:thin:@11.9.9.19:1521:COSTOS


    ahora tenemos nuestro pool de conexiones configurado. Para verficar el estado del mismo realizaremos un Ping para ver si la conexion se ha establecido.
    Se ha realizado el ping exitosamente, es decir, ya podemos utilizar nuestro pool. 
    Hay que tener el cuenta que el pool puede generar excepciones si no tiene el driver del gestor de base de datos, ya sea Oracle, Sql-Server, etc, y el ping no sera exitoso. 

    Estás pueden ser algunas de las excepciones que genera el servidor.

    Caused by: java.lang.ClassNotFoundException: oracle.sql.LdxLib 
    at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:708) 
    at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:626)

    java.lang.ClassNotFoundException: oracle.jdbc.pool.OracleDataSource
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)



    Luego de crear el pool de conexiones de debe crear el recurso JDBC que proporciona a las aplicaciones las conexiones a la base de datos.

    Los pasos a seguir son los siguientes:
    Ubicar "Recursos de JDBC"















    Seleccionar nuevo y se mostrará la siguiente pantalla:
    Nombre del JDNI, el cual se va a utilizar para gestionar las conexiones con las base de datos.
    Nombre del pool, se selecciona el pool creado anteriormente.


    Con estos pasos ya se tendría creado el pool de conexiones y el recurso que permite enlazar la aplicación con la bd.

    martes, 6 de septiembre de 2016

    apache cordova failed to find android_home

    Error al construir aplicación por linea de comando de apache cordova:

    Cordova build android



    Si tienes este mismo problema, es por que te falta instalar el android studio  :D




    viernes, 13 de mayo de 2016

    copiar estructura de una tabla sql

    Para copiar la estructura de una tabla SQLSERVER a otra nueva , basta con hacer esto

    select Top 0 *
    into nuevatabla
    From tablaquesevacopiar

    Si se desean COPIAR TODOS LOS REGISTROS:

    SELECT * INTO tunuevatabla FROM tutablafuente

    Fuente: http://www.forosdelweb.com/f87/copiar-tabla-sql-server-455805/

    jueves, 7 de abril de 2016

    Verificar versión de Maven

     Verificar versión de Maven

    Luego de instalar el maven, generalmente queremos checkear que todo allá salido bien o en algunos casos queremos corroborar que version de maven tenemos instalada, bueno para ello es muy fácil, abrimos una consola de MS-DOS y escribimos:

    mvn -v 
    o mvn -version 
    o mvn --version

    Maven - ¿Como instalar Maven en Windows? - ¿Como saber que versión de Maven tenemos instalada?

    Si todo nos salio bien veremos algo como la imagen arriba, en caso contrario deberemos re checkear los pasos de instalación.

    Díganme si les fue útil como les resulto la guía.


    Saludos

    miércoles, 6 de abril de 2016

    Debugear en NetBeans

    El debugger de NetBeans



    El debugger o depurador de NetBeans permite:
    - Ejecutar el código fuente paso a paso
    - Ejecutar métodos del JDK paso a paso.
    - Utilizar breakpoint para detener la ejecución del programa y poder observar el estado de las variables.
    - Conocer el valor que toma cada variable o expresión según se van ejecutando las líneas de código.
    - Modificar el valor de una variable sobre la marcha y continuar la ejecución.
    Mediante el debugger podemos:
    - Encontrar de forma rápida y fácil errores en el programa.
    - Entender mejor el flujo de ejecución del programa.

    INICIAR EL DEBUGGER

    Hay varias formas de iniciar la ejecución del programa en modo depuración:
    1: Debug -> Debug Main Project (Ctrl. + F5) o pulsando sobre el botón:
    También pulsando con el botón derecho sobre un proyecto en explorador de proyectos y seleccionar Debug
    El programa se ejecuta hasta llegar al primer breakpoint. Si no han establecido breakpointsel programa se ejecutará normalmente hasta el final.
    2: Debug -> Run to Cursor (F4)
    Se ejecuta el programa hasta la instrucción donde se encuentra el cursor.
    3: Debug -> Step Into (F7)
    Comienza la depuración desde la primera línea del método main. El depurador se detiene esperando que decidamos el modo de depuración.
    Una vez iniciada la depuración y el depurador se detiene, la siguiente línea de código que se va a ejecutar aparece en verde, con una flecha verde a su izquierda:
    En este punto la depuración puede continuar utilizando distintas opciones:
    Step Over (F8) Ejecuta una línea de código. Si la instrucción es una llamada a un método, ejecuta el método sin entrar dentro del código del método.
    Step Into (F7) Ejecuta una línea de código. Si la instrucción es una llamada a un método, salta al método y continúa la ejecución por la primera línea del método.
    Step Out (Ctrl + F7) Ejecuta una línea de código. Si la línea de código actual se encuentra dentro de un método, se ejecutarán todas las instrucciones que queden del método y se vuelve a la instrucción desde la que se llamó al método.
    Run to Cursor (F4) Se ejecuta el programa hasta la instrucción donde se encuentrael cursor.
    Continue (F5) La ejecución del programa continúa hasta el siguiente breakpoint. Si no existe un breakpoint se ejecuta hasta el final.
    Finish Debugger Session(Mayúsculas + F5)Termina la depuración del programa.

    ESTABLECER BREAKPOINTS

    Un breakpoint o punto de interrupción es una marca que indica al depurador que debe detenerse cuando la ejecución del programa llegue a ella.
    Cuando el programa se detiene en un breakpoint podemos:
    • Examinar los valores actuales de las variables.
    • Detectar cuando se crea un objeto.
    • Continuar la depuración línea a línea del programa.
    Para fijar un breakpoint se pulsa sobre el número de línea donde se desea colocar. La línea queda resaltada en color rojo con una marca del mismo color en el margen izquierdo.
    También se puede crear seleccionando: Debug -> New Breakpoint
    Para eliminar un breakpoint se pulsa sobre el cuadrado rojo.
    Para eliminarlos todos: botón derecho en la ventana de breakpoints -> Delete All
    Para desactivar un breakpoint, botón derecho sobre la marca roja -> breakpoint -> desmarcar Enable.
    Para desactivarlos todos: botón derecho en la ventana de breakpoints -> Disable All
    Los breakpoints desactivados aparecen en gris.

    BREAKPOINTS CONDICIONALES

    Podemos hacer que la depuración se detenga en un breakpoint solo si se cumple una determinada condición o si la línea de código se ha ejecutado un número determinado de veces.
    Para fijar un breakpoint condicional:
    Botón derecho sobre el breakpoint -> Breakpoint > Properties
    La marca cambia de aspecto:

    DEBUGGING WINDOWS

    En el proceso de depuración se usan distintas ventanas situadas bajo la ventana de código. Algunas aparecen automáticamente.
    Para mostrarlas pulsar Windows-> Debugging y seleccionar la que queramos.
    Las más importantes son: Breakpoints, Variables, Watches y Call Stack.

    LA VENTANA DE VARIABLES LOCALES.

    En esta ventana se muestran las variables, su tipo y su valor actual.
    El debugger permite cambiar el valor de una variable local en esta ventana y continuar la ejecución del programa usando el nuevo valor de la variable.

    AÑADIR UN WATCH

    Para obtener el valor de una variable durante la depuración de un programa se sitúa el ratón sobre la variable y se mostrará, el depurador mostrará el tipo y el valor de la variable.
    Otra forma de monitorizar el valor de una variable es mediante un watch.
    Para agregar un watch a una variable o una expresión, selecciona la variable o expresión a supervisar y a continuación pulsar. Debug-> New Watch.
    O también: botón derecho sobre la variable-> New Watch
    Las variables a las que se les ha asignado un watch aparecen en la ventana Watches:
    También aparecen en primer lugar en la ventana de variables.

    MOSTRAR LA BARRA DE HERRAMIENTAS DEL DEPURADOR

    La barra de herramientas del depurador aparece cuando iniciamos la depuración. Para mostrarla siempre: View -> Toolbars -> Debug.