Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

jueves, 20 de octubre de 2016

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

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).

    lunes, 26 de octubre de 2015

    Lambdas

    Lambdas



    Una característica única de las interfaces funcionales es que pueden ser instanciadas usando "lambdas". Veamos algunos ejemplos de lambdas.

    Una lista de entradas separada por comas, indicando el tipo de datos, y un bloque que retorna la suma de ambos parámetros:

    (int x, int y) -> { return x + y; }


     Una lista de entradas separada por comas, infiriendo el tipo de datos, y retorna la suma de ambos:

    (x, y) -> x + y

    Un único parámetro con el tipo de dato inferido, y retorna ese parámetro al cuadrado:


    x -> x * x

    Sin valores de entrada, retorna un valor:

    () -> x

    Un único parámetro de entrada con el tipo de datos inferido, y un bloque que retorna void a la derecha:

    x -> { System.out.println(x); }

    También hay algunas formas "cortas" de escribir lambdas comunes:

    String::valueOf             x -> String.valueOf(x)
    Object::toString            x -> x.toString()
    x::toString                    () -> x.toString()
    ArrayList::new             () -> new ArrayList<>()

    Por supuesto, en Java existe la sobrecarga de métodos. Los operadores lambda intentan usar el método que mejor se adapte a la expresión: se tienen en cuenta los valores de entrada, de salida y las excepciones declaradas.

    Por ejemplo:

    Comparator c = (a, b) -> Integer.compare(a.length(), b.length());

    El método "compare" de Comparator tiene dos parámetros de entrada , y retorna un int. Esto es consistente con el lambda de la derecha, por lo cual es una asignación válida.

    Runnable r = () -> { System.out.println("Running!"); }


    El método "run" de la interfaz Runnable no recibe parámetros de entrada, y retorna void. Esto es consistente con el lambda de la derecha, y resulta en una asginación válida.

    También se tienen en cuenta las excepciones chequeadas declaradas en la firma del método. El lambda sólo puede lanzar excepciones chequeadas si están declaradas en la interfaz.

    Ejemplos de uso de lambdas en Java 8

    Actualmente, para agregarle un listener a un botón podemos hacer:

    btn.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
            System.out.println("Hola, mundo!");
        }
    });     
    Con expresiones lambda de Java 8 podemos hacer exactametne lo mismo con la siguiente expresión:

    btn.setOnAction(
        event -> System.out.println("Hola, mundo!")
    ); 
    También se puede usar el operador :: para hacer referencia a métodos estáticos de una clase:

    public class Utils {
        public static int compareByLength(String in, String out){
            return in.length() - out.length();
        }
    }

    public class MyClass {
        public void doSomething() {
            String[] args = new String[] {"microsoft","apple","linux","oracle"}
            Arrays.sort(args, Utils::compareByLength);
        }
    }  
    ... o también podemos acceder a métodos no estáticos:



    public class MyClass implements Comparable<MyObject> {

        @Override
        public int compareTo(MyObject obj) {return ...}

        public void doSomething() {
            MyObject myObject = new MyObject();
            Arrays.sort(args, myObject::compareTo);
        }
    }

    Clases anónimas java 8

    Clases anónimas: son como las clases locales ( una clase definida en un bloque )  Pero las clases anónimas no tienen un nombre. Te permiten declara y una instancia de una clase a la vez .


    Parametrización: Es el Comportamiento de la capacidad de un método para tomar múltiples comportamientos diferentes como parámetros y los utilizan internamente para lograr diferentes comportamientos.