sábado, 31 de enero de 2015

Adicionar Registros en una JSP

Realizar una Jsp para Agregar nuevos registros  a la tabla categoría. Al usuario le debe de mostrar los registros que contenga la tabla categoría, y cuando agregue un nuevo registro lo debe de mostrar. Ver imagen adjunta

Para agregar nuevos registros  a las tablas se debe de utilizar el método  executeUpdate  de la clase Stament. Este método es el que se utiliza cuando se ejecutan instrucciones SQL (Insert, Update, y Delete), este método no se puede utilizar cuando la instrucción SQL es Select.
Sintaxis:
Variable = objeto Stament.executeUpdate(Sentencia sql );
Donde:
Variable: es una variable de tipo de entera donde se almacenara los cantidad de registros que fueron afectaron durante la ejecución de la instrucción SQL (Update, Delete, Insert).
Clase Statement: es el nombre de  objeto  que se ha creado de la clase Stament.
Sentencia sql: en la instrucción Sql (Insert, update y delete)  que se va a ejecutar para insertar, actualizar o eliminar registros de una tabla.

Ejemplo: (utilizando la base de datos de Sql Server)
<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<%@page import ="javax.sound.midi.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form method="POST">
        <table border="1">
            <tr> <td> Codigo</td> <td> nombre </td><td> Descripcion </td> <td></td></tr>
            <tr>
                <td> <input type="text" name="txtcodigo" value="" /> </td>
           
                <td> <input type="text" name="txtnombre" value="" /> </td>
          
                <td> <input type="text" name="txtdescripcion" value="" /> </td>
           
                <td> <input type="submit" value="Ingresar" name="btningresar" /> </td>
            </tr>
        </table>
        </form>
        <br> <br> <br>
        <%
       Connection conexion = null; //Objeto para la conexión a la BD
       Statement sentencia = null; //Objeto para la ejecutar una sentencia
       ResultSet resultados = null;//Objeto para guardar los resultados
       ResultSet resultados2 = null;//Objeto para guardar los resultados
        String cadena;
        try {
           //Leemos el driver sql server
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        cadena = "jdbc:sqlserver://100.1.31.153:1433;" +
            "databaseName=pedidoplus;user=sa;password=Pa$$w0rd;";
                //Nos conectamos a la BD local
        // Escribir el codigo de ingresar datos en este linea
      
       
        // termina el codigo para ingresar datos
        conexion = DriverManager.getConnection(cadena);
        //Escribimos el final de la página
    //Creamos una sentencia a partir de la conexión
          sentencia=conexion.createStatement();
          if (request.getParameter("btningresar") != null)
         {
         
              int regi=sentencia.executeUpdate("insert into dbo.categoria(catcodigo,catnombre,catdescripcion) values ("+request.getParameter("txtcodigo")+",'"+request.getParameter("txtnombre")+"','"+request.getParameter("txtdescripcion")+"')");
         
        }
                resultados=sentencia.executeQuery("SELECT * FROM Categoria");
                //Mostramos las distintos empleados
%>
     
            <table border="1">
                <thead>
                    <tr>
                        <th>codigo </th>
                        <th>Nombre</th>
                        <th>Descripcion </th>
                    </tr>
                </thead>
                <tbody>
                    <%
                   while(resultados.next()) {
                       String codigo = resultados.getString("catcodigo");
                       String nombre =resultados.getString("catnombre");
                       String Precio = resultados.getString("catdescripcion");
                            %>
                            <tr>
                            <td><%=codigo%></td>
                            <td><%=nombre%></td>
                            <td><%=Precio%></td>
                            </tr>
                    <%   
                            }
                    %>
                   </tbody>
            </table>
<%
}
   catch(SQLException e) {out.println("ERROR:Fallo en SQL: "+e.getMessage());};
 %>
    </body>
</html>

Ejemplo: Utilizando la base de datos MYSQL
<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<%@page import ="javax.sound.midi.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <form method="POST">
        <table border="1">
            <tr> <td> Codigo</td> <td> nombre </td><td> Descripcion </td> <td></td></tr>
            <tr>
                <td> <input type="text" name="txtcodigo" value="" /> </td>
           
                <td> <input type="text" name="txtnombre" value="" /> </td>
          
                <td> <input type="text" name="txtdescripcion" value="" /> </td>
           
                <td> <input type="submit" value="Ingresar" name="btningresar" /> </td>
            </tr>
        </table>
        </form>
        <br> <br> <br>
        <%
       Connection conexion = null; //Objeto para la conexión a la BD
       Statement sentencia = null; //Objeto para la ejecutar una sentencia
       ResultSet resultados = null;//Objeto para guardar los resultados
       ResultSet resultados2 = null;//Objeto para guardar los resultados
        String cadena;
        try {
           //Leemos el driver sql server
            Class.forName("com.mysql.jdbc.Driver");
            //Nos conectamos a la BD local
            conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/produccion","root","12345");
                //Nos conectamos a la BD local
        // Escribir el codigo de ingresar datos en este linea
      
       
        // termina el codigo para ingresar datos
     
        //Escribimos el final de la página
    //Creamos una sentencia a partir de la conexión
          sentencia=conexion.createStatement();
          if (request.getParameter("btningresar") != null)
         {
         
              int regi=sentencia.executeUpdate("insert into categoria(catcodigo,catnombre,catdescripcion) values ("+request.getParameter("txtcodigo")+",'"+request.getParameter("txtnombre")+"','"+request.getParameter("txtdescripcion")+"')");
         
        }
                resultados=sentencia.executeQuery("SELECT * FROM Categoria");
                //Mostramos las distintos empleados
%>
     
            <table border="1">
                <thead>
                    <tr>
                        <th>codigo </th>
                        <th>Nombre</th>
                        <th>Descripcion </th>
                    </tr>
                </thead>
                <tbody>
                    <%
                   while(resultados.next()) {
                       String codigo = resultados.getString("catcodigo");
                       String nombre =resultados.getString("catnombre");
                       String Precio = resultados.getString("catdescripcion");
                            %>
                            <tr>
                            <td><%=codigo%></td>
                            <td><%=nombre%></td>
                            <td><%=Precio%></td>
                            </tr>
                    <%   
                            }
                    %>
                   </tbody>
            </table>
<%
}
   catch(SQLException e) {out.println("ERROR:Fallo en SQL: "+e.getMessage());};
 %>
    </body>
</html>


Conexion de JSP con SQL SERVER



Pasos para instalar el Driver  para el servidor Microsoft SQL SERVER.

El primer paso es descargar el driver para la conexión al servidor Microsoft SQL Server, el nombre del archivo jar  es s qljdbc4.jar   el cual contiene la clase para ponerse conectarse  solamente a servidor Microsoft Sql Server.

El segundo paso es copiar este archivo en  la carpeta de librerías del servidor que se utilizando veamos algunos ejemplos de servidores.(la ruta pueden variar de acuerdo a la instalación de cada servidor)
Servidor
Ruta de librerías
Apache Tomcat versión 7.0.27
C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.27\lib
GlassFish Server 3+
C:\Program Files\glassfish-3.1.2.2\glassfish\lib

El tercer paso verificar en SQL server  el modo de autenticación el cual debe de ser  SQl Server and Windows Authentication Mode(autenticación Windows y SQL)


a.       Sobre el nombre del server presionamos clic botón derecho el cual nos mostrara  varias opciones, la cual debe de seleccionar properties(propiedades) y luego le apareceré otra ventana con las  propiedades del server.


Cuando se presiones clic sobre properties se saldrá una ventana con todas las propiedades del server  en la cual se seleccionara la opción de security. Y cambiar el modo de autenticación a “SQl Server and Windows Authentication Mode” en el caso no este seleccionada esta opción.

En el caso que el server no tenga habilitada esta opción hay que habilitarlo y reiniciar el servicio de Microsoft Sql Server.  Presionamos clic botón derecho sobre el nombre del server y nos aparece  un lista de opciones la  cual se seleccionar  Restar(Reiniciar).































Cuarto paso crear un usuario para conectarse a la base de datos  si no se quiere utilizar el usuario sa.


Para poder crear un nuevo usuarios se debe de presionar 
clic botón derecho sobre la opción de Security(Seguridad) ->New(nuevo)->Login (Usuario)





















En esta Ventana seleccionamos que va hacer un usuario de “Sql Server authentication” y el login name se escribe el nombre del usuario , la opción que se tiene que marcar es “Enforce password policy” con este le decimos a sql que la contraseña no va hacer segura(omitir este opción para efectos de pruebas, en un servidor de producción debe de estar marcado) y  además que el usuario no puede cambiar la contraseña en el siguiente inicio de sesión.
En default database seleccionamos  la base de datos por defecto del usuario.


En la opción de Status debemos de  otorgarle permisos al usuario para ingresar al servidor de Microsoft Sql Server  y el login que está habilitado (Enabled) como se muestra en la siguiente imagen


En la parte de User Mapping seleccionar  las bases de datos que el usuario tendrá permisos (Users mapped to this login) y en “Database rolo membership for” se debe de seleccionar los permisos del usuario si el usuario va a crear objetos dentro de la base de datos seleccionar dbo.owner(propietario de la base de datos)



Un  vez realizadas todas opciones  presionamos clic en el botón “OK”.
Quinto paso: Verificar si el servidor de Microsoft Sql Server está aceptando peticiones TCP. Para verificar dicho proceso debemos de seguir las siguientes opciones.
1.       Buscar el programa “Sql Server Configution Manager” este programa nos mostrara varios opciones. Muestra por ejemplos los servicios de sql server que se están ejecutando en al pc o servidor.

2.       Dentro de la ventana seleccionamos la opción “SQL Server NetWork Configuration” y dentro de esta opción seleccionamos “Procols for MSSQLSERVER” y dentro de opción habilitamos las conecciones TCP/IP
Presionando clic botón derecho sobre TCP/IP nos aparece un menú donde podemos  habilitarlo(Enabled) o deshabilitar(Disable) las peticiones TCP/IP

Si seleccionamos propiedades nos aparecerán las direcciones IP de los adaptadores de red  y los puertos de comunicación por las cuales aceptan peticiones TCP/IP




























Una vez realizado estos cambios en necesario reiniciar el servicio de  Microsoft Sql Server para realice los cambios.

Conexión de JSP con MYSQL

Conexión a una Base de datos de MYSQL.
Para cargar el driver de MYSQL Se debe de utilizar la siguiente línea:
Class.forName("com.mysql.jdbc.Driver");
Este driver en las últimas  versiones de Netbeans ya viene instalado, ya solamente de utilizar, al igual que otros gestores de base de datos tales como Oracle(Oracle Thin),ODBC y Postgres.


Cuando se quieren utilizar estos drivers que viene instalados por defecto en Netbeans solamente se tienen que agregar estas librerías a cada proyecto como se muestra en la siguiente imagen.































Para adicionar librerías globales solamente presionar click botón derecho del mouse sobre Libreries y selecciona la opción de Agregar biblioteca y le mostrar las lista de bibliotecas disponibles para añadir.

































Una vez seleccionada la biblioteca presionar clic en el botón Añadir biblioteca y con eso ya se adicionara la biblioteca a su proyecto













La conexión para un servidor de MYSQL se  realizar de la siguiente manera:
DriverManager.getConnection("jdbc:mysql://nservidor:puerto/basededatos","usuario","password");
Donde:
Nservidor: es el nombre del servidor de MYSQL  donde puede ser localhost(cuando el servidor de base de datos  es el mismo servidor Web), dirección ip (ejemplo 192.168.1.8 o 127.0.0.1) y nombre del servidor (producción.utec.edu.sv que es el nombre asignado al servidor al nivel de DNS)
Puerto: es el puerto que se configuro al  servidor de base de datos  que por defecto es el puerto 3306.
Basededatos: es el nombre la base de datos que  utilizara.
Usuario: es el nombre de usuario que se utilizara para conectarse a la base de datos.
Password: es la contraseña del  usuario que se está conectando  a la base de datos.

Ejemplo  de conexión a un servidor que la base de datos está el mismo servidor web y que el puerto configurado es 3306 y el usuario  a utilizar es “root” y su contraseña es “12345”, la ip asignada al servidor es 192.168.1.20.

Metodo 1.
DriverManager.getConnection("jdbc:mysql://localhost:3306/produccion","root","12345");
Método 2.
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/produccion","root","12345");
Metodo 3.
DriverManager.getConnection("jdbc:mysql://192.168.1.20:3306/produccion","root","12345");

Ejemplo  de conexión a un servidor que la base de datos está en un servidor remoto, el puerto configurado es 3398 y el usuario  a utilizar es “userutec” y su contraseña es “1112131415”, la ip asignada al servidor es 200.1.20.40  y el nombre que se le asignado al servidor es “ventas.google.com” y el nombre de la base de datos a utilizar es “ventas”.
Metodo 1.
DriverManager.getConnection("jdbc:mysql://200.1.20.40:3398/ventas","userutec","1112131415");
Método 2.
DriverManager.getConnection("jdbc:mysql://ventas.google.com:3398/ventas","userutec","1112131415");

Ejemplo: la siguiente JSP muestra todos los registros de la tabla categoría



<%@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
       <title>JSP Page</title>
</head>
<body>
<%
        Connection conexion = null; //Objeto para la conexión a la BD
        Statement sentencia = null; //Objeto para la ejecutar una sentencia
        ResultSet resultados = null;//Objeto para guardar los resultados
        try
        {
            //Leemos el driver sql server
             Class.forName("com.mysql.jdbc.Driver");
            //Nos conectamos a la BD local
            conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/produccion","root","12345");
            //Escribimos el final de la página
            //Creamos una sentencia a partir de la conexión
            sentencia=conexion.createStatement();
            resultados=sentencia.executeQuery("SELECT * FROM articulo");
            //Mostramos las distintos empleados
%>
            <table border='1'>
            <thead>
            <tr>
            <th>codigo de Articulo</th>
            <th>Nombre</th>
            <th>Precio </th>
            </tr>
            </thead>
            <tbody>
<%
            while(resultados.next())
            {
                String codigo = resultados.getString("artcodigo");
                String nombre =resultados.getString("artnombre");
                String Precio = resultados.getString("artprecio");
 %>
                <tr>
                <td><%=codigo%></td>
                <td><%=nombre%></td>
                <td><%=Precio%></td>
                </tr>
 <%
            }
 %>
            </tbody>
            </table>
 <%          
        }
         catch(SQLException e)
        {
             out.println("ERROR:Fallo en SQL: "+e.getMessage());
        }
%>
</body>

</html>

viernes, 30 de enero de 2015


Instalación en español Netbeans 7.2 en Windows.

 
Antes de instalar conviene revisar la/s versiones de java instaladas en el equipo, para ello conviene visitar la página http://www.java.com/es/download/installed.jsp, en mi caso










Vemos que disponemos de una versión de java adecuada. En el caso de que no fuera así, o no tuviéramos instalado java,

Desde esta página podríamos bajar la versión más actual de java,
Si aceptamos,

Si ejecutamos jxpiinstal.exe aparecerá inicialmente

Señalamos la caja de comprobación para cambiar la carpeta de destino y pulsamos instalar

















Si pulsamos Cambiar

Seleccionamos la nueva carpeta (C:/Java) y pulsamos Siguiente


Pulsamos siguiente,


Vamos a instalar seguidamente JDK 7 update 10, para ello localizamos la páginahttp://www.oracle.com/technetwork/java/javase/downloads/index.html, es decir,


Si pulsamos o hacemos click en JDK,


Si aceptamos los términos de la licencia y seleccionamos el archivo asociado a Windows x86, es decir jdk-7u10-windows-i586.exe, entonces

















Si hacemos ahora Guardar archivo. Cuando termine de bajarse ejecutamos dicho archivo,


Si hacemos Next,



Hacemos ahora Change para cambiar la carpeta de instalación,


Cambiamos la carpeta de instalación a C:\Java\jdk1.7.0_10. Pulsamos seguidamente OK,


Y ahora Next,


Cambiamos en esta pantalla la carpeta,


Y hacemos OK


Y ahora Next,



Cuando termine la instalación aparece finalmente,


Cerramos con Close.

Para instalar la última versión de Netbeans necesitamos la versión 7.2, para ello vamos a la página www.http://netbeans.org/, y pulsamos en Download,




Seleccionamos la versión 7.2 y en la caja de selección del lenguaje Español, es decir,


Pulsamos o hacemos click en la última columna (All).

















Guardamos el archivo para ejecutarlo seguidamente,




Pulsamos Personalizar para suprimir ciertos elementos y añadir otros,


































Donde hemos añadido el servidor Apache Tomcat y hemos suprimido Java ME, JavaCard, C/C++ y Groovy. Si hacemos aceptar




Y Siguiente,



































Si ahora aceptamos los términos de la licencia y pulsamos Siguiente,


Aceptamos los términos de la licencia de JUnit y pulsamos siguiente,



Cambiamos el directorio de instalación de Netbeans,


Y pulsamos Siguiente,


Cambiamos el directorio del servidor GlassFish y Apache Tomcat a la carpeta C:/Servidores tendremos,




Cuando termine la instalación,




Pulsamos Terminar para "terminar"…

Para iniciar Netbeans sólo tenemos que hacer doble click sobre el icono del escritorio,












Y aparecerá,


El entorno integrado de Netbean 7.2 traducido al español.
Seleccionamos seguidamente la opción Herramientas del menú principal, y dentro de ella Plugins,




Seleccionamos la pestaña "Configuración",


Y seleccionamos "Comprobar Intervalo" en la opción "Cada Inicio",

De esta manera cada vez que se inicie el IDE comprobará si existe alguna actualización de las utilidades y plugins.

Para crear un JSP típico "Hola mundo", seleccionamos "Proyecto/Proyecto nuevo",


Seleccionamos JavaWeb/Web Application y pulsamos siguiente,


Asignamos como nombre al proyecto "HolaMundo" y fijamos su localización,


Pulsamos ahora siguiente,
Vemos que por defecto el servidor que ejecutará el JSP será GlassFish, si quisiéramos cambiarlo a Tomcat,

Si hacemos ahora "Siguiente",


Y si no utilizamos framework, como es el caso pulsamos seguidamente "Terminar",