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.