一、监听器

1.监听器:监听器就是一个java程序,功能是监听另一个java对象变化(方法调用、属性变更)


2.监听器监听过程:事件源、事件对象、监听器对象、操作事件源


1).存在被监听对象(事件源)


2).存在监听器对象


3).在事件源中注册监听器


4).操作事件源,使事件源发生改变,产生事件对象(事件源的改变)


5).事件对象会被传递给监听器,触发监听器相应行为


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


4.监听器的实现步骤:


1).写一个类去实现监听器接口


2).在web.xml中注册监听器


5.java中提供了八种监听器


1).用来监听三大作用域创建和销毁的监听器


ServletContextListener:监听ServletContext域创建和销毁的监听器


HttpSessionListener:监听session域创建和销毁的监听器


ServletRequestListener:监听request域创建和销毁的监听器


2).用来监听三大作用域中域属性变化的监听器


ServletContextAttributeListener


HttpSessionAttributeListener


ServletRequestAttributeListener


3).使javabean感知自己在session域中状态变化的监听器(这两个监听器不需要在web.xml中进行注册,只要让


javabean去实现这个接口就可以了)


HttpSessionBindingListener


javabean被存入session


javabean被移除出session


HttpSessionActivationListener


javabean随着session被钝化


javabean随着session被活化

二、国际化


1.国际化:一款软件希望不同的国家和地区的使用者都可以使用,这时软件中的一些内容和数据需要根据用户地区信息


不同而展示成不同的样子


2.国际化的组成部分


1).页面中静态内容的国际化(导航栏、提示信息、错误信息等)


资源包


ResourceBundle


Locale


fmt标签库


2).程序动态产生的数据(时间、货币这类不同语言环境表示方法有差异的数据)的操作


1'.日期时间格式化(DateFormat/SimpleDateFormat)


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) 


获取日期/时间格式器,该格式器具有给定语言环境的给定格式化风格


2'.数字格式化(NumberFormat)


static NumberFormat getCurrencyInstance() 


返回当前默认语言环境的货币格式。 


static NumberFormat getCurrencyInstance(Locale inLocale) 


返回指定语言环境的货币格式。


3'.消息格式化(MessageFormat):如果一个字符串中有多个对地区敏感的信息,可以使用此类进行批量


国际化设置


1''.MessageFormat类允许开发人员用占位符{0}{1}{2}…替换掉字符串中的敏感数据(即国际化相


关的数据)。


2''.MessageFormat类在格式化输出包含占位符的文本时,messageFormat类可以接收一个参数数组,


以替换文本中的每一个占位符。


3''.占位符有三种方式书写方式:


{argumentIndex}: 0-9 之间的数字,表示要格式化对象数据在参数数组中的索引号


{argumentIndex,formatType}: 参数的格式化类型


{argumentIndex,formatType,FormatStyle}: 格式化的样式,它的值必须是与格式化


类型相匹配的合法模式、或表示合法模式的字符串。

监听器和web国际化的更多相关文章

  1. 一个命令搞定 Web 国际化

    背景 随着出海的业务越来越多,web 应用面临越来越多的国际化的工作.如何高效,高质量的完成 Web 前端国际化工作,已经是摆在 web 前端同学的急需解决的问题. i18n-helper-cli 是 ...

  2. web国际化,在不同的浏览环境,显示不同的语言

    所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言.假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回 ...

  3. 12 自定义标签/JSTL标签库/web国际化/java web之设计模式和案例

    EL应用      自定义一个标签,实现两个字符串的相加 1回顾      1.1servlet生命周期           init(ServletConfig)           service ...

  4. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. ssh整合web.xml过滤器和监听器的配置 .

    延迟加载过滤器 Hibernate 允许对关联对象.属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Session 范围之内进行.如果 Service 层返回一个启用了延迟 ...

  6. java Web三大组件--监听器

    监听器概述 监听器(Listener)是一种特殊的Servlet技术,它可以监听Web应用的上下文信息.Servlet请求信息和Servlet会话信息,即ServletContext.ServletR ...

  7. 使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径

    使用监听器解决路径问题,例如在jsp页面引入js,css的web应用路径 经常地,我们要在jsp等页面引入像js,css这样的文件,但是在服务器来访问的时候,这时间就有关到相对路径与绝对路径了.像网页 ...

  8. 【java web】监听器listener

    一.简介 Java的监听器,也是系统级别的监听.监听器随web应用的启动而启动.Java的监听器在c/s模式里面经常用到,它会对特定的事件产生产生一个处理.监听在很多模式下用到,比如说观察者模式,就是 ...

  9. web监听器解析

    监听器是web三大组件之一,事件监听机制如下: 事件:某个事件,如果初始化上下文 事件源:事件发生的地方 监听器:一个对象,拥有需要执行的逻辑 注册监听:将事件.事件源.监听器绑定在一起.当事件源发生 ...

随机推荐

  1. 用SQL脚本移除视图中存在的机器名

    用SQL脚本移除视图中存在的机器名 例子: msccdr.cdr.DimRMAReturnMethod CREATE VIEW CDR.DimRMAReturnMethod ( ReturnMetho ...

  2. iOS进阶:Objective-C runtime(一)

    第一次看到runtime时,觉得太高大上,动态获取方法.属性等简直厉害的不要不要的.在经过查找资料+实践后,发现runtime并没有想象中那么复杂,接下来对runtime进行基本的介绍. 要使用运行时 ...

  3. C++中引用用于结构

    正确 void change(test &target) { target.name = "aaa"; } 错误 void change(const test &t ...

  4. iOS的推送机制APNs:本地推送&远程推送

    本地推送: 本地推送主要应用在备忘录,闹钟等本地的,基于时间定时的消息提醒.本篇不做详细描述. 远程推送:APNS(苹果推送通知服务) iOS远程推送机制的原理及流程: 注册推送(橙色部分):若该Ap ...

  5. php 按列值合并数据

    /* * PHP按值合并数组 * */ function my_array_merge(&$array1, &$array2) { $result = Array(); foreach ...

  6. OpenCV学习 6:平滑滤波器 cvSmooth()——2

    原创文章,欢迎转载,转载请注明出处 前面进行了彩色的模糊处理,我们对黑白图片进行同样的平滑处理,看看效果.首先是需要创建黑白图片,我对opencv的各种函数还不是很熟悉,我们可以先用熟悉的创建单通道的 ...

  7. 判断进程是64bit还是32bit

    #pragmaregion Includes#include<stdio.h>#include <windows.h>#pragmaendregionBOOL  DoesWin ...

  8. 使用百度语音识别REST API,做全平台语音识别

    百度语音开发介绍文档: http://yuyin.baidu.com/docs/asr# 使用语音识别,需要在百度申请一个应用,然后拿到API Key和Secret Key,然后才可以使用语音识别 p ...

  9. JAVA 中的RMI是什么

    RMI的概念 RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制.使用这种机制,某一台计算机上的对象可以调用另外 一台 ...

  10. uva 825 - Walking on the Safe Side(dp)

    题目链接:825 - Walking on the Safe Side 题目大意:给出n,m,现在给出n行数据, 每行有k(k为不定值)个数字, 第一个数字代表行数, 后面k - 1个数代表当前行的这 ...