Revisar el siguiente código y probarlo para que inserte:
https://drive.google.com/a/uvp.edu.mx/file/d/0BzWLIzGSJ9SMOFVVRW9yWldwbWc/view?usp=sharing
Nota: utilicen el archivo de conexión que ya habían hecho pero tendrán que cambiar la forma de importarlo al archivo insertar.jsp porque este debe ser en java.
viernes, 31 de octubre de 2014
domingo, 26 de octubre de 2014
Conectarse a una BD
http://todoenjava.blogspot.mx/2013/10/jsp-conexion-con-mysql.html
Conceptos:
Conexion JSP + MySql + NetBeans
Paso 1. Instalar WampServer.
Paso 2. Crear la Base de Datos.
Paso 3. Crear la conexión (abrimos NetBeans).
Paso 4. Cargar el Driver de Conexión (MySql JDBC).
Paso 5. Ejecutar Conexión.
Código de Conexión.
import="java.sql.Connection"
Permite conectarse a una fuente de datos
import="java.sql.DriverManager"
Se utiliza para cargar un Driver
import="java.sql.ResultSet"
Se emplea para almacenar el resultado de la consulta
import="java.sql.Statement"
Se usa para crear consultas y enviarlas a la base de datos
import="java.sql.SQLException"
Contiene Información acerca de cualquier excepción desde la página
Connection conex=null;//SE DECLARA UN OBJETO DE TIPO CONEXIÓN
Statement sql=null;//SE DECLARA UN OBJETO DE SENTENCIA SQL
try{
Class.forName("com.mysql.jdbc.Driver");//CARGA DEL DRIVER
conex=(Connection)DriverManager.getConnection("jdbc:mysql://127.0.0.1/nombrebase","root","");//SE ESTABLECE LA CONEXION A TRAVÉS DEL DRIVERMANAGER
sql=conex.createStatement();//PARA CREAR LAS SENTENCIAS SQL Y DEVUELVAN RESULTADOS
out.print("CONEXION EXITOSA");
}catch(Exception e){
out.print("ERROR DE CONEXION" + e);
}
Conceptos:
Conexion JSP + MySql + NetBeans
Paso 1. Instalar WampServer.
Paso 2. Crear la Base de Datos.
Paso 3. Crear la conexión (abrimos NetBeans).
Paso 4. Cargar el Driver de Conexión (MySql JDBC).
Paso 5. Ejecutar Conexión.
Código de Conexión.
import="java.sql.Connection"
Permite conectarse a una fuente de datos
import="java.sql.DriverManager"
Se utiliza para cargar un Driver
import="java.sql.ResultSet"
Se emplea para almacenar el resultado de la consulta
import="java.sql.Statement"
Se usa para crear consultas y enviarlas a la base de datos
import="java.sql.SQLException"
Contiene Información acerca de cualquier excepción desde la página
Connection conex=null;//SE DECLARA UN OBJETO DE TIPO CONEXIÓN
Statement sql=null;//SE DECLARA UN OBJETO DE SENTENCIA SQL
try{
Class.forName("com.mysql.jdbc.Driver");//CARGA DEL DRIVER
conex=(Connection)DriverManager.getConnection("jdbc:mysql://127.0.0.1/nombrebase","root","");//SE ESTABLECE LA CONEXION A TRAVÉS DEL DRIVERMANAGER
sql=conex.createStatement();//PARA CREAR LAS SENTENCIAS SQL Y DEVUELVAN RESULTADOS
out.print("CONEXION EXITOSA");
}catch(Exception e){
out.print("ERROR DE CONEXION" + e);
}
sábado, 25 de octubre de 2014
lunes, 20 de octubre de 2014
Adivina número
package num;import java.util.*;
public class NumeroBean {int respuesta;
boolean adivino; String pista; int numIntentos; public NumeroBean() { reset(); } public void setNumero(String numero) { numIntentos++; int g; try { g = Integer.parseInt(numero); } catch (NumberFormatException e) { g = -1; } if (g == respuesta) { adivino = true; } else if (g == -1) { pista = "un número"; } else if (g < respuesta) { pista = "uno más grande"; } else if (g > respuesta) { pista = "uno más chico"; } } public boolean getAdivino() { return adivino; } public String getPista() { return "" + pista; } public int getNumIntentos() { return numIntentos; } public void reset() { respuesta = Math.abs(new Random().nextInt() % 100) + 1; adivino = false; numIntentos = 0; }}
En el jsp llamado adivinaNumero.jsp, se utilizan los métodos definidos en el bean, de esta manera se puede ver como es el uso de elementos script en las páginas JSP. El siguiente código es el encargado de mostrar los mensajes al usuario con los valores que se definen en la clase NumeroBean.
<%@ page import = "num.NumeroBean" %><jsp:useBean id="nbean" scope="session" /><jsp:setProperty name="nbean" property="*" /><html> <head><title>Adivina el número</title></head> <body bgcolor="white"> <font size=4> <% if (nbean.getAdivino()) {%> Felicidades! adivinaste. Después de <%= nbean.getNumIntentos()%> intentos.<p> <% nbean.reset();%> <a href="adivinaNumero.jsp">Intentar de nuevo</a>? <% } else if (nbean.getNumIntentos() == 0) {%> Bienvenido al juego de adivinar el número.<p> ¿En qué número estoy pensando? del 1 al 100.<p> <form method=get> Escribe el número? <input type=text name=numero> <input type=submit value="Submit"> </form> <% } else {%> Bien, pero no. Intenta con <b><%= nbean.getPista()%></b>. Tú has hecho <%= nbean.getNumIntentos()%> intentos.<p> ¿En qué número estoy pensando? del 1 al 100.<p> <form method=get> Escribe el número? <input type=text name=numero> <input type=submit value="Submit"> </form> <% }%> </font> </body></html>
Para probar la aplicación es necesario escribir la siguiente dirección en el navegador:
sábado, 18 de octubre de 2014
Buscar caracteres en una cadena
El método indexOf de la clase String de Java, nos permite obtener el índice de comienzo de una subcadena dentro de otra.
public class indexOfEjemplo {
public static void main(String[] args) throws Exception{
String cadena = "Codigo Fuente en Java";
int index = cadena.indexOf("Java");
System.out.println(index);
}
}
Cuando queremos conocer sucesivas apariciones de una subcadena, podemos llamar la función repetidamente, pero con un segundo parametro que incluíra el índice de la última posición encontrada más 1. Por ejemplo:
public class indexOfEjemplo01 {
public static void main(String[] args) throws Exception{
String cadena = "Codigo Fuente en Java y aca aparece otra vez Java";
int index = cadena.indexOf("Java");
System.out.println(index);
index = cadena.indexOf("Java",index+1);
System.out.println(index); // imprime segunda aparicion de Java
}
}
Más explicado:
http://www.tutorialspoint.com/java/java_string_indexof.htm
Repaso examen
Revisar el siguiente documento para repasar JSP y revisar hasta la página 74:
http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/JSP-extended.pdf
http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/JSP-extended.pdf
martes, 14 de octubre de 2014
Actividades a entregar
Sobre las exposiciones hacer:
- Un mapa conceptual su exposición por equipos: Carlos Mayo y Eduardo Meza, Leo y Ezequiel.
- Un cuestionario de 7 preguntas contestadas: Waldemar y Eduardo Velasco, Fernando y Roman, Miguel Calvo y Uriel.
Hacer un reporte por equipo de las siguientes prácticas realizadas:
- Scriptlets (promedio de calificaciones): Carlos Mayo y Eduardo Meza
- Formularios dinámicos: Waldemar y Eduardo Velasco
- Conversión de monedas: Leo y Ezequiel
- Beans: Fernando y Roman
- Sesiones: Miguel y Uriel
Para el Proyecto entregar:
- Aplicación web
- Reporte del proyecto
- Presentación en power point del desarrollo del proyecto, explicando de forma general el código, y capturas de pantalla.
Fecha máxima de entrega de estas actividades: Viernes 24 de octubre.
domingo, 12 de octubre de 2014
Sesiones en JSP
Un poco de teoría:
http://prezi.com/ymg4bi4gdst2/manejo-de-sesiones-con-jsp/
Ejemplo sin BD: http://es.slideshare.net/Sysworkap/jsp-con-session
Ejemplo con BD: http://www.uv.mx/personal/lizhernandez/files/2012/05/sesionesJsp.pdf
Repaso: file:///C:/Users/RANGEL/Downloads/manejosessiones-110201103658-phpapp01.pdf
http://prezi.com/ymg4bi4gdst2/manejo-de-sesiones-con-jsp/
Ejemplo sin BD: http://es.slideshare.net/Sysworkap/jsp-con-session
Ejemplo con BD: http://www.uv.mx/personal/lizhernandez/files/2012/05/sesionesJsp.pdf
Repaso: file:///C:/Users/RANGEL/Downloads/manejosessiones-110201103658-phpapp01.pdf
COOKIES: creación y recuperación
Las sesiones vistas anteriormente basan su funcionamiento en los cookies.
y de la siguiente liga:
http://dis.um.es/~lopezquesada/documentos/IES_1213/IAW/curso/UT5/ActividadesAlumnos/12/cookies.html
Cuando se hace uso de la interfaz HttpSession de forma interna y totalmente transparente al programador se está haciendo uso de los cookies.
De hecho cuando a través de una página JSP se comienza una sesión, se crea un cookie llamado JSSESIONID.
La diferencia es que este cookie es temporal y durará el tiempo que permanezca el navegador ejecutándose, siendo borrada cuando el usuario cierre el navegador.
El objetivo de utilizar cookies es poder reconocer al usuario en el momento en el que se conecta al servidor.
Una de las páginas que recoge la petición del usuario puede comprobar si existe un cookie que ha dejado anteriormente, si es así, sabe que ese usuario ya ha visitado ese website y por lo tanto puede leer valores que le identifiquen. Otro de los usos de los cookies es ofrecer una personalización al usuario.
En muchos sitos web es posible elegir el color de fondo, el tipo de letra utilizado, etc... Estos valores pueden ser almacenados en cookies de forma que cuando acceda de nuevo al web y se compruebe la existencia de esos valores, serán recuperados para utilizarlos en la personalización de la página tal y como el usuario estableció en su momento.
Un ejemplo que se ha podido encontrar en muchas webs es en el momento de realizar un registro o solicitar el alta en un área restringida, ya que en muchas ocasiones existe un checkbox que cuando se selecciona permite recordar el nombre de usuario a falta de que sólo se escriba la clave.
Utilizando también el identificador idSession que se genera en un sesión como ya hemos visto y guardándolo en el cookie se pueden mostrar mensajes personalizados en el momento en el que el usuario acceda de nuevo al website.
Para trabajar con cookies se utiliza la clase Cookie que está disponible en paquete javax.servlet.http.
Por medio de esta clase se pueden crear cookies, establecer sus valores y nombres, alguna de sus propiedades, eliminarlas, leer valores que almacenan, etc.
Creación de cookies
Un cookie almacenado en el ordenador de un usuario está compuesto por un nombre y un valor asociado al mismo. Además, asociada a este cookie pueden existir una serie de atributos que definen datos como su tiempo de vida, alcance, dominio, etc.
Cabe reseñar que los cookies, no son más que ficheros de texto, que no pueden superar un tamaño de 4Kb, además los navegadores tan sólo pueden aceptar 20 cookies de un mismo servidor web (300 cookies en total).
Para crear un objeto de tipo Cookie se utiliza el constructor de la clase Cookie que requiere su nombre y el valor a guardar. El siguiente ejemplo crearía un objeto Cookie que contiene el nombre “nombre” y el valor “objetos”.
<% Cookie miCookie=new Cookie(“nombre”,”objetos”); %>
También es posible crear cookies con contenido que se genere de forma dinámica. El siguiente código muestra un cookie que guarda un texto que está concatenado a la fecha/hora en ese momento:
<%@page contentType="text/html; charset=iso-8859-1" session="true" language="java" import="java.util.*" %> <% Cookie miCookie=null; Date fecha=new Date(); String texto= “Este es el texto que vamos a guardar en el cookie”+fecha; miCookie=new Cookie(“nombre”,texto); %>
En esta ocasión el contenido del valor a guardar en el cookie está en la variable “texto”.
También se pueden guardar valores o datos que provengan de páginas anteriores y que hayan sido introducidas a través de un formulario:
<% Cookie miCookie=null; String ciudad= request.getParameter(“formCiudad”); miCookie=new Cookie(“ciudadFavorita”,ciudad); %>
Una vez que se ha creado un cookie, es necesario establecer una serie de atributos para poder ser utilizado. El primero de esos atributos es el que se conoce como tiempo de vida.
Por defecto, cuando creamos un cookie, se mantiene mientras dura la ejecución del navegador. Si el usuario cierra el navegador, los cookies que no tengan establecido un tiempo de vida serán destruidos.
Por tanto, si se quiere que un cookie dure más tiempo y esté disponible para otras situaciones es necesario establecer un valor de tiempo (en segundos) que será la duración o tiempo de vida del cookie. Para establecer este atributo se utiliza el método setMaxAge(). El siguiente ejemplo establece un tiempo de 31 días de vida para el cookie “unCookie”:
<% unCookie.setMaxAge(60*60*24*31); %>
Si se utiliza un valor positivo, el cookie será destruido después de haber pasado ese tiempo, si el valor es negativo el cookie no será almacenado y se borrará cuando el usuario cierre el navegador. Por último si el valor que se establece como tiempo es cero, el cookie será borrado.
Otros de los atributos que se incluye cuando se crea un cookie es el path desde el que será visto, es decir, si el valor del path es “/” (raíz), quiere decir que en todo el site se podrá utilizar ese cookie, pero si el valor es “/datos” quiere decir que el valor del cookie sólo será visible dentro del directorio “datos”. Este atributo se establece mediante el método setPath().
<% unCookie.setPath(“/”); %>
Para conocer el valor de path, se puede utilizar el método getPath().
<% out.println(“cookie visible en: “+unCookie.getPath()); %>
Existe un método dentro de la clase Cookie que permite establecer el dominio desde el cual se ha generado el cookie. Este método tiene su significado porque un navegador sólo envía al servidor los cookies que coinciden con el dominio del servidor que los envió. Si en alguna ocasión se requiere que estén disponibles desde otros subdominios se especifica con el método setDomain(). Por ejemplo, si existe el servidor web en la página www.paginasjsp.com , pero al mismo tiempo también existen otros subdominios como usuario1.paginasjsp.com, usuario2.paginasjsp.com, etc.
Si no se establece la propiedad domain se entiende que el cookie será visto sólo desde el dominio que lo creó, pero sin embardo si se especifica un nombre de dominio se entenderá que el cookie será visto en aquellos dominios que contengan el nombre especificado.
En el siguiente ejemplo hace que el cookie definido en el objeto “unCookie” esté disponible para todos los dominios que contengan el nombre “.paginasjsp.com”. Un nombre de dominio debe comenzar por un punto.
<% unCookie.setDomain(“.paginasjsp.com”); %>
Igualmente, para conocer el dominio sobre el que actúa el cookie, basta con utilizar el método getDomain() para obtener esa información. Una vez que se ha creado el objeto Cookie, y se ha establecido todos los atributos necesarios es el momento de crear realmente, ya que hasta ahora sólo se tenía un objeto que representa ese cookie.
Para crear el fichero cookie real, se utiliza el método addCookie() de la interfaz HttpServletResponse:
<% response.addCookie(unCookie); %>
Una vez ejecutada esta línea es cuando el cookie existe en el disco del cliente que ha accedido a la página JSP. Es importante señalar que si no se ejecuta esta última línea el cookie no habrá sido grabado en el disco, y por lo tanto, cualquier aplicación o página que espere encontrar dicho cookie no lo encontrará.Recuperación de cookies
El proceso de recuperar un cookie determinado puede parecer algo complejo, ya que no hay una forma de poder acceder a un cookie de forma directa. Por este motivo es necesario recoger todos los cookies que existen hasta ese momento e ir buscando aquél que se quiera, y que al menos, se conoce su nombre.
Para recoger todos los cookies que tenga el usuario guardados se crea un array de tipo Cookie, y se utiliza el método getCookies() de la interfaz HttpServletRequest para recuperarlos:
<% Cookie [] todosLosCookies=request.getCookies();
/*El siguiente paso es crear un bucle que vaya leyendo todos los cookies.*/
for(int i=0;i Cookie unCookie=todosLosCookies[i];
/*A continuación se compara los nombres de cada uno de los cookies con el que se está buscando. Si se encuentra un cookie con ese nombre se ha dado con el que se está buscando, de forma que se sale del bucle mediante break. */
if(unCookie.getName().equals(“nombre”)) break; }
/*Una vez localizado tan sólo queda utilizar los métodos apropiados para obtener la información necesaria que contiene.*/
out.println(“Nombre: “+unCookie.getName()+”);
out.println(“Valor: “+unCookie.getValue()+”);
out.println(“Path: “+unCookie.getPath()+”);
out.println(“Tiempo de vida:“+unCookie.getMaxAge()+”);
out.println(“Dominio: “+unCookie.getDomain()+”); %>
http://dis.um.es/~lopezquesada/documentos/IES_1213/IAW/curso/UT5/ActividadesAlumnos/12/cookies.html
miércoles, 8 de octubre de 2014
Plantillas para páginas web
Les dejo este link pero pueden buscar más:
http://www.1stwebdesigner.com/css/fresh-free-html5-and-css3-templates/
http://www.1stwebdesigner.com/css/fresh-free-html5-and-css3-templates/
martes, 7 de octubre de 2014
sábado, 4 de octubre de 2014
Beans en JSP
Los famosos java beans que se utilizan en j2se, tambien se pueden
utilizar en jsp, las principales caracteristicas son:
Esta marca sirve para instanciar un JavaBean si no existe, o
localizar una instancia ya existente, para su uso desde la
página.
• Los JavaBeans son objetos Java que cumplen ciertas características en cuanto a su diseño.
• Se utilizan para reducir al máximo el código Java insertado en una página JSP. En lugar de meterlo directamente en el fichero JSP se mete en un objeto y éste se llama desde el JSP.
• Permite separar la lógica de ejecución (en el JavaBean) de la presentación (en el servlet generado)
Se encapsula el código Java en un objeto (JavaBean) y se instancia y usa con el JSP.
-Si se usa un JavaBean en una página habrá que definir la clase correspondiente, creando los métodos set y get para los atributos definidos
• Dentro del servlet generado se puede llamar a métodos de un JavaBean que se encarguen de realizar ciertas operaciones y el servlet muestra el resultado de las mismas
• Ventaja del traslado de la lógica a un JavaBean
– Separación de interfaz de la implementación
Ejemplo
1.- Clase beans
public class LenguajeBean {
private String nombre;
private String lenguaje;
public LenguajeBean() {}
public void setNombre(String nombre) {
this.nombre=nombre;
}
public String getNombre(){
return nombre;
}
public void setLenguaje(String lenguaje){
this.lenguaje=lenguaje;
}
public String getLenguaje() {
return lenguaje;
}
public String getcomentariosLenguaje (){
if (lenguaje.equals("Java")){
return "El rey de los lenguaje Orientados a objetos";
}
else if (lenguaje.equals("C++")){
return "Demasiado complejo";
} else if (lenguaje.equals("Perl")){
return "OK si te gusta el códigoincomprensible";
}else {
return "Lo siento, no conozco ellenguaje " + lenguaje ;
}
}
}
2.- pagina html con un form y que solicita una pagina jsp.

3.- ejecutamos el jsp con el beans

utilizar en jsp, las principales caracteristicas son:
Esta marca sirve para instanciar un JavaBean si no existe, o
localizar una instancia ya existente, para su uso desde la
página.
• Los JavaBeans son objetos Java que cumplen ciertas características en cuanto a su diseño.
• Se utilizan para reducir al máximo el código Java insertado en una página JSP. En lugar de meterlo directamente en el fichero JSP se mete en un objeto y éste se llama desde el JSP.
• Permite separar la lógica de ejecución (en el JavaBean) de la presentación (en el servlet generado)
Se encapsula el código Java en un objeto (JavaBean) y se instancia y usa con el JSP.
-Si se usa un JavaBean en una página habrá que definir la clase correspondiente, creando los métodos set y get para los atributos definidos
• Dentro del servlet generado se puede llamar a métodos de un JavaBean que se encarguen de realizar ciertas operaciones y el servlet muestra el resultado de las mismas
• Ventaja del traslado de la lógica a un JavaBean
– Separación de interfaz de la implementación
Ejemplo
1.- Clase beans
public class LenguajeBean {
private String nombre;
private String lenguaje;
public LenguajeBean() {}
public void setNombre(String nombre) {
this.nombre=nombre;
}
public String getNombre(){
return nombre;
}
public void setLenguaje(String lenguaje){
this.lenguaje=lenguaje;
}
public String getLenguaje() {
return lenguaje;
}
public String getcomentariosLenguaje (){
if (lenguaje.equals("Java")){
return "El rey de los lenguaje Orientados a objetos";
}
else if (lenguaje.equals("C++")){
return "Demasiado complejo";
} else if (lenguaje.equals("Perl")){
return "OK si te gusta el códigoincomprensible";
}else {
return "Lo siento, no conozco ellenguaje " + lenguaje ;
}
}
}
2.- pagina html con un form y que solicita una pagina jsp.
3.- ejecutamos el jsp con el beans
viernes, 3 de octubre de 2014
Formularios de forma dinamica
prog6.jsp
<%! String sexo, carrera; %>
<% if(request.getParameter("OK") != null) {
sexo=request.getParameter("SEXO");
carrera=request.getParameter("CARRERA");
out.println("carrera="+carrera+"<br>");
out.println("sexo="+sexo+"<br>"); }; // construyendo forma dinamica
out.println("<FORM ACTION=prog6.jsp METHOD=post>");
out.println("sexo:<br>");
out.println("<input type=radio name=SEXO value=masculino checked>masculino<br>"); out.println("<input type=radio name=SEXO value=femenino>femenino<br>");
out.println("<input type=radio name=SEXO value=neutro>neutro<br>");
out.println("carrera:<br>");
out.println("<input type=radio name=CARRERA value=sistemas checked>sistemas<br>"); out.println("<input type=radio name=CARRERA value=informatica>informatica<br>"); out.println("<input type=radio name=CARRERA value=medicina>medicina<br>"); out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
<%! String sexo, carrera; %>
<% if(request.getParameter("OK") != null) {
sexo=request.getParameter("SEXO");
carrera=request.getParameter("CARRERA");
out.println("carrera="+carrera+"<br>");
out.println("sexo="+sexo+"<br>"); }; // construyendo forma dinamica
out.println("<FORM ACTION=prog6.jsp METHOD=post>");
out.println("sexo:<br>");
out.println("<input type=radio name=SEXO value=masculino checked>masculino<br>"); out.println("<input type=radio name=SEXO value=femenino>femenino<br>");
out.println("<input type=radio name=SEXO value=neutro>neutro<br>");
out.println("carrera:<br>");
out.println("<input type=radio name=CARRERA value=sistemas checked>sistemas<br>"); out.println("<input type=radio name=CARRERA value=informatica>informatica<br>"); out.println("<input type=radio name=CARRERA value=medicina>medicina<br>"); out.println("<INPUT TYPE=SUBMIT NAME=OK VALUE=evento1 ><BR>");
out.println("</FORM>");
%>
Suscribirse a:
Comentarios (Atom)
