En la página web, cuando el cliente accede al servidor cada vez, algunos de ellos no necesitan solicitarlo repetidamente. Por ejemplo, algunas imágenes, videos, etc., no hay necesidad de solicitarlo cada vez, lo que aumentará la carga de trabajo del servidor. Para evitar esto, usamos filtros para establecer el cliente para almacenar en caché.
Configuración de caché y no dolor de página y el papel de meta en las páginas HTML
En HTTP 1.1, el control de caché está habilitado para controlar el caché de las páginas. Aquí hay algunos parámetros de uso común:
No-Cache, ni el navegador ni el servidor de caché deben almacenar en caché la información de la página;
público, tanto el navegador como el servidor de caché pueden almacenar en caché la información de la página;
Sin tienda, la información de solicitud y respuesta no debe almacenarse en el sistema de disco de la otra parte;
Imprescindible-revalidar, para cada solicitud del cliente, el servidor proxy debe querer que el servidor verifique que el caché esté desactualizado;
Último modificado solo el último tiempo de generación de la página, formato GMT;
El valor límite expirado expirado, formato GMT, significa que el navegador o el servidor de caché deben obtener información de página nueva del servidor real después de este punto de tiempo;
Los dos valores anteriores se establecen en formato GMT de tipo caracteres en JSP, y no pueden entrar en vigencia, por lo que el tipo largo se establece para entrar en vigencia;
Aquí está el código de filtro que establece sin dejar consolidar:
<span style = "font-size: 24px;"> paquete cn.hncu.filter; import java.io.ioException; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterConfig; import javax.servlet.servletException; import javax.servlet.servletRequest; import javax.servlet.servletResponse; import javax.servlet.http.httpservletRequest; import javax.servlet.http.httpservletResponse; Public Class CacheFilter implementa Filter {@Override public void Destroy () {} </span> <span style = "font-size: 24px;"> @Override public void dofilter (solicitud de servletRequest, respuesta de servicio de servicio, cadena de filtro de filtro) lanza Ioexception, servletException {// filtros tienen muchas funciones. Esto se usa para establecer si el cliente establece caché. Utilizamos la respuesta aquí para notificar al cliente a configurar chain.dofilter (solicitud, respuesta); HttpservletResponse Res = (httpservletResponse) respuesta; res.setheader ("expries", "-1"); res.setheader ("Pragma", "No-Cache"); res.setheader ("Cache-Control", "No-Cache"); /*Lo anterior se puede configurar en no caché, pero también se puede configurar para que sea más completo: // El lado del navegador o el servidor de caché no pueden almacenar en caché la información actual de la página. /* Respuesta.Setheader ("Pragma", "No-Cache"); respuesta.setDateHeader ("expiras", "-1"); Respuesta.AddHeader ("Cache-Control", "No-Cache"); // Ni el navegador ni el servidor de caché deben la información de la página de caché. Cliente, el servidor proxy debe querer que el servidor verifique si el caché está desactualizado; } @Override public void init (FilterConfig Arg0) lanza ServletException {}} </span> <span style = "font-size: 18px;"> </span>A continuación se muestra el archivo de filtro que establece el caché
paquete cn.hncu.filter; import java.io.ioException; import java.util.date; import javax.servlet.filter; import javax.servlet.filterchain; import javax.servlet.filterConfig; import javax.servlet.servletException; import javax.servlet.servletRequest; import javax.servlet.servletResponse; import javax.servlet.http.httpservletResponse; Public Class CacheFilter2 Implementa el filtro {@Override public void Destroy () {} @Override public void dofilter (ServletRequest Solicitud, respuesta de servicio de servicio, FilterChain Chain) lanza IOException, servletException {// Los filtros tienen muchas funciones. Esto se usa para establecer si el cliente establece caché. Utilizamos la respuesta para notificar al cliente para establecer el caché // Establecer el caché durante 1 día aquí para habilitar el recurso de la clase de imagen y video (configure la ruta de intercepción correspondiente en el filtro) para requerir que el navegador del cliente esté en caché durante 1 día) // ruta de interceptación configurar cadena. res = (httpservletResponse) respuesta; Fecha d = nueva fecha (); Mucho tiempo = d.gettime ()+60*60*24; // res.setheader ("expries", ""+tiempo); // de esta manera, configure el caché para un día res.setDateHeader ("expries", tiempo); // igual que la oración anterior/ * * fecha fecha = nueva fecha (); respuesta.setDateHeader ("Último modificado", date.gettime ()); // Último modificado: el tiempo de última generación de la respuesta de la página.setDateHeader ("expires", date.gettime ()+60*60*24); // expira: la respuesta del límite de vencimiento. // Cache-Control controla si la página está almacenada en caché, pública: tanto el navegador como el servidor de caché pueden almacenar información sobre la página; respuesta.setheader ("pragma", "pragma"); // pragma: establezca si la página está en caché, si es pragma, se almacena en caché y no cache no se almacena en caché*/} @Override public void init (filterconfig arg0) arroja servletException {}Nota: El archivo de filtro anterior debe configurarse en Web.xml para filtrar de acuerdo con la ruta configurada.
Lo anterior es la explicación detallada de si la configuración del filtro de filtro Javaee es instancias en caché introducidas por el editor. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!