java web 三大组件

JavaWeb三大组件:Servlet,Filter,Listener

Servlet:

在Java web b/s架构中,servlet扮演了重要的角色,作为一个中转处理的容器,他连接了客户端和服务器端的信息交互和处理。简单来说,客户端发送请求,传递到servlet容器,而servlet将数据转换成服务器端可以处理的数据再发送给服务器端,再数据处理之后,再传递到servlet容器,servlet再转译到客户端,完成了一次客户端和服务器端的信息交互。
  Servlet是通过Java编写的,因为他也具备了Java的一些特点,比如跨平台性,可扩展性高,然而他的优点不仅仅是局限于语言方面,因为Servlet的出现,可以使我们将JSP页面中的一些JAVA代码移植到Servlet中来,可无疑使前端人员深受喜欢,方便了项目的修改完善,而Servlet的使用也是非常的简单。
  Servlet的生命周期有四个阶段,第一个阶段,实例化,会调用构造方法,第二个阶段是初始化,会调用init()方法,第三个阶段是请求处理,调用service方法,第四个阶段,服务终止也就是销毁阶段,调用destroy方法。
  前台如何将数据传递给Servlet?也是非常简单的,只需表单提交就可以轻松完成,Servlet可以使用request.getParameter来接受,传递给前台就可以使用request.setA什么的来赋值。
  页面提交的时候有get和post两种方式,这俩种方式都会在Servlet中处理,如果是get则会调用doget,post则会dopost,而同时使用,只需要post调用doget方法就可以。

Filter:

filter用于拦截用户请求,在服务器作出响应前,可以在拦截后修改request和response,这样实现很多开发者想得到的功能。

filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应。

用途:

处理全站中文乱码问题
  实现自动登录
  过滤敏感词汇
  压缩网页
  选择性让浏览器缓存
  这几种功能的实现采用同样的原理,那就是使用包装模式或动态代理增强request或response对象的功能。

Filter的生命周期:
    构造器:创建Filter实例时调用,Filter实例服务器一旦启动就会被创建
  init():实例创建后马上被调用,用来对Filter做一些初始化的操作
  doFilter():Filter的主要方法,用来完成过滤器主要功能的方法,每次访问目标资源时都会调用。
  destroy():服务器停止时调用,用来释放资源。

Listener:

通常使用Web监听器做以下的内容:
    统计在线人数,利用HttpSessionLisener
    加载初始化信息:利用ServletContextListener
    统计网站访问量
    实现访问监控
  java web 三大组件