复习:
1、国际化
1)要jsp页面中,引入资源文件的信息(资源标识,fmt:set base="msg",语言代码,区域代码
2)要有对应的资源文件,msg_zh_CN.properties,编码
3)要使用fmt标签,引入资源文件中,key,key=value.利用动作指令taglib 来添加,uri=jstl fmt.
4)我们现在做的东西也仅是实现了菜单页面的国际化。
2、filter
1)定义,实现filter 的接口(实现 初始化 销毁的方法,doFilter)
2)配置过滤器的范围,(web.xml filter filtermapping),而且过滤,服务器启动的时候就创建,创建顺序,取决于在filter-mapping中的配置顺序。
3)在servlet/jsp 被请求之前,经过过滤器,完成过滤后,进行放行,或者返回操作.servlet做出响应后,先把response交给filter,然后才到客户端,所以过滤器的过滤是双向的。
4)所以具有重复性的通用型的功能,都是在过滤器中完成的。
所以可以做的东西有编码过滤器,登录验证过滤器。
1、监听器:
监听器,也是一个类的对象,实际上是一个比较特殊的servlet(同filter很相似,不过也有不同之处)
监听器对应的对象是提供好的,它针对了类和对象(并且可以写多个)
可以监听到的有:
request、session、servletContext 对象层面
request、session、servletContext中属性的监听。主要针对对象中属性的创建,移除,替换。
监听器在服务启动以后,就会完成创建和初始化,并且处于监听状态。
这里面有两点需要说明,其一是:如果跳转到jsp页面的话,我们说jsp中有9大内置对象,所以一旦跳到jsp页面,就会监听到session的创建。从而调用对应的方法。
其二是:servletContext在服务器一启动,就会监听到有属性的添加,这个添加,是tomcat添加的,因为在tomcat服务器中,有多个工程,每个工程都有对应的application对象,来进行对应,用以标识不同的工程。完成在浏览器中的对应关系。这个点也是要强调一下。
2、自定义标签:
1)标签的处理程序
2)tld标签的描述符的文件
3)引用标签,利用taglib引入到jsp中。
作用:1、使java代码和jsp页面彻底分离。
2、使代码更加安全(里面可能会有一些核心算法,和商业业务逻辑)我们通常只需要调用,不太可能接触甚至写出。所以对于这个地方项目经理十分看重,可以说这个地方算是一个比较能体现一个人的能力的点。
三个例子:
1、没有标签体 也没有属性
2、有标签题 但是没有属性
3、通用的分页标签
过滤器与监听器的区别:
在web.xml中的配置不相同,过滤器中不仅要配置filter还要配置filter-mapping,监听器只需要配置listener-class 一个属性。就够了。