Download Examen jsp 2013-2014
Document related concepts
no text concepts found
Transcript
Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 1 Unidad 5 Programación JSP Nota: ____________________________ Alumno: ____________________________________________ 1. Rellena con el código necesario para obtener la tabla de multiplicar soportada por el siguiente enlace: (1 p) <a href="jsps/tabla.jsp?tabla=100&ci=4&cs=12">Tabla de Multiplicar href</a> tabla.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="java.lang.*,java.util.*"%> <!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> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 2 2. Rellena la siguiente tabla añadiendo un ejemplo: (1 p) Síntaxis <%= XXXXXX %>; <% XXXXXX %>; <%! XXXXXX %> <%@ XXXXXX %> Interpretación Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 3 3. Rellena con el código necesario para realizar un contador web. (1.5 p) contador.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="java.lang.*,java.util.*"%> <!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> <h1>Contador</h1> <% String aux=request.getParameter("valor"); String aux1=request.getParameter("action"); int valor=0; if ( ) { try { } catch(Exception error) { } } %> <h3> </h3> <a href=" ">+</a><br> <a href=" ">-</a><br> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 4 4. Rellena con el código necesario para realizar un contador web utilizando sesiones. (1 p) contador.jsp <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <!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> <% HttpSession repositorio=request.getSession(); Integer aux=(Integer)repositorio.getAttribute("contador"); String aux1=request.getParameter("action"); int valor=0; if (aux==null) { } else { repositorio.setAttribute("contador",new Integer(valor)); } %> <h3><%=valor%></h3> <a href="contador.jsp?action=mas">+</a><br> <a href="contador.jsp?action=menos">-</a><br> <a href="logout.jsp">Salir</a><br> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 5 5. Rellena con el código necesario para plasmas el Manejo de Sesiones para el acceso a zona privada. (1.5 p) INDEX.JSP <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="java.lang.*,java.util.*"%> <!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"> </head> <body> <h3>Registro Usuario.- </h3> <form action="check.jsp"> Nombre:<input type="text" name="nombre" value="<%=cookie%>" /><br> Pass:<input type="password" name="pass" value="" /><br> <input type="submit" value="Enviar" /><br> <input type="reset" value="Limpiar" /><br> </form> </body> </html> CHECK.JSP Consideramos que hay un único usuario administrador con login “admin” y password “admin”.Si la validación no es correcta de redirige al fichero error.jsp con dos parámetros uno indica el código y otro el texto a visualizar. <%@page import="java.lang.*,java.util.*"%> <% %> ERROR.JSP Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 6 Se recoge dos parámetros indicando el primero el código de error y con el segundo el texto explicativo. <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="java.lang.*,java.util.*"%> <!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> <% %> ESCRITORIO_ADMIN.JSP Poner el código que permita que un usuario que no se ha validado no pueda acceder a la página <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <!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> <h3>Escritorio del Administrador</h3> <% %> …. Resto de la página </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 7 6. Realización de un registro por etapas y posterior visualización de los datos introducidos. (1.5 p) REGISTRO_USU.JSP <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <!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> <h3>Registro Usuairo.- Paso 1.-</h3> <form action="reg_aux.jsp"> Nombre:<input type="text" name="nombre" value="" /><br> Pass:<input type="password" name="pass" value="" /><br> <input type="submit" value="Enviar" /><br> <input type="reset" value="Limpiar" /><br> </form> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 8 REG_AUX.JSP <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="paquete3.*"%> <!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> <% HttpSession repositorio=request.getSession(); String nombre=request.getParameter("nombre"); String pass=request.getParameter("pass"); if (nombre==null || pass==null) { } else { } %> <h3>Registro Usuario.- Paso 2.-</h3> <form action="reg_aux1.jsp"> E_mail:<input type="text" name="mail" value="" /><br> sexo:<br> M <input type="radio" name="sexo" value="1" checked="checked" /><br> H <input type="radio" name="sexo" value="0" /><br> Aficiones:<br> afi 1:<input type="checkbox" name="afi" value="1"/><br> afi 2:<input type="checkbox" name="afi" value="2"/><br> afi 3:<input type="checkbox" name="afi" value="3"/><br> afi 4:<input type="checkbox" name="afi" value="4"/><br> <input type="submit" value="enviar" /> <input type="submit" value="limpiar" /> </form> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 9 REG_AUX1.JSP <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="paquete3.*"%> <!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> <script language="JavaScript"> function checkCheckBox(f) { if (f.agree.checked==false) { alert('Por favor Aceptar antes de Continuar.'); return false; } else { return true; } } </script> </head> <body> <% if (mail==null || sexo==null || afi==null) { repositorio.invalidate(); %> <script language="JavaScript"> location.href="registro_usu.jsp" </script> <% } else { } %> <h1>Registro Usuario.- Paso 3.-</h1> <form action="ver.jsp" onsubmit="return checkCheckBox(this)"> <font color="#990000">Aceptas las condiciones?: si</font> <input Type="checkbox" value="0" name="agree"> <input Type="submit" value="Aceptar"> </form> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 10 VER.JSP <%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="paquete3.*"%> <!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> <h3>Ver Datos Registro</h3> <% HttpSession repositorio=request.getSession(); Usuario a=(Usuario)repositorio.getAttribute("usu"); %> </body> </html> Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 11 7. Cuestionario…………(2.5 puntos) 1. Los servlets y Java Server Pages (JSPs) son: A. métodos de creación de páginas web estáticas en servidor usando el lenguaje PHP. B. métodos de creación de páginas web estáticas en servidor usando el lenguaje Java. C. métodos de creación de páginas web dinámicas en servidor usando el lenguaje Java. D. Todas las cuestiones son falsas 2. Encerramos el código de las partes dinámicas en unas etiquetas especiales, la mayoría de las cuales son: A. B. C. D. <%= expression %>; <% code %>; <%@ page att="val" %> <%! code %> 3. Los elementos de script nos permiten especificar código Java que se convertirá en parte del servlet resultante, las directivas JSP nos permiten configurar alguna información que pueda ser usada en nuestra página JSP, dichas directivas se explicitan mediante: A. B. C. D. <%= expression %>; <% code %>; <%@ page att="val" %> <%! code %> 4. Los elementos de script nos permiten insertar código Java dentro del servlet que se generará desde la página JSP actual. Hay tres formas: Expresiones de la forma ____1____ que son evaluadas e insertadas en la salida. Scriptlets de la forma ____2____ que están formados por código puro java, y declaraciones de la forma ____3____ que se utilizan para entre otras cuestiones crear métodos. A. B. C. D. 1:<%@--- %> 2:<%! ---%> 3:<%= ---%> 1:<%!---- %> 2:<%= ---%> 3:<%--- %> 1:<%= ----%> 2:<% --- %> 3:<%!----%> Todas las afirmaciones son falsas 5. En JSP hay un gran número de variables predefinidas entre las que hemos visto están: A. B. C. D. request, session, out request, System, out for, session, out request, String, out Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 12 6. Para recoger los datos que llegan desde la barra del navegador, java utiliza una variable predefinida denominada ____1____con la que utiliza el metodo ____2____ A. B. C. D. 1: session 2:getParameter 1: out 2:getParameterValues 1: request 2:getParameter Todas las afirmaciones son incorrectas 7. En el caso de tener un campo/atributo que puede devolver más de un valor precisamos (considerando este caso): <input type="checkbox" id="aviso" name="aviso" value="0" /> <label for="aviso">Primero</label> <input type="checkbox" id="aviso" name="aviso" value="1" /> <label for="aviso">Segundo</label> <input type="checkbox" id="aviso" name="aviso" value="2" /> <label for="aviso">Tercero</label> ... <input type="checkbox" id="aviso" name="aviso" value="6" /> <label for="aviso">Séptimo</label> A. B. C. D. request.getParameterValues("checkbox") request.getParameter("aviso") out.getParameterValues("aviso") request.getParameterValues("aviso") 8. En el caso de tener un campo/atributo que puede devolver más de un valor precisamos (considerando este caso): <input type="checkbox" id="aviso" name="aviso" value="0" /> <label for="aviso">Primero</label> <input type="checkbox" id="aviso" name="aviso" value="1" /> <label for="aviso">Segundo</label> <input type="checkbox" id="aviso" name="aviso" value="2" /> <label for="aviso">Tercero</label> ... <input type="checkbox" id="aviso" name="aviso" value="6" /> <label for="aviso">Séptimo</label> Luego cuando lo recibes te devuelve un: A. B. C. D. Integer String[] String Integer[] 9. Respecto a las sesiones: A. No es aconsejable utilizarlas para la identificación de usuarios y control de acceso a zonas privadas. B. Es importante para no perder información al ir navegando por el entorno web como es el caso del carrito de la compra. C. Las sesiones se caracterizan por guardarse en el cliente. D. Todas las afirmaciones son correctas. Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 13 10. Para obtener la sesión de un usuario se utiliza el método _______ que devuelve una interfaz de tipo HttpSession. <% HttpSession sesion=request.________(); %> A. B. C. D. getSession(). getParameter(). getParameterValues(). getElementById(). 11. Para guardar un objeto en una sesión se utiliza el método: <% HttpSession sesion=request.getSession(); sesion._____________ (“perfil”,new Integer(1)); %> A. B. C. D. getSession(). setAttribute(). getParameterValues(). getElementBayId(). 12. Para recuperar un objeto en una sesión de tipo String: A. Opción 1: <% HttpSession sesion=request.getSession(); String nombre=sesion.getAttribute(“nombre”); out.println(“Contenido de nombre: “+nombre); %> B. Opción 2: <% HttpSession sesion=request.getSession(); String nombre=(String)sesion.getAttribute(“nombre”); out.println(“Contenido de nombre: “+nombre); %> C. Opción 3: <% HttpSession sesion=request.getSession(); String nombre=(String)sesion.setAttribute(“nombre”); out.println(“Contenido de nombre: “+nombre); %> D. Opción 4: <% Profesor: Juan Antonio López Quesada. Ciclo Formativo de Grado Superior: IAW WEB: http://dis.um.es/~lopezquesada Pag. 14 HttpSession sesion=request.getSession(); String nombre=sesion.setAttribute(“nombre”); out.println(“Contenido de nombre: “+nombre); %> 13. Si no existe ningún objeto almacenado en la sesión bajo el identificador que se utiliza en el método de recogida de objetos en la sesión, el valor devuelto será: A. B. C. D. null 1 0 Todas las afirmaciones son incorrectas 14. ______________ este método destruye la sesión de forma explícita, y libera de memoria todos los objetos (atributos) que contiene la sesión. A. B. C. D. null() setAttribute() getAttribute() invalidate() 15. Para recoger el valor introducido en un campo input con el método asociado a la variable predefinida request, que hay que tener en consideración: A. B. C. D. El valor del atributo id=”” de la etiqueta input. El valor del atributo name=”” de la etiqueta input. El valor del atributo class=”” de la etiqueta input. El valor del atributo type=”” de la etiqueta input.