Daai JSP
Daai JSP
Daai JSP
Plataforma
COM , DCOM , COM +, .NET JavaScript o Visual Basic Script, c# Modelo de seguridad de Windows NT Active Data Objects Ninguna
Evento de iniciacin
Servlet
Evento de terminacin
_jspDestroy()
Contenedor de Servlets
mbito
4 (mayor) 3 2
Categora
Aplicacin Sesin Peticin
Descripcin
Pertenecen a la misma aplicacin Pertenecen a la misma sesin Provienen de la peticin que es Atendida Pertenecen a la pgina en que fueron creados
1 (menor)
Pgina
Contexto
HttpServletRequest HttpServletResponse
Descripcin
Invocacin del servicio
mbito
Peticin Pgina Pgina
Respuesta a la Peticin Caractersticas de la pgina Dependientes de la implementacin, espacios de nombres y otras facilidades Conserva el estado de la session Contexto del servlet de configuracin Flujo de salida Configuracin del servlet del JSP Pgina que procesa la peticin en curso
pageContext jsp.PageContext
ambitos
Elemento
Directiva Declaraciones Expresiones Scriptlets Comentarios
Sintaxis <%@ . . . . . . . . %> <%! . . . . . . . . . . %> <%= . . . . . . . . .. %> <% .. . . . . . . . . .. %> <%-- .. . . . .. . . -- %>
Descripcin
Importar clases o incluir archivos HTML Declarar variables o mtodos Java Evaluacin de expresiones Java Ejecucin de instrucciones Java Texto no procesado
10
La sintaxis de una expresin es <%= expresin %> o, alternativamente, usando los espacios de nombres de XML <jsp:expression> expresin </jsp:expression> Las expresiones en JSP permiten que el resultado de la evaluacin de una expresin Java se convierta a una cadena de caracteres que ser incluida en la pgina generada. Las expresiones pueden incluirse en gran variedad de contextos y no deben terminarse por puntos y comas. Ejemplo de Expresiones La siguiente expresin produce un elemento H1 usado para escribir el texto de un encabezado:
<%! int i = 1; %> <H<%=i%>>Java Server Pages</H<%=i>>
11
contadoryfecha
12
formulario
programa
13
la pgina redirige a su vez el objeto exception a la pgina Error.jsp . La pgina Error.jsp debe contener a su vez, la directiva:
<%@page isErrorPage=true %>
14
15
session
16
ErrorPage
17
Cookies
18
crea una instancia del Bean y lo agrega a la sesin; si se encuentra este elemento en otra pgina, el objeto se recuperar entonces de la sesin.
Una vez declarados los beans, sus propiedades pueden accederse usando el elemento
<jsp:getProperty name=book property=name/>
En el procesamiento de formas es muy conveniente usar las facilidades que brinda JSP para copiar los valores asociados de los campos a los atributos del bean.
19
copia los valores pero slo cuando los nombres en ambos (los campos de la forma y los atributos del bean) coinciden. Cuando los nombres no coinciden, la correspondencia se debe hacer explcita:
<jsp:setProperty name=book property=propName parameter=parmName/>
numguess
20
NumberGuessBean
21
22
23
24
<html> <head> <title>Alumnos</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <%@ page import="java.sql.*" %>
</head> <body bgcolor="#FFCCCC"> <div Id="scroll" Style="position:absolute; left:78px; top:50px; width=570; height=420; overflow = auto; border=solid thin #B8D0F0; visibility:visible; z-index:2;; width: 813px; height: 518px"> <p align="center"><strong><font face="Georgia, Times New Roman, Times, serif" color="#000099">Lista de Alumnos</font><font face="Arial" color="#408080" > </font></strong></p> <%
25
<% rs = stmt.executeQuery("Select * from alumnos"); while(rs.next()) {%> <tr> <td bgcolor="#B8D0F0"><small><font face="Arial"><%=rs.getString("nomrbe")%></font></small></td> <td bgcolor="#B8D0F0"><small><font face="Arial"><%=rs.getString("apellido")%></font></small></td> <td bgcolor="#B8D0F0"><small><font face="Arial"><%=rs.getString("direccion")%></font></small></td> <td bgcolor="#B8D0F0"><small><font face="Arial"><%=rs.getString("telefono")%></font></small></td> </tr> <%}%> </table> <% } catch(Exception e) { System.out.println("Error al conectarse: "+e.toString()); }%> <form name="form1" method="post" action="VerificaAlumnos.jsp"> <p align="center"><strong><font face="Georgia, Times New Roman, Times, serif" color="#000099">Registro de Alumnos</font><font face="Arial" color="#408080" > </font></strong></p> <table border="1" cellpadding="0" cellspacing="1" width="100%"> <tr> <td bgcolor="#B8D0F0" width="27%"><small><font face="Arial">Nombre</font></small></td> <td width="73%" align="center" bgcolor="#B8D0F0"><small><font face="Arial"> <input type="text" name="nombre" size="80" maxlength="75"> </font></small> </td> </tr> <tr> <td bgcolor="#B8D0F0" width="27%"><small><font face="Arial">Apellido</font></small></td> <td width="73%" align="center" bgcolor="#B8D0F0"><small><font face="Arial"> <input type="text" name="apellido" size="80" maxlength="75"> </font></small> </td> </tr>
<tr> <td bgcolor="#B8D0F0" width="27%"><small><font face="Arial">Direccion</font></small></td> <td width="73%" align="center" bgcolor="#B8D0F0"><small><font face="Arial"> <input type="text" name="direccion" size="80" maxlength="75"> </font></small> </td> </tr> <tr> <td bgcolor="#B8D0F0" width="27%"><small><font face="Arial">Telefono</font></small></td> <td width="73%" align="center" bgcolor="#B8D0F0"><small><font face="Arial"> <input type="text" name="telefono" size="80" maxlength="75"> </font></small> </td> </tr> </table> <br> <center> <input type="submit" name="btnContinuar" value="Registrar"> </center> </form> </div> </body> </html>
26
VerificaAlumnos.jsp
<html> <head> <title>Alumnos</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <%@ page import="java.sql.*" %> <jsp:useBean id="alum" class="dcc.alumnos" scope="application" />
<body bgcolor="#FFCCCC"> <div Id="scroll" Style="position:absolute; left:259px; top:122px; width=570; height=420; overflow = auto; border=solid thin #B8D0F0; visibility:visible; z-index:2;; width: 509px; height: 183px"> <br> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tr> <td width="40%" align="center" bgcolor="#0068C0"><font face="Arial" color="#FFFFFF"><b><font face="Georgia, Times New Roman, Times, serif">Resultados</font></b></font></td> <tr> </tr> </table>
<br> <jsp:setProperty <jsp:setProperty <jsp:setProperty <jsp:setProperty name="alum" name="alum" name="alum" name="alum" property="nombre" param="nombre"/> property="apellido" param="apellido"/> property="direccion" param="direccion"/> property="telefono" param="telefono"/>
<% if (alum.NuevoAlumno()) { %> <p align="center"><strong><font face="Georgia, Times New Roman, Times, serif" color="#000099">El alumno</font><font face="Arial" color="#408080" > <jsp:getProperty name="alum" property="nombre" /> <jsp:getProperty name="alum" property="apellido" /> <font face="Georgia, Times New Roman, Times, serif" color="#000099">se registro correctamente!!!</font> </font></strong></p> <% } else { %> <p align="center"><strong><font face="Arial" color="#408080" > <font face="Georgia, Times New Roman, Times, serif" color="#000099">Se ha generado un error y no se grabo el alumno</font> <jsp:getProperty name="alum" property="nombre" /> <jsp:getProperty name="alum" property="apellido" /> <font face="Georgia, Times New Roman, Times, serif" color="#000099">Verifique...! </font> </font></strong></p> <% } %> <form name="form1" method="post" action="Alumnos.jsp"> <center> <input type="submit" name="btnContinuar" value="Continuar"> </center> </form> </div> </body> </html>
27
Bean Alumnos.java
package dcc; import java.sql.*; public class alumnos { private String nombre; private String apellido; private String direccion; private String telefono; private Connection cn; public void setCn(Connection cn) { this.cn=cn; } public Connection getCn() { return(cn); } public void setNombre(String nombre) { this.nombre=nombre; } public String getNombre() { return(nombre); } public void setApellido(String apellido) { this.apellido=apellido; } public String getApellido() { return(apellido); } public void setDireccion(String direccion) { this.direccion=direccion; } public String getDireccion() { return(direccion); } public void setTelefono(String telefono) { this.telefono=telefono; } public String getTelefono() { return(telefono); }
public boolean isAlumno(String nombre) { Statement st; String sqlQuery; if (cn!=null) { try { st= cn.createStatement(); sqlQuery="Select * from alumnos where nomrbe='"+nombre.trim()+"'"; ResultSet rs=st.executeQuery(sqlQuery); if (rs.next()) { this.nombre=nombre; apellido=rs.getString("apellido").trim(); direccion=rs.getString("direccion").trim(); telefono=rs.getString("telefono").trim(); rs.close(); return(true); } else { this.nombre=""; apellido=""; direccion=""; telefono=""; rs.close(); return (false); } }
28
//try catch(SQLException e) { this.nombre=""; apellido=""; direccion=""; telefono=""; return (false); } } else return(false); } public boolean NuevoAlumno() { Statement st; String sqlInsert; if (cn!=null) { try { st= cn.createStatement(); sqlInsert="INSERT INTO alumnos VALUES('"+ nombre.trim() + "','"+ apellido.trim()+"','"+direccion.trim()+"','"+telefono.trim()+"')"; st.executeUpdate(sqlInsert); return(true); } catch(SQLException e) { return(false); } } else return(false); } }
29