Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Actualizacion Web

  • Loading branch information...
commit 08088e69f8569e22193b25105b794772e8daf6a2 1 parent bb84ce5
@jquemada jquemada authored
View
BIN  .DS_Store
Binary file not shown
View
53 t5.1-TCP-ej/ServWebPattern.java
@@ -1,53 +0,0 @@
-import java.util.*; import java.io.*; import java.net.*;
-
-public class ServWebPattern {
- public static void main (String args[]) {
-
- try {
- byte[] body, header, lc = {13,10};
- String l, code, x, path="", CR_LF = new String(lc,"US-ASCII");
- int j, n = 0;
-
- ServerSocket serv = new ServerSocket(8080);
- System.out.println("showserver created at port 8080.");
-
- while (true) {
- Socket c = serv.accept();
- LineNumberReader netIn = new LineNumberReader(
- new InputStreamReader(c.getInputStream(), "UTF-8"));
- OutputStream netOut = c.getOutputStream();
-
- System.out.println(l = URLDecoder.decode(netIn.readLine(), "UTF-16"));
- if (l.matches("GET .*")) {
- path=l.replaceFirst("GET[ ]+/([^ \\&#]*)[ \\&#].*", "$1" );
- if ((path.matches(""))||(path.matches(".*/"))) { path += "index.html" ; }
-
- while (!(x = netIn.readLine()).equals("")) { System.out.println(x); }
-
- try {
- RandomAccessFile i = new RandomAccessFile(path, "r");
- i.read(body = new byte[(int)i.length()]);
- code = "200 OK";
-
- } catch (FileNotFoundException f) {
- body = ("<html><body><h1> Recurso no encontrado </h1>"
- + path + "</body></html>").getBytes("US-ASCII");
- code ="404 Not Found";
- }
-
- } else {
- body = ("<html><body><h1>Comando desconocido</h1></body></html>").getBytes("US-ASCII");
- code = "400 Bad Request";
- }
-
- header = ("HTTP/1.0 " + code.toString() + CR_LF + "Content-type: text/html" + CR_LF +
- "Content-length: " + String.valueOf(body.length) + CR_LF + CR_LF).getBytes("US-ASCII");
- netOut.write(header);
- netOut.write(body);
- netOut.flush();
- c.close();
- }
- }
- catch (IOException e) { System.err.println(e); }
- }
-}
View
BIN  t8.1-Web-ej/.DS_Store
Binary file not shown
View
0  t5.1-TCP-ej/15-contruccion_de_urls.rb → t8.1-Web-ej/e05-contruccion_de_urls.rb
File renamed without changes
View
0  t5.1-TCP-ej/16-url_encode.rb → t8.1-Web-ej/e06-url_encode.rb
File renamed without changes
View
0  t5.1-TCP-ej/17-acceso_a_traves_de_url.rb → t8.1-Web-ej/e07-acceso_a_traves_de_url.rb
File renamed without changes
View
52 t8.1-Web-ej/e10-WebServer.java
@@ -0,0 +1,52 @@
+import java.util.*; import java.io.*; import java.net.*;
+
+public class WebServer {
+ public static void main (String args[]) throws Exception {
+
+ byte[] body;
+ String line, code, path="";
+
+ ServerSocket serv = new ServerSocket(8081);
+ System.out.println("Server created at port 8080.");
+
+ while (true) {
+ try {
+ Socket c = serv.accept(); // Acepta conexiones de cliente
+ BufferedReader netIn = new BufferedReader(
+ new InputStreamReader(c.getInputStream(), "UTF-8")); // Reader de entrada (UTF-8)
+ OutputStream netOut = c.getOutputStream(); // Salida: stream de bytes compatible UTF-8 y binario
+
+ System.out.println(line = URLDecoder.decode(netIn.readLine(), "UTF-16")); // Decodifica URL (xxx-urlencoded)
+ if (line.matches("GET .*")) {
+ System.out.println("Path: " + path=line.replaceFirst("GET[ ]+/(.*) .*", "$1" )); // Analiza si es un comando GET y extrae “path”
+ if ((path.matches(""))||(path.matches("/$"))) { path += "index.html" ; } // inserta “index.html” si directorio
+
+ while (!("".equals(line = netIn.readLine()))) { System.out.println(line); } // lee el resto de la cabecera
+
+ try {
+ RandomAccessFile i = new RandomAccessFile(path, "r"); // Abre fichero
+ i.read(body = new byte[(int)i.length()]); // Lee fichero UTF-8 o binario
+ code = "200 OK";
+
+ } catch (FileNotFoundException f) { // Si fichero no existe catura excepción
+ body = ("<html><body><h1> Recurso no encontrado </h1>" // y prepara respuesta
+ + path + "</body></html>").getBytes("UTF-8");
+ code ="404 Not Found";
+ }
+
+ } else { // Si comando no es GET, devuelve "404 Bad Request"
+ body = ("<html><body><h1>Comando desconocido</h1></body></html>").getBytes("UTF-8");
+ code = "400 Bad Request";
+ }
+
+ netOut.write(("HTTP/1.0 " + code + "\r\n").getBytes("UTF-8"));
+ netOut.write(("Content-type: ?????" + "\r\n").getBytes("UTF-8"));
+ netOut.write(("Content-length: " + body.length + "\r\n" + "\r\n").getBytes("UTF-8"));
+ netOut.write(body); // Envía UTF-8 si fichero html y binario si binario
+ netOut.flush();
+ c.close();
+ }
+ catch (IOException e) { System.err.println(e); }
+ }
+ }
+}
View
0  t5.1-TCP-ej/20-servidor_web.rb → t8.1-Web-ej/e10-servidor_web.rb
File renamed without changes
View
0  t5.1-TCP-ej/20-servidor_webObj.rb → t8.1-Web-ej/e10-servidor_webObj.rb
File renamed without changes
View
24 t8.1-Web-ej/e20-ejemploHTML.htm
@@ -0,0 +1,24 @@
+<html>
+ <head>
+ <meta http-equiv="Content-type"
+ content="text/html; charset=utf-8" >
+ <title> Ejemplo página HTML</title> </head>
+ <body>
+ <h1> Ejemplo de Cabecera</h1>
+
+ <!-- Esto es un comentario -->
+
+ Acceda al <a href="http://www.w3schools.com/html/">
+ tutorial de HTML de W3C Schools</a>. <p>
+ A continuación aparece una lista y una tabla
+
+<ul>
+ <li> elemento <font color=red>rojo</font> </li>
+ <li> elemento <strong>en negrita</strong> </li>
+ <li> elemento <sub>con subíndice</sub> </li> </ul>
+
+<table border>
+ <tr> <td>Primera celda <br> de la tabla</td>
+ <td><img SRC="e20-iconos.gif"></td> </tr>
+ <tr> <td>Celda 21</td>
+ <td>Celda 22</td> </tr> </table> </body> </html>
View
BIN  t8.1-Web-ej/e20-iconos.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
33 t8.1-Web-ej/e22-form.htm
@@ -0,0 +1,33 @@
+<html>
+ <head>
+ <meta http-equiv="Content-type"
+ content="text/html; charset=utf-8" >
+ <title> Formulario </title> </head>
+ <body>
+ <form method=get
+ action="http://localhost:22000/cgi-bin/aut">
+
+ <h1>Envíe sus datos</h1>
+
+ <input type="hidden" name="id" value="1897">
+
+ <label for="nombre"> Nombre: </label>
+ <input type="text" name="nombre" autofocus
+ value="José García" ><p>
+
+ <input type="radio" name="sexo"
+ value="hombre"> Hombre
+ <input type="radio" name="sexo"
+ value="mujer" checked> Mujer<p>
+
+ <label for="profesion"> Profesión: </label>
+ <select name="profesion">
+ <option> Médico</option>
+ <option selected> Ingeniero</option>
+ <option> Abogado</option> </select><p>
+
+ <textarea name="msj" rows=2 cols=30>
+ Deje su mensaje aquí</textarea><p><p>
+
+ <input type=reset value="Inicializar" disabled><br>
+ <input type=submit value="Envíar"> </form> </body> </html>
View
29 t8.1-Web-ej/e25-ejemploHTML-CSS.htm
@@ -0,0 +1,29 @@
+<HTML>
+<HEAD><TITLE>Ejemplo página HTML</TITLE>
+<link rel="stylesheet" href="e25-ejemploHTML.css" type="text/css" />
+</HEAD>
+
+<BODY>
+<H1> Ejemplo de Cabecera </H1>
+
+<!-- Esto es un comentario -->
+
+Acceda al
+<A HREF="http://www.w3schools.com/html/">
+tutorial de HTML de W3C Schools</A>. <p>
+A continuación aparece una lista y una tabla
+
+<UL>
+<LI> elemento <FONT COLOR=red>rojo</FONT> </LI>
+<LI> elemento <STRONG>en negrita</STRONG> </LI>
+<LI> elemento <SUB>con subíndice</SUB> </LI>
+</UL>
+
+<TABLE BORDER>
+ <TR> <TD>Primera celda <br> de la tabla</TD>
+ <TD><IMG SRC="e20-iconos.gif"></TD> </TR>
+ <TR> <TD>Celda 21</TD> <TD>Celda 22</TD> </TR>
+</TABLE>
+
+</BODY>
+</HTML>
View
16 t8.1-Web-ej/e25-ejemploHTML.css
@@ -0,0 +1,16 @@
+/* Ejemplo de hoja de estilo */
+
+
+h1 {color: red;
+ background-color: #ABD;}
+
+ul {color: blue;
+ font-size: smaller;
+ font-style: italic;
+ background-color: #ABD;}
+
+
+table {border-collapse: separate;
+ border-spacing: 5px 5px;
+ background-color: #8BD;}
+
View
32 t8.1-Web-ej/e27-columnas.css
@@ -0,0 +1,32 @@
+/* Hoja de estilo para Columnas.xml */
+
+
+body {margin: 10px; padding: 10px}
+
+.container {position: relative;
+ width: 450px;
+ border: solid 1px;
+ background: #ABD; }
+
+.cabecera {background: #BCE;
+ padding: 5px;
+ font-weight: bold;
+ font-size: 24pt;
+ text-align: center}
+
+.principal {float: right;
+ padding: 1%;
+ background: #CDF;
+ width: 80%}
+
+.lateral {padding: 1%;
+ font-size: 8pt; }
+
+.pie {clear: both;
+ hight: 50px;
+ background: #89B;
+ text-align: left;
+ font-size: 8pt;
+ font-weight: bold;}
+
+
View
48 t8.1-Web-ej/e27-columnas.htm
@@ -0,0 +1,48 @@
+<HTML>
+<HEAD><TITLE>Ejemplo página HTML</TITLE>
+
+<link rel="stylesheet" href="e27-columnas.css" type="text/css" />
+</HEAD>
+
+<BODY>
+
+<div class="container">
+
+<h1 class="cabecera"> Ejemplo de Pagina con 2 Columnas </h1>
+
+<div class="principal">
+
+<H2 class="h2">Página formateada con CSS </H2>
+
+Esta es la columna principal de
+esta pagina Web formateada con CSS, que incluye
+cabecera, 2 columnas y pie de página.
+
+<UL>
+<LI> Para formatear los bloques se delimitan con
+<blockquote><strong>&lt;div class="TipoBloque"> .. &lt;/div></strong></blockquote></LI>
+<LI> <strong>class="TipoBloque"</strong> se utiliza para definir cual es el formato de cada tipo de bloque</LI>
+<LI> Cada <em>TipoBloque</em> se formatea con un comando CSS.
+<blockquote><strong>TipoBloque {propiedad: valor; ...}</strong></blockquote></LI>
+</UL>
+
+</div>
+
+<div class="lateral">
+<H3 class="h3"> Enlaces </H3>
+
+<A HREF="http://www.w3c.es/Divulgacion/GuiasReferencia/CSS21/">W3C-CSS2.1</A> <br>
+<A HREF="http://www.w3c.es/divulgacion/guiasbreves/HojasEstilo">W3C-CSS</A> <br>
+<A HREF="http://www.w3schools.com/css/"> W3C-School</A> <br>
+
+
+</div>
+
+<div class="Pie">
+ --->> Texto a pie de página
+</div>
+
+</div>
+
+</BODY>
+</HTML>
Please sign in to comment.
Something went wrong with that request. Please try again.