# Filtro: Filtro 1. Concepto: * La vida del filtro: purificadores de agua, purificadores de aire, bandidos, * el filtro Web: Cuando el servidor de acceso a los recursos, el filtro de solicitud puede interceptarlos, hacer algunas características especiales. * El filtro de papel: * realizar operaciones comunes que se utilizan generalmente. Tales como: inicio de sesión de autenticación unificada proceso de codificación, filtrado de carácter sensible ...
2. Inicio rápido: 1. Paso: 1. definición de una clase que implementa la interfaz para el filtro 2. El método de la replicación de configuración caída ruta 1. web.xml 2. Anotaciones 2. Código: @WebFilter ( "/ *") // acceso a todos los recursos antes, el filtro se ejecutará clase pública FilterDemo1 los implementos del filtro { @ Override init pública vacío (FilterConfig filterConfig) lanza ServletException { } @ Override pública doFilter vacío (ServletRequest ServletRequest, ServletResponse ServletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println ( "filterDemo1被执行了...."); //放行 filterChain.doFilter (ServletRequest, ServletResponse); } @Override public void destroy () { } }
3. Detalles del filtro: 1. Configuración del web.xml <filtro> <filter-name> el demo1 </ filter-name> <clase de filtro> cn.itcast.web.filter.FilterDemo1 </ clase de filtro> </ filtro> <filter-mapping> <filter-name> la </ filter-name demo1> <! - ruta knockdown -> <URL-pattern> / * </ URL-pattern> </ filter-mapping> 2. filtro realiza procesan 1. Ejecutar el filtro 2.Después de la liberación de recursos de ejecución 3. Filtro de liberar la parte posterior ejecución de código por debajo de código 3. El enfoque de ciclo de vida útil del filtro 1. init: Después de que se ha iniciado el servidor, se creará un objeto de filtro, y luego llamar al método init. Se realiza una sola vez. Para los recursos de carga 2. doFilter: todas las solicitudes de recursos es interceptada, se llevará a cabo. Realizar múltiples 3. destruir: Después de que el servidor se cierra, objeto de filtro se destruye. Si el servidor se cierra correctamente, se llevará a cabo el método destroy. Se realiza una sola vez. Para liberar los recursos 4. Configuración de filtro detallada * configuración de interceptación de la trayectoria: 1. Ruta específica de recursos: /index.jsp index.jsp solamente tener acceso al recurso, se ejecutará el filtro 2. Directorio interceptada: / usuario / acceso * / cuando todos los recursos del usuario, el filtro se ejecutará 3. intercepción de la extensión: * .jsp sufijo llamado el acceso a todos los recursos JSP, el filtro se ejecutará 4. interceptar todos los recursos: / * para tener acceso a todos los recursos, filtros será ejecutado * Configuración del modo de bloque: cómo se accede a los recursos * Configuración Notas: * Conjunto dispatcherTypes propiedad 1. SOLICITUD: por defecto. navegador directa solicitar recursos 2. FORWARD: recursos de acceso hacia adelante 3. incluyen: contiene recursos de acceso 4. ERROR: Error recursos Omitir 5. ASYNC: recursos de acceso asíncrono * la configuración web.xml * Set <despachador> </ despachador> etiquetas es decir, puede ser 5. La cadena de filtro (una pluralidad de filtros) * orden de ejecución: Si hay dos filtros: filtro 12 y filtros 1 1. Filtro 2. Filtro 2 3. Recursos realizar 4. 2 de filtro 5. El filtro 1
* Para un problema de filtro: 1. Configuración de Anotaciones: reglas de comparación de cadenas de comparación de acuerdo con el nombre de la clase, el primer valor es menor ejecución * tales como: AFilter y bfilter, AFilter en el primer ejecutado. 2. configuración web.xml: <filter-mapping> Quién define en la parte superior, el primero en realizar 4. Caso: 1. Caso 1_ de autenticación de inicio de sesión * Requisitos: casos el acceso day17_case 1. recursos. Compruebe que ha iniciado la sesión 2. Si está en el sistema, la liberación directa. 3. Si no se inscribe en, vaya a la página de inicio de sesión, que dice "Usted no está en el sistema, por favor inicio de sesión."
2. Caso palabras sensibles filtran 2_ * Requisitos: 1. Casos day17_case introducido datos sensibles palabras filtradas 2. sensibles palabras se refieren a "palabras sensibles .txt" 3. Si usted es sensible vocabulario, sustituido por ***
* Análisis: 1 para el objeto de petición mejorado. La mejora de los parámetros de adquisición de métodos relacionados 2. liberación. Pasando objeto proxy
función de objeto * Mejorado: Patrones de Diseño *: resolver algunos problemas comunes de manera fija 1. patrón decorativo 2. Modo Proxy * concepto: 1. El objeto real: El objeto que se aproxima 2. El objeto proxy: 3. Modo Agente: Proxy objeto real objeto proxy, el propósito de mejorar la función de objeto real * maneras: 1. Agente estática: hay un archivo de clase de modo de proxy Descripción 2. agente dinámico: clase de agente se forma en la memoria * pasos de implementación: 1. objeto proxy y el objeto real implementan la misma interfaz 2. el objeto proxy la Proxy.newProxyInstance = (); 3. el método de uso de la llamada a un objeto proxy. 4. Un método de mejorar
el modo * Mejorado: 1. Mejorar la lista de parámetros 2. Tipo de retorno mejora de lógica 3. El método para mejorar la ejecución del banco
Oyente ##: Oyente * concepto: uno de los tres componentes web. * Mecanismo detector de eventos * Evento: Una cosa * Origen del suceso: Eventos locales * Oyente: Un objeto * detectores registrados: evento, origen del evento, los oyentes están unidas entre sí. Cuando se produce un evento en el origen del evento, los oyentes ejecutar el código
* ServletContextListener: se crea y se destruye escuchando objeto ServletContext * Métodos: * vacío contextDestroyed (SCE ServletContextEvent): llama objeto ServletContext se destruye antes de que el método * vacío contextInitialized (SCE ServletContextEvent): Este método se llama después de crear objetos ServletContext pasos *: 1. Definir una clase que implementa la interfaz ServletContextListener 2. método de replicación de configuración 1. el web.xml <oyente> <oyente de clase> cn.itcast.web.listener.ContextLoaderListener </ oyente de clase> </ oyente>
* Parámetros de inicialización especificado <context-param> 2. Anotación: * @WebListener |
|