监听器/国际化

监听 Listener

主要用于监听ServletRequest\ServletContext\HttpSession三个对象的创建、销毁、属性的变更的。

创建一个监听类:需要继承Filter.

对象部分:

ServletRequestListener    request对象的创建销毁;

初始化方法获取页面请求对象无法获取,销毁方法可以获取。

Answer:初始化在tomca启动就开始了,访问是没法获取的。

HttpSessionListener      session对象的创建销毁;

ServletContextListener    servletContext对象的创建销毁。

由服务器创建context对象

Web.xml配置

<listener>

<listener-class>cn.qidi.ListenerDemo.Demo1</listener-class>

</listener>

属性部分:

ServletRequestAttributeListener      request属性的变化:增加、删除、修改

变更之前的值如何获取?

Answer:再添加属性或者替换属性方法中传入的HttpSessionbindingevent se,通过se.getValue获得的值与se.getSession.getAttrribute区别就是,一旦修改就会触发监听机制,传入的se与创建时候的se不同,传入修改方法的是修改属性之前的se,所以通过这个se可以获得就值。但是通过se.getSession.getAttribute获得的就是新值,这个是更改后的属性值。

HttpSessionAttributeListener        session 属性的变化:增加、删除、修改

ServletContextAttributeListener      ServletContext 属性的变化:增加、删除、修改

案例:

退出是不是用session.removeAttribute实现?

Invalidate()

SevletContext怎么创建?

在java代码中getServleContext即可。

DeBug:

*      F5  step into  单步进入  (跳入方法)

*     F6  step over  单步跳过

*     F7  step return 跳出方法

*     F8  resume     结束调试运行程序,或者跳入下一个断点

Session特有监听器:(不用写配置文件中)

HttpSessionBindingListener       监听对象绑定到session上的事件上

创建一个对象并实现此接口,可监听到本类什么时候被添加或删除session。

HttpSessionActivationListener     监听session序列化和反序列化事件

国际化

i18n

Locale本地化:Locale.CHINA或者Locale.getDefault();还有一个e别忘了。

静态文本国际化

存储国际化显示文本的文件名

msg_zh_CN.properties  存贮中文

msg_en_US.properties  存储英文

命名方式:基础名_语言简称_国家简称.properties

获取这些配置文件

ResourceBundle.getBundle(“包.msg”,local).getString(“key值”);

动态文本国际化

NumberFormat.get*******(local).format(***);加上本子化

NumberFormat.get******(local).parse(***);撤销本地化

国际化标签

<fmt: />

设置本地化对象

<fmt: setLocale value=”${pageContext.request.locale}” />

设置工具类

<fmt:setBundle basename=”包.msg” var=”bundle”/>

使用方式

<fmt:message key=”” bundle=”${ bundle }”>

时间: 2024-10-13 22:18:56

监听器/国际化的相关文章

web day20 单表练习之分页,java web监听器, 国际化

分页 什么是分页 例: 第N页/共M页 首页 上一页 1 2 3 4 5 6 7 8 9 10 下一页 尾页 口 go 分页的优点:只查询一页,不用查询所有页 分页数据 页面的数据都是由Servlet传递来的 Servlet: 1.当前页面页数:pageCode,pc(没有传递按默认第一页) 2.总页数:totalPages,tp(总记录数/每页记录数) 3.总记录数:totalRecored,tr(dao来获取,select count(*) fromt_customer)\ 4.每页记录数:

Day20 javaWeb监听器和国际化

day20 JavaWeb监听器 三大组件: Servlet Listener Filter ? Listener:监听器 初次相见:AWT 二次相见:SAX ? 监听器: 它是一个接口,内容由我们来实现: 它需要注册,例如注册在按钮上! 监听器中的方法,会在特殊事件发生时被调用! ? 观察者: 事件源: 小偷 事件: 偷东西 监听器: 警察 监听器中的方法:抓捕 ? JavaWeb中的监听器 事件源:三大域! ServletContext 生命周期监听:ServletContextListen

国际化预过滤器

1.国际化: 开发系统.网站.平台的页面显示的效果可以支持多个国家的语言. 1)引用的资源的jsp页面.(没有明确的指出是用什么样的语言) 2)体现不同语言的资源文件. msg_zh_CN.properties 3)Jsp页面上,使用format格式化标签库,引用资源文件<fmt:message>; 2.Filter 1)他是一个类,一个特殊的类,可以说是servlet的升级版本.Filter 2)过滤或者拦截的作用,如果符合条件就放行,不符合就返回.(过滤器中写) 3)过滤的是请求和响应.(

21. Spring Boot过滤器、监听器【从零开始学Spring Boot】

转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter)和 监听器(Listener)的注册方法和 Servlet 一样,不清楚的可以查看下上一篇文章(20): 本文将直接使用@WebFilter和@WebListener的方式,完成一个Filter 和一个 Listener:使用注解 @ServletComponentScan//这个就是扫描相应的Se

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验. 1.说一说Servlet生命周期(非常重要) Servlet生命周期包括三部分: 初始化:Web容器加载servlet,调用init()方法 只执行一次 处理请求:当请求到达时,运行其service()方法.service()自动调用与请求相对应的doXXX

十四、JavaWeb监听器

JavaWeb监听器 三大组件: l Servlet l Listener l Filter Listener:监听器 初次相见:AWT 二次相见:SAX 监听器: l 它是一个接口,内容由我们来实现: l 它需要注册,例如注册在按钮上! l 监听器中的方法,会在特殊事件发生时被调用! 观察者: l 事件源: 小偷 l 事件: 偷东西 l 监听器: 警察 监听器中的方法:抓捕 JavaWeb中的监听器 l 事件源:三大域! ServletContext ¨ 生命周期监听:ServletConte

iOS10权限声明国际化

1.xCode8权限 xCode8.0开始苹果对隐私权限的控制更加严格,并且在隐私权限对应的描述不能为空,否则提交时在活动里面并看不到你提交的二进制文件,并给开发者邮箱发送以下邮件 2.权限描述国际化 解决办法是在Info.plist中添加Privacy - Camera Usage Description和Privacy - Photo Library Usage Description. 如果直接写在Info.plist中,则不能多语言显示提示,想要多语言提示,可以选中Info.plist文

javaweb监听器

监听器的理解:对对象以及对象的状态实行监控,并对相应的改变执行相关的程序. 按照监听的对象可以分为:监听ServletContext(应用程序环境对象)的事件监听器 ServletContextListener HttpSession(用户会话对象)的事件监听器  HttpSessionListener ServletRequest(请求消息对象)的事件监听器  ServletRequsetListener Session何时被销毁? 关闭服务器的时候 与服务器有连接,但长期没有交互的时候 关闭

Django1.9开发博客(12)- i18n国际化

国际化与本地化的目的为了能为各个不同的用户以他们最熟悉的语言和格式来显示网页. Django能完美支持文本翻译.日期时间和数字的格式化.时区. 另外,Django还有两点优势: 允许开发者和模板作者指定他们哪些app应该被翻译或被格式化为本地形式. 允许用户根据自己的偏好来实现本地化显示.翻译依据语言,格式化依据国家, 这些信息由浏览器中的Accept-Language头来决定.不过目前为止时区还未能实现. 参考官方文档:https://docs.djangoproject.com/en/1.9