首页 课程 师资 教程 报名

浅谈JavaWeb三大组件

  • 2020-10-22 17:56:23
  • 912次 星辉

Java Web的三大组件:Filter、Servlet和Listener,一直是Java Web开发基础中非常重要的知识和面试考点,尽管我们在实际中很难同时接触这三个组件,但是还是有备无患的了解一下。下面为大家一一介绍JavaWeb三大组件


一、JavaWeb组件一: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方法就可以。


二、JavaWeb组件二:Filter

Filter的字面意思是过滤、筛选,同样Filter是javaweb的过滤器。filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应。在javaweb中使用方法大致和Servlet一样,也需要配置web.xml文件,也有三个生命周期,初始化参数创建Filter调用init()方法——拦截到请求时调用doFilter()方法——销毁Filter时调用destroy()方法。但是Filter和Servlet的功能是不一样的,servlet负责处理请求,filter负责拦截请求和放行,可以实现Url级别的权限访问,敏感词汇过滤,解决编码格式问题等等。


三、JavaWeb组件三:Listener

Listener主要是javaweb中的监听器,使用的话,我们需要专门创建一个特定接口的java类,用这个java类去监听另一个java类的方法调用,如果另一个类的属性改变了,前面的java类就会监听到后面java类所发生的变化,监听器中的某个方法就会立刻执行。Listener主要用来监听ServletContext,HttpSession,ServletReques这三个域对象。


Javaweb三大组件Filter、Servlet、Listener的功能分别是拦截请求和放行,处理请求,监听网站的访问量、在线人数等信息。他们之间各有分工,因为他们的存在,JavaWeb的功能才能变得越来越强大。Javaweb三大组件Filter、Servlet、Listener三者相互协作,共同铸就了Java Web在前端开发中的不可撼动的地位!


选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交