栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java EE系列(八)——阶段性学习总结一

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java EE系列(八)——阶段性学习总结一

最近,peter xiao看了不少war包,但对于j2ee中重要知识点的系统性总结还从来没有进行过。为了应对之后企业面试的需要,关于基础性概念的整理与总结还是十分必要的。所以接下来笔者的几篇博客都将围绕Java web开发中的一些重点概念进行系统总结。

本篇博客主要对Java web的三大组件——servlet、过滤器和监听器进行一个较为详细的说明。

一、servlet

Servlet(Server Applet),全称Java Servlet,是用java编写的服务器端程序,其主要功能在于交互式地浏览和修改数据,生成动态web内容。servlet作为一个中转处理的容器,他连接了客户端和服务器端的信息交互和处理,其大致过程是:客户端发送请求,传递到servlet容器,而servlet将数据转换成服务器端可以处理的数据,再发送给服务器端,经过数据处理之后,再传递到servlet容器,servlet再转译到客户端,最终完成一次客户端和服务器端的信息交互。

servlet的优势:

1.是MVC的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上进行发展

2.Servlet是一个Java的类,Java语言能够实现的功能,Servlet基本上都能实现,并且处理客户端传来的HTTP请求,并返回一个响应

3.具备可移植性、安全性、集成性、可扩展性和灵活性

servlet的开发流程:

1.编写一个java类,继承HttpServlet类

2.重写HttpServlet类的doGet方法和doPost方法

3.配置web.xml文件,或者使用注解对servlet进行配置

servlet的生命周期:参见第6个war包的讲解~

 由于关于servlet的学习peter xiao也进展了很长一段时间,这里对于更细节的方面也就不多赘述了,下面将开始讲述过滤器与监听器的使用。


二、过滤器

在Java web中的过滤器,其作用是对于发送的请求进行过滤,其操作是对请求进行拦截,然后做相应的处理(选择拦截什么资源,放行什么资源)。过滤器可以有一个或者多个。多个过滤器是为了更好的分配每个过滤器的工作,程序会经过每一个过滤器,但不一定都会被拦截。

 过滤器是一个filter接口,所以需要一个实现这个接口的类,可以在配置文件中完成配置,配置完成之后才会显示效果。

过滤器的四种拦截方式:

请求:REQUEST
转发(专门拦截转发):FORWARD
包含(专门拦截包含):INCLUDE
错误(专门拦截错误):ERROR

servletFilter中的dofilter方法:

doFilter()方法类似于Servlet接口的service()方法。当客户端请求目标资源的时候,容器就会调用与这个目标资源相关联的过滤器的 doFilter()方法。其中参数 request, response 为 web 容器或 Filter 链的上一个 Filter 传递过来的请求和相应对象;参数 chain 为代表当前 Filter 链的对象,在特定的操作完成后,可以调用 FilterChain 对象chain.doFilter(request,response)方法将请求交付给 Filter 链中的下一个 Filter 或者目标 Servlet 程序去处理,也可以直接向客户端返回响应信息,或者利用RequestDispatcher的forward()和include()方法,以及 HttpServletResponse的sendRedirect()方法将请求转向到其他资源。 

多个Filter的执行顺序:

一般来说,Filter之间不会有关联,如果需要确定执行顺序,需要对配置文件进行修改,其顺序如下:

1.在web.xml中,filter执行顺序跟的顺序有关,先声明的先执行
2.使用注解配置的话,filter的执行顺序跟名称的字母顺序有关,例如AFilter会比BFilter先执行
3.如果既有在web.xml中声明的Filter,也有通过注解配置的Filter,那么会优先执行web.xml中配置的Filter

配置过滤器(Filter)拦截路径:本文在这里采用xml(修改配置文件)的方式来配置拦截路径,其具体操作和配置servlet类似,web.xml文件部分代码如下:


        myFilter
        com.clucky.filter.MyFilter
    
    
        myFilter
        /*
    

过滤器的生命周期:

初始化阶段:当服务器启动时,Tomcat就会读取配置文件,扫描注解,然后来创建我们的Filter。
拦截和过滤阶段:只要请求资源的路径和拦截的路径相同,那么过滤器就会对请求进行过滤,这个阶段在服务器运行过程中会一直循环。
销毁阶段:Tomcat关闭时,服务器创建的Filter也会随之销毁。

三、监听器

 监听器的主要功能是监听web容器的有效事件,他由容器进行管理。其监听的事件有上下文事件、会话事件以及请求事件。

上下文事件:ServletContext对象的创建、删除和派加属性以及删除和修改操作

会话事件:监听http会话

请求事件:获取请求,统一处理请求

servlet3.0中的监听接口

作用域 实例对象监听器
applicationServletContextServletContextListener
session HttpSessionHttpSessionListener
request HttpServletRequestServletRequestListener

监听对象的监听器:

ServletContextListener:用于监听 ServletContext 对象的创建和销毁

HttpSessionListener:用于监听 HttpSession 对象的创建和销毁

ServletRequestListener:用于监听 ServletRequest 对象的创建和销毁

 实现ServletContextListener监听器类,并进行配置

xml配置代码如下:

 
        pacakge.xx
        
    
        
         ResourceLocation
         text.txt
        

 注解配置使用@WebListener进行配置即可。

总结:本篇博客是对于Java web三大组件的一次大致总结,对于其具体的运用,可能要在之后的war包学习和实战中才能更加深入地进行理解。

我们下一篇博客见,bye~

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号