FUNDAMENTOS DE SEGURIDAD EN REDES
ANEXO 6: CODIGO FUENTE DE LA APLICACIÓN
Las páginas mostradas a continuación son mostradas en orden para que la aplicación pueda llevar la lógica mostrada en el emulador.
login.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<!--Se ingresa el User y Password para la utenticación del mismo--> <card title="Inicio" id="inicio">
<!--Lee el usuario y el password -->
<p>Usuario: <input name="userinput" format="*x"/></p>
<p>Password: <input name="passwordinput" type="password"/></p> <!--Se oprime el boton Aceptar y se envia la información al servidor --> <do type="accept" label="Aceptar">
<go href="validator.jsp?userinput=$(userinput:e)& passwordinput=$(passwordinput:e)" method="post"/> </do>
<!--Se oprime al boton Borrar para limpiar el usuario y el password --> <do type="reset" label="Borrar">
<refresh>
<setvar name="userinput" value=""/> <setvar name="passwordinput" value=""/> </refresh>
</do> </card> </wml>
validator.jsp
<%@ page import="java.sql.*" %> <%
String connectionURL = "jdbc:mysql://localhost:3306/inventario"; Connection connection = null;
Statement statement = null; ResultSet rs = null;
String usu = request.getParameter("userinput"); String pas = request.getParameter("passwordinput"); Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "", ""); statement = connection.createStatement();
rs = statement.executeQuery("SELECT * FROM login
WHERE user='"+usu+"' and password='"+pas+"'"); out.println("<?xml version='1.0'?>");
out.println("<!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml'>");
out.println("<wml>");
out.println("<card title='Ingreso' id='ingreso'>");
if(rs.next()){
out.println("<p>Bienvenido "+rs.getString("nombre")+".</p>"); out.println("<p>Para continuar oprima <anchor>aquí
<go href='entrada.wml'></go></anchor>.</p>"); }else{
out.println("<p>Usuario invalido.</p>");
out.println("<p>Para continuar oprima <anchor>aqui <go href='login.wml'></go></anchor>.</p>"); } out.println("</card>"); out.println("</wml>"); rs.close(); %>
entrada.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<!--Se muestra la opcion para mostrar la produccion de la ropa de hombre o mujer --> <card title="Principal" id="principal" >
<!-- Al escojer la opcion se para a un nuevo card --> <p>Revisar la produccion de:</p>
<p> <anchor>Hombres <go href="hombre.wml"/> </anchor> </p> <p> <anchor>Mujeres <go href="mujer.wml"/> </anchor> </p> <p> <anchor>Consulta general <go href="general.jsp"/> </anchor> </p> </card> </wml>
hombre.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<!--Se muestra la produccion de la ropa del hombre --> <card title="Hombre" id="hombre">
<p>Escoja la prenda masculina que desea revisar.</p> <p>
<fieldset title="Masculino"> <select name="name">
<option value="busos" onpick="resultado.jsp?
genero=masculino&value=busos" method="post">Busos </option>
<option value="camisas" onpick="resultado.jsp?
genero=masculino&value=camisas" method="post">Camisas </option>
<option value="camisetas" onpick="resultado.jsp?
genero=masculino&value=camisetas" method="post">Camisetas </option>
<option value="chaquetas" onpick="resultado.jsp?
genero=masculino&value=chaquetas" method="post">Chaquetas </option>
<option value="jeans" onpick="resultado.jsp?
genero=masculino&value=jeans" method="post">Jeans </option> </select> </fieldset> </p> </card> </wml>
mujer.wml
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card title="Mujer" id="mujer"><!--Se muestra la producción de la ropa de la mujer --> <p>Escoja la prenda femenina que desea revisar.</p>
<p>
<fieldset title="Femenino"> <select name="onpick">
<option value="blusas" onpick="resultado.jsp?
genero=femenino&value=blusas" method="post">Blusas </option>
<option value="busos" onpick="resultado.jsp?
genero=femenino&value=busos" method="post">Busos </option>
<option value="camisetas" onpick="resultado.jsp?
genero=femenino&value=camisetas" method="post">Camisetas </option>
<option value="chaquetas" onpick="resultado.jsp?
genero=femenino&value=chaquetas" method="post">Chaquetas </option>
<option value="jeans" onpick="resultado.jsp?
genero=femenino&value=jeans" method="post">Jeans </option>
<option value="shorts" onpick="resultado.jsp?
genero=femenino&value=shorts" method="post">Shorts </option> </select> </fieldset> </p> </card> </wml>
general.jsp
<%@ page import="java.sql.*" %> <%
String connectionURL = "jdbc:mysql://localhost:3306/inventario"; Connection connection = null;
Statement statement = null; ResultSet rs = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "", ""); statement = connection.createStatement();
rs = statement.executeQuery("SELECT * FROM produccion");
out.println("<?xml version='1.0'?>");
out.println("<!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml'>");
out.println("<wml>");
out.println("<card title='Bodega' id='bodega'>");
out.println("<p>Estas son las existencias general de todas la prendas.</p>"); while (rs.next()){ out.println("<p><b>Diseño: </b>"+rs.getString("diseno")+"</p>"); out.println("<p><b>Talla: </b>"+rs.getString("talla")+"</p>"); out.println("<p><b>Cantidad: </b>"+rs.getString("cantidad")+"</p>"); out.println("<p><b>Color: </b>"+rs.getString("color")+"</p>"); } out.println("</card>"); out.println("</wml>"); rs.close(); %>
resultado.jsp
<%@ page import="java.sql.*" %> <%
String connectionURL = "jdbc:mysql://localhost:3306/inventario"; Connection connection = null;
Statement statement = null; ResultSet rs = null;
String opc = request.getParameter("value"); String gen = request.getParameter("genero");
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "", ""); statement = connection.createStatement();
rs = statement.executeQuery("SELECT * FROM produccion
WHERE diseno='"+opc+"' and persona='"+gen+"'"); out.println("<?xml version='1.0'?>");
out.println("<!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML 1.1//EN' 'http://www.wapforum.org/DTD/wml_1.1.xml'>");
out.println("<wml>");
out.println("<card title='Bodega' id='bodega'>");
out.println("<p>Estas son las existencias del modelo "+gen+".</p>"); while (rs.next()){ out.println("<p><b>Diseño: </b>"+rs.getString("diseno")+"</p>"); out.println("<p><b>Talla: </b>"+rs.getString("talla")+"</p>"); out.println("<p><b>Cantidad: </b>"+rs.getString("cantidad")+"</p>"); out.println("<p><b>Color: </b>"+rs.getString("color")+"</p>"); } out.println("</card>"); out.println("</wml>"); rs.close(); %>
BIBLIOGRAFIA
• WAP guía practica para usuarios, Autor Andy Dornan, Ediciones ANAYA MULTIMEDIA (GRUPO ANAYA, S.A.), 2001.
• Learning WML y WMLScript, Autor Martin Frost, O’REILLY, Octubre 2000. • http://www.programacion.com/tutorial/tomcatintro/
• http://tomcat.apache.org/
• http://www.apl.jhu.edu/%7Ehall/java/Servlet-Tutorial/
• http://www.apl.jhu.edu/%7Ehall/java/Servlet-Tutorial/Servlet-Tutorial- Overview.html
• Core Servlets and Java Server Pages, Autor Marty Hall, A Sun Microsystem Press/Prentice Hall PTR Book.
Para mayor información: http://pdf.coreservlets.com/
• Emulador WinWap, descargar la versión gratis en la dirección http://www.winwap.com/downloads.php
• Descargar la versión 5 de Apache Tomcat gratis en al dirección http://tomcat.apache.org/download-55.cgi