Java Web 第8天 过滤器
一、
什么是过滤器
从技术上讲过滤器是一个中间组件,用于拦截源数据和目的数据间的消息,并且过滤二者之间传递的数据。对于
WEB
应用程序,过滤器是驻留在
WEB
服务器上的
WEB
组件。对于客户端和目标资源而言过滤器是透明的,他们是不知道发送来的数据是否经过过滤器的处理。
二、
过滤器的作用
过滤器相当于一个警卫,阻止不想要的信息从一个点传递到另一个点。我们通常利用过滤器进行以下几种应用:
l
认证过滤
l
登陆和审核过滤
l
图像转换过滤
l
数据压缩过滤
l
加密过滤
l
令牌过滤
l
资源访问触发事件过滤
l
XSLT
过滤
l
MIME-type
过滤
三、
过滤器的生命周期
一个过滤器要经过编码、编译、部署、运行四个步骤。
l
当服务器启动时,
web
容器调用
init()
方法对过滤器进行初始化,
init
()这个方法只执行一次。
l
服务器启动后,当满足要求的数据到来时
web
容器调用
doFilter()
方法对数据进行过滤。
l
当服务器关闭时
web
容器调用
destroy()
方法销毁过滤器。
四、
怎样编写过滤器
1.
我们编写的过滤器应该实现
Filter
接口,并实现里面的全部方法。
2.
在
web.xml
文件中实现过滤器的配置(和
Servlet
类似)。
五、
一个
servlet
对应多个过滤器时候过滤器执行顺利
1.
范围大的先执行,范围小的后执行。
2.
先执行
<url-pattern>
后执行
<servler-name>
3.
同为
<url-pattern>
或同为
<servler-na
相关文档:
(参考 “ibm nio入门”)
在 NIO 库中,所有数据都是用缓冲区处理的。在读取数据时,它是直接读到缓冲区中的。在写入数据时,它是写入到缓冲区中的。任何时候访问 NIO 中的数据,都是将它放到缓冲区中。缓冲区实质上是一个数组。通常它是一个字节数组,但是也可以使用其他种类的数组。但是一个缓冲区不仅仅是一 ......
通常,有一类问题的产生都是由于没有重载hashCode这个方法. 当你重载equals后,hashCode必须重载,否则在使用HashMap, HashSet, Hashtable的时候,会出错.
对于hashCode有几个原则.
1. 不管什么时候调用hashCode,如果同一个对象与hashCode相关的字段没有修改的话,这个方法的返回值必须相同. 但不必和另一个应用程序中的值相等 ......
与其它类不同,compareTo方法并不是Ojbect中的方法,它是Comparable接口中唯一的方法。通过实现Comparable接口,可以它能够自然排序。
排序,Arrays.sort(a); 就OK了。
书上提了一个巧妙的方法,用来消除重复的字符串。它用了一个Set集合来过滤重复的字段。
public class WordList {
&n ......
一、
GET
和
POST
的区别
1.GET
提交的是文本内容,规定其数据长度不超过
255
个字符。在
GET
方式提交的
URL
中会显示出提交的查询数据而却提交数据的缓存会在浏览器的
URL
历史状态中,这样我们往往在浏览网页的时候点击后退键不需要重新发送请求。
2.POST
提交的可以使文本内容,也可以使二进制内容,所 ......
一、
为什么要
Web
状态管理
对于每个容器而言每个请求都相当于一个新的客户,因为当服务器生成
Response
返回到客户端,在客户端显示出来后相对应的
Socket
就会关闭,所以
HTTP
协议是个无状态的协议,他不能保存当前用户的信息。
二、
实现状态管理的方式
1.
在网 ......