栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Tomcat中为单个Web应用程序设置时区?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Tomcat中为单个Web应用程序设置时区?

我发现的唯一方法是设置过滤器并更改过滤器中的时区,

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)        throws IOException, ServletException {    TimeZone savedZone = TimeZone.getDefault();    TimeZone.setDefault(webappZone);    chain.doFilter(request, response);    TimeZone.setDefault(savedZone);}

setDefault()
改变了线程的区域。因此,在过滤器内部线程中运行的所有内容都将具有不同的默认时区。我们必须将其改回,因为该线程由其他应用程序共享。您还需要对
init()
destroy()
方法和可能在应用程序中启动的任何其他线程执行相同的操作。

我必须这样做,因为第三方库采用默认时区,并且我们没有源代码。真是一团糟,因为这会更改日志时区,但我们不希望登录时间不同。解决此问题的正确方法是在暴露给最终用户的任何时间值中使用特定时区。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号