Professional Documents
Culture Documents
EN ENTORNO SERVIDOR
CAPTULO 8:
Generacin dinmica de pginas Web interactivas
Marcos Lpez Sanz
Juan Manuel Vara Mesa
Jenifer Verde Marn
Diana Marcela Snchez Fquene
Jess Javier Jimnez Hernndez
Valeria de Castro Martnez
Pgina Web interactiva
o HTML Server Controls: son los mismos que los de HTML pero a nivel de servidor.
o ASP.Net Web Forms Controls: son como los de HTML en el lado del servidor.
Ejemplo: TextBox, Buttons, etc.
<html>
<body>
<form runat="server">
<asp:TextBox id="tb1" Text="Name" runat="server" />
</form>
</body>
</html>
<html>
<head><title>Ttulo de ASP</title></head>
<body>
<!-- #include file="libreria.asp" -->
<% call CabeceraPagina %>
<% call MenuPagina %>
Contenido de la Pgina
<% call PiePagina %>
</body>
</html>
Ejemplo librera:
<%
sub CabeceraPagina
%>
<p>Cabecera de la pginas</p><hr>
<%
end sub
sub MenuPagina
%>
<p>Menu de la pgina</p>
<%
end sub
sub PiePagina
%>
<p>Pie de la pgina</p>
<%
end sub
%>
Ejemplo:
<?php
include "funciones.php";
$cateto1 = 10;
$cateto2 = 5;
$hipotenusa = calculaHipotenusa($cateto1, $cateto2);
Ejemplo librera:
<?php
function calculaHipotenusa($arg1, $arg2){
$hipotenusa = sqrt($arg1*$arg1+$arg2*$arg2);
return $hipotenusa;
}
?>
if valor=1 then
response.write("Has pulsado si, valor: " & valor)
else
response.write("Has pulsado no, valor: " & valor)
end if
%>
</body>
</html>
<html>
<head><title>Ttulo destino uno PHP</title></head>
<body>
<?php
$valor = $_GET["id"];
if ($valor == 1){
echo "Estas en el DESTINO 1, valor: ".$valor);
}else{
echo "El parmetro id no es 1, es: ".$valor);
}
?>
</body>
</html>
package es.serv.paquete;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
if("1".equals(idServlet)){
response.sendRedirect("destinoUNO.jsp");
}else{
response.sendRedirect("destinoDOS.jsp");
}
}
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)throws ServletException,
IOException {
processRequest(request, response);
}
}
<script runat="server">
Sub submit(sender As Object, e As EventArgs)
If Page.IsValid Then
lbl1.Text="La pgina es vlida."
Else
lbl1.Text="La pgina no es vlida!!"
End If
End Sub
</script>
filter_input_array()
Obtiene varios campos de entrada y filtros con el mismo
o diferente filtro.
if(request.getParameter("nombre")!=null){
nombre = request.getParameter("nombre");
}
String error1 = request.getParameter("error1");
%>
Ejemplo (servlet):
package es.serv.capitulo2;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
Ejemplo (servlet):
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String nombre = request.getParameter("nombre");
if("".equals(nombre)){
response.sendRedirect("
formulario.jsp?nombre=&error1=1");
}else{
response.sendRedirect("
formulario.jsp?nombre="+nombre+"&error1=2");
}
}
Ejemplo (servlet):
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
processRequest(request, response);
}
}
Ventaja:
o La flexibilidad que supone a la hora de generar pginas interactivas
tanto a nivel visual como funcional.
Inconveniente:
o Al ejecutarse el cdigo en el navegador del cliente, la fiabilidad de
que ciertos procesos se realizan de una forma correcta es nula.