Recomendado: sobre la separación del código y la página ASP Para evitar las dificultades de mantenimiento causadas por el malentendido del código TML del programa ASP, este artículo presenta un método para usar plantillas para separar programas y páginas para facilitar la programación. Al usar ASP para crear un sitio, a menudo aparece un archivo ASP, el código de programa y HTM
Hay muchos beneficios para convertir páginas dinámicas para generar archivos HTML estáticos, como la generación de páginas web HTML es propicio para ser incluido por los motores de búsqueda (especialmente para páginas que aceptan parámetros dinámicos). Al acceder a la recepción, se separa del acceso a los datos, aliviando la presión sobre el acceso a la base de datos y acelerando la apertura de las páginas web.
Por supuesto, todo tiene sus ventajas y desventajas. La generación de páginas HTML consume invisiblemente mucho espacio en disco para almacenar estos archivos estáticos. Además de leer y escribir la base de datos durante el proceso de edición, también debe leer y escribir el disco del servidor. Los cambios en los estilos de página deben regenerar todos los archivos HTML, etc.
Por ejemplo, muchos motores de búsqueda pueden enviar una lista de direcciones de página del sitio web. La inclusión de archivos dinámicos ya no es un problema (como Google Sitemap). Tenemos que medir y comprender las ganancias y pérdidas por nosotros mismos, pero pase lo que pase, todavía necesitamos saber cómo operar. Aquí citaré los artículos de otras personas para explicar varias ideas de generación común para su referencia.
1. El siguiente ejemplo usa directamente FSO para escribir el código HTML en un archivo y luego generar un formato de archivo .html. Este es el más primitivo. La ventaja es que es simple, y la desventaja es que la modificación de la página es inconveniente. El lugar que suelo usar es usarlo para generar todo el archivo de parámetros del sitio. (Por lo general, el sitio web como el título, el nombre, etc. se almacenan en la base de datos. Generado config.asp para guardar estas llamadas variables para evitar el acceso frecuente a la base de datos)
| El siguiente es el contenido citado: <% FileName = test.htm Si solicita (cuerpo) <> entonces establecer fso = server.createObject (scripting.filesystemObject) Establecer htmlwrite = fso.createTextFile (Server.Mappath (& FileName &)) htmlwrite.write < html> < head> < title> & request.form (title) & </title> </head> htmlwrite.write < cuerpo> contenido de título de salida: & request.form (title) & < br/> contenido del cuerpo de salida: & request.form (cuerpo) & </cuerpo> </html> htmlwrite.close establecer fout = nada Establecer FSO = nada final si %> < Nombre de formulario = Form Método = Post Action => < Nombre de entrada = Valor de título = Title Size = 26> <BR> < Textarea Name = Body> Body </TextAREA> <BR> <BR> < Tipo de entrada = Subt Name = Subt Value = Generar html> </Forma> |
2. Sin embargo, es muy inconveniente generar un archivo HTML de acuerdo con el método anterior. El segundo método es usar la tecnología de plantilla para reemplazar el valor del código especial en la plantilla con el valor aceptado en el formulario o campo de base de datos, completar la función de plantilla y generar archivos HTML con todos los códigos de plantilla que finalmente se reemplazaron. Esta tecnología se usa con más frecuencia, y la mayoría de los CMS usan este método.
| El siguiente es el contenido citado: Template.htm '// archivo de plantilla < html> < Cabeza> < Título> $ Título $ por Cuoxin.com </Título> </cabeza> < Cuerpo> $ cuerpo $ </cuerpo> </html> Testtemplate.asp '// generar html <% Dim FSO, htmlwrite Dim strtitle, strcontent, strout '// crear un objeto del sistema de archivos Establecer fso = server.createObject (scripting.filesystemObject) '// Abra el archivo de plantilla web y lea el contenido de plantilla Establecer htmlwrite = fso.opentextfile (server.mappath (Template.htm)) Struts = F. Readall htmlwrite.close strtitle = el título de la página web generada strContent = el contenido de la página web generado '// reemplazar las etiquetas en la plantilla con contenido real strout = reemplazar (strout, $ title $, strtitle) strout = reemplazar (strout, $ body $, strcontent) '// Cree la página estática que se generará Establecer htmlwrite = fso.createTextFile (server.mappath (test.htm), verdadero) '// Escribir contenido a la página web htmlwrite.writeLine strout htmlwrite.close Respuesta. ¡Escribe la página estática se generó con éxito! '// libera el objeto del sistema de archivos establecer htmlwrite = nada Establecer FSO = nada %> |
3. El tercer método es usar XMLHTTP para obtener el contenido HTML generado por la página dinámica, y luego usar ADODB.Stream o Scripting.FileSystemObject para guardarlo en un archivo HTML. Encuentre un código para generar HTML para XMLHTTP.
| El siguiente es el contenido citado: <% 'Funciones comunes '1. Ingrese la dirección de la página web de destino de URL, y el valor de retorno GethttpPage es el código HTML de la página web de destino función gethttppage (URL) Dim http Establecer http = server.CreateObject (msxml2.xmlhttp) Http.open get, url, falso Http.send () Si http.readyState <> 4 entonces entonces función de salida final si gethttppage = bytestobstr (http.ResponseBody, GB2312) Establecer http = nada Si err.number <> 0 entonces Err.Clear función final '2. Convierta Lanma, llame directamente a una página web con caracteres chinos con XMLHTTP, obtendrá Lanma, que se puede convertir a través del componente ADODB.Stream. Función bytestobstr (cuerpo, cset) dim objstream Establecer objstream = server.createObject (ADODB.Stream) objstream.type = 1 objstream.mode = 3 objstream. objstream.write cuerpo objstream.position = 0 objstream.type = 2 objstream.charset = cset Bytestobstr = objstream.readText objstream.close establecer objstream = nada Función final txturl = server.mappath (../ index.asp) stext = gethttppage (txturl) Establecer fileObject = server.CreateObject (scripting.filesystemObject) FileName = ../index.htm Establecer openFile = fileObject.OpentextFile (server.mappath (nombre de archivo), 2, true) 'True se crea por sí mismo si no existe OpenFile.WriteLine (Stext) Establecer OpenFile = nada %> < Script> alerta (se completa la generación de páginas web estáticas); History.back (); </script> |
Resumen, estos tres métodos son los métodos más utilizados para generar archivos HTML. Prefiero usar el tercer método porque los cambios de página son muy convenientes. Incluso si la página dinámica cambia, es bueno. Simplemente use XMLHTTP para leerlo y generarlo una vez más.
Compartir: diseño de compatibilidad de caché para aplicaciones web Después de pasar el proxy, dado que se agrega una capa intermedia entre el cliente y el servicio, el servidor no puede obtener directamente la IP del cliente, y la aplicación del lado del servidor no puede volver directamente al cliente a través de la dirección de reenvío. Sin embargo, en la información del encabezado HTTP de las solicitudes de reenvío, se agrega http_x