1. 监听器
1.1监听对象:
自己创建自己用 (不用监听)
别人创建自己用(需要监听)
Servlet中哪些对象需要监听?
request / session / servletContext
分别对应的是request监听器、session相关监听器、servletContext监听器
1.2监听器接口:
一、监听对象创建/销毁的监听器接口
Interface ServletRequestListener 监听request对象的创建或销毁
Interface HttpSessionListener 监听session对象的创建或销毁
Interface ServletContextListener 监听servletContext对象的创建或销毁
二、监听对象属性的变化
Interface ServletRequestAttributeListener 监听request对象属性变化: 添加、移除、修改
Interface HttpSessionAttributeListener 监听session对象属性变化: 添加、移除、修改
Interface ServletContextAttributeListener 监听servletContext对象属性变化
三、session相关监听器
InterfaceHttpSessionBindingListener 监听对象绑定到session上的事件 ,不用再web.xml配置
InterfaceHttpSessionActivationListener(了解) 监听session序列化及反序列化的事件
2. 国际化
2.1.Locale 本地化
Java提供了一个本地化的对象!封装当前语言、国家、环境等特征!
2.2静态数据国际化
网站中显示的固定文本的国际化:“用户名”“密码“
国际化的软件:
1. 存储所有国家显示的文本的字符串
a) 文件: properties
b) 命名: 基础名_语言简称_国家简称.properties
例如:msg_zh_CN.properties 存储所有中文
Msg_en_US.properties 存储所有英文
2. 程序中获取
ResourceBundle类,可以读取国际化的资源文件!
2.3动态文本国际化
中文:1987-09-19 ¥1000
英文: Sep/09 1987 $100
l 数值,货币,时间,日期等数据由于可能在程序运行时动态产生,所以无法像文字一样简单地将它们从应用程序中分离出来,而是需要特殊处理。Java 中提供了解决这些问题的API 类(位于java.util 包和java.text 包中)
2.4 Jsp页面国际化-使用jstl标签
JSTL标签:
核心标签库
国际化与格式化标签库的引入
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt"%>
数据库标签库(没用)
函数库
<fmt:setLocale value=""/> 设置本地化对象
<fmt:setBundlebasename=""/> 设置工具类
<fmt:message></fmt:message> 显示国际化文本
格式化数值
<fmt:formatNumberpattern="#.##" value="100.99"></fmt:formatNumber>
格式化日期:
<fmt:formatDatepattern="yyyy-MM-dd" value="${date}"/>