Servlet监听和软件国际化

================================
条件查询、!!!分页查询
================================
国际化
页面固定文本的国际化 ResourceBundle 资源包 <fmt>


日期时间国际化 DateFormate SimpleDateFormat
货币国际化 NumberFormat
消息国际化 MessageFormat

================================
监听器:Servlet规范定义三门技术之一 Servlet、监听器、过滤器


8大监听器:

~1.写一个类实现接口
~2.在web.xml文件中对这个监听器进行描述

用来监听三大域对象创建和销毁的监听器
ServletContextListener -- 监听ServletContext对象的创建和销毁
生命周期:
服务器启动web应用加载后立即创建代表当前web应用的ServletContext对象
服务器关闭或web应用被移除出容器时,销毁代表当前web应用的ServletContext对象
HttpSessionListener -- 监听HttpSession对象的创建和销毁
生命周期:
第一次调用request.getSession()方法时,创建session对象
超时  自杀  服务器非正常关闭
如果服务器是正常关闭:还没有超时的session将被服务器以文件的形式保存在work目录下,这个过程叫做session的钝化.当服务器再次正常开启时,钝化着的session还会被恢复到内存中,这个过程叫做session的活化
想要随着session被钝化活化的对象它的类必须实现一个特殊的接口叫做Serializable.
ServletRequestListener -- 监听ServletRequest对象创建和销毁
生命周期:
访问开始时创建代表请求的request对象
访问结束时销毁


用来监听三大作用域中域属性变化的监听器
ServletContextAttributeListener 
HttpSessionAttributeListener 
ServletRequestAttributeListener



用来监听javabean在session中状态变化的监听器:存入session  从session中取出  随着session钝化  随着session活化
这两个监听器不要单独写类,也不需要在web.xml中进行注册,直接使javabean类实现就可以了

HttpSessionBindingListener--监听javabean对象在session中被存入和取出事件的
HttpSessionActivationListener -- 监听javabean对象在session中被活化和钝化事件的



**!!案例:显示登录列表,并实现踢人功能

create table user(
id int primary key auto_increment,
name varchar(20),
password varchar(50),
role varchar(50)
);
insert into user values(null,'a','123','user'),(null,'b','123','user'),(null,'c','123','user'),(null,'admin','admin','admin');


一:国际化
1.国际化的概念:一款软件希望不同的国家和地区的使用者都可以使用,这个时候软件中的一些内容和数据需要根据用户地区信息不同而展示成不同的样子。


2.国际化的组成部分:
*(1)页面中固定文本元素的国际化
<fmt:setBunle>
<fmt:message>

!!!(2)对程序动态产生的数据的国际化 -- 日期时间/货币
!!!日期时间的国际化:
Date   --->   时间的字符串表示形式(不同的国家地区显示的不同)
字符串形式的日期时间(不同的国家地区显示不同)  ---->   Date

DateFormate
static DateFormat getDateInstance() 
 获取日期格式器,该格式器具有默认语言环境的默认格式化风格。 
static DateFormat getDateInstance(int style) 
 获取日期格式器,该格式器具有默认语言环境的给定格式化风格。 
static DateFormat getDateInstance(int style, Locale aLocale) 
 获取日期格式器,该格式器具有给定语言环境的给定格式化风格。 

static DateFormat getTimeInstance() 
 获取时间格式器,该格式器具有默认语言环境的默认格式化风格。 
static DateFormat getTimeInstance(int style) 
 获取时间格式器,该格式器具有默认语言环境的给定格式化风格。 
static DateFormat getTimeInstance(int style, Locale aLocale) 
 获取时间格式器,该格式器具有给定语言环境的给定格式化风格。 

static DateFormat getDateTimeInstance() 
 获取日期/时间格式器,该格式器具有默认语言环境的默认格式化风格。 
static DateFormat getDateTimeInstance(int dateStyle, int timeStyle) 
 获取日期/时间格式器,该格式器具有默认语言环境的给定日期和时间格式化风格。 
static DateFormat getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale) 
 获取日期/时间格式器,该格式器具有给定语言环境的给定格式化风格。 


SimpleDateFormat



货币国际化:
数字 --- > 货币的字符串(不同国家地区表示不同)
货币的字符串(不同国家地区表示的不同)  -->  数字


NumberFormat
static NumberFormat getCurrencyInstance() 
 返回当前默认语言环境的货币格式。 
static NumberFormat getCurrencyInstance(Locale inLocale) 
 返回指定语言环境的货币格式。 



消息格式化器:如果一个字符串中多出含有需要国际化的内容,可以使用占位符替代,利用MessageFormat,一次性的国际化.
MessageFormat






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值