java web 时间组件_javaweb三大组件

Javaweb是学习java编程的重要内容,和java框架、服务器一样重要,也是java中的核心之一。因此,想要学好java,javaweb是必须要掌握的。在学习javaweb过程中,首先要知道javaweb三大组件是什么,各自扮演着什么角色,有什么样的作用,这篇文章就为大家介绍javaweb三大组件的相关基本知识。

e65ab1ae52f0d9e27b9f31fe28547f1f.png

Javaweb三大组件是:Servlet,Filter,Listener,下面详细介绍javaweb三大组件:

1、Servlet

在Java web

b/s架构中,servlet扮演了重要的角色,作为一个中转处理的容器,他连接了客户端和服务器端的信息交互和处理。简单来说,客户端发送请求,传递到servlet容器,而servlet将数据转换成服务器端可以处理的数据再发送给服务器端,再数据处理之后,再传递到servlet容器,servlet再转译到客户端,完成了一次客户端和服务器端的信息交互。

Servlet是通过Java编写的,因为也具备了Java的一些特点,比如跨平台性,可扩展性高,然而他的优点不仅仅是局限于语言方面,因为Servlet的出现,可以使我们将JSP页面中的一些JAVA代码移植到Servlet中来,可无疑使前端人员深受喜欢,方便了项目的修改完善,而Servlet的使用也是非常的简单。

Servlet的生命周期有四个阶段,第一个阶段,实例化,会调用构造方法,第二个阶段是初始化,会调用init()方法,第三个阶段是请求处理,调用service方法,第四个阶段,服务终止也就是销毁阶段,调用destroy方法。

2、Filter

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

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

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

在使用MVC的时候,ActionFilter提供了一个Order属性,用户可以根据这个属性控制Filter的调用顺序,而Web

API却不再支持该属性。Web

API的Filter有自己的一套调用顺序规则:所有Filter根据注册位置的不同拥有三种作用域:Global、Controller、Action;通过HttpConfiguration类实例下Filters.Add()方法注册的Filter(一般在App_Start\WebApiConfig.cs文件中的Register方法中设置)就属于Global作用域;通过Controller上打的Attribute进行注册的Filter就属于Controller作用域;通过Action上打的Attribute进行注册的Filter就属于Action作用域。

14ebbc51938ff80b5f9137e8e953725e.png

3、Listener

顾名思义,Listener就是监听器,监听主要是对ServletContext,HttpSession,ServletRequest这三大域对象的创建和销毁事件监听,还有就是对域对象属性的操作监听,当监听这些事件发生是就会进行一些适当的操作。

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

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

Javaweb是学习java的重点,Servlet、Filter、Listener又是学习javaweb的重点,所以上面介绍的javaweb三大组件的基本概念和作用要好好的理解学习。三大组件在javaweb中各有各的功能,使得javaweb变的更为强大,希望朋友们平时多多学习javaweb教程,并多加练习,相信可以慢慢掌握javaweb技能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值