zoukankan      html  css  js  c++  java
  • 【JAVA基础】Servlet & Filter & Listener

    web的三大组件

      servlet(控制器)

      filter(过滤器)

      listener(监听器)

    1. Servlet

    1.1. Servlet概述

      servlet= server+applet:运行在服务器端的java程序。

      Servlet是一个接口,一个类要想通过浏览器被访问到,那么这个类就必须直接或间接的实现Servlet接口

    1.2. 作用

      接收请求,处理逻辑,响应结果

    1.3. Servlet步骤分析

      1.3.1. 创建web项目

      1.3.2. 编写普通java类,实现servlet接口

      1.3.3. 在web.xml配置url-pattern

      1.3.4. 部署web项目

      1.3.5. 启动测试

    1.4. 请描述下servlet的生命周期

      servlet是一个单实例多线程的,默认情况下,第一次请求来的时候,才会对该servlet进行实例化,并执行初始化init方法,随后再执行service方法完成业务处理,当每一次请求发送过来,都会从新开启一个线程,来执行servlet中的service方法,当服务器关闭或者servlet被移除的时候,会执行destory方法。

    2. Filter

    2.1 概述

      web中的过滤器:当用户访问服务器资源时,过滤器将请求拦截下来,完成一些通用的操作。
      如:登录验证、统一编码处理、敏感字符过滤

    2.2. 快速入门

      需求:编写filter对目标资源servlet进行拦截

    2.2.1. 编写java类,实现filter接口

     1 public class QuickFilter implements Filter {
     2     @Override
     3 public void init(FilterConfig filterConfig) throws ServletException {
     4 }
     5 /**
     6 * 此方法拦截用户请求
     7 * @param servletRequest * @param servletResponse * @param filterChain
     8 */
     9 @Override
    10 :请求对象
    11 :响应对象
    12 :过滤器链(是否放行)
    13     public void doFilter(ServletRequest servletRequest, ServletResponse
    14 servletResponse, FilterChain filterChain) throws IOException, ServletException {
    15 System.out.println("QuickFilter拦截了请求...");
    16 // 放行
    17 filterChain.doFilter(servletRequest, servletResponse);
    18 }
    19 @Override
    20     public void destroy() {
    21     }
    22 }

    2 配置web.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     3 http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
     4 <!--快速入门--> <!--注册filter--> <filter>
     5 <filter-name>QuickFilter</filter-name>
     6 <filter-class>com.lagou.a_quick.QuickFilter</filter-class> </filter>
     7 <!--配置filter拦截路径--> <filter-mapping>
     8 <filter-name>QuickFilter</filter-name>
     9 <url-pattern>/*</url-pattern> </filter-mapping>
    10 </web-app>

    3. Listener

    3.1 概述

      java web中的监听器:在我们的java程序中,有时也需要监视某些事情,一旦被监听的对象发生相应的变化,我们应该采取相应的操作。

    3.2. 监听web三大域对象

      HttpServletRequest

      HttpSession

      ServletContext

      通过监听器监听三大域对象它们的创建和销毁

    场景

      历史访问次数、统计在线人数、系统启动时初始化配置信息

    3.3. 快速入门

      使用如下接口以相同的方式也可以监听到session对象和request对象的创建和销毁

         HttpSessionListener:监听Httpsession域的创建于销毁的监听器

        ServletRequestListener:监听ServletRequest域的创建于销毁的监听器

  • 相关阅读:
    天下无贼的IT版经典台词(zz)
    matlab混合编程向导(vc,vb,.net...)
    mcc生成的代码加入VC,VC的一些设置
    请问:Win2k下面,怎样取消mediaplayer的预览?
    win2k密码恢复
    **上海铁路局2004年最新时刻发布!**
    VC与Matlab混合编程的快速实现(31)
    校车时刻表
    悼Java师兄(转载)
    制作弹出窗口常用技巧九则
  • 原文地址:https://www.cnblogs.com/Tree0108/p/14312037.html
Copyright © 2011-2022 走看看