如何解决session.getAttribute对于Chrome浏览器返回null Servlet
我正在尝试为Atlassian JIRA创建一个插件。我有一个Java servlet,它在我的项目中调用JSP页面。在servlet中,它应该返回一个对象。但是由于该servlet返回null而不是预期结果而发生了错误。这仅在 Chrome浏览器中发生。我已经在Firefox,Microsoft Edge,野生动物园浏览器中对此进行了测试,这对于它们来说工作正常,并返回预期的输出。
代码如下。 ( Session.java )
public static <T> T get(final HttpServeletRequest request,final String key) {
final HttpSession session = request.getSession();
final Object ImpObj = session.getAttribute(key);
if(ImpObj == null) {
return null;
}
try {
return (T) ImpObj;
} catch(final Exception e) {
return null;
}
}
在我的类文件中,我像这样在Session.java文件上方调用
ImportFlawsObject impFlwObj = Session.get(request,"FLAW_IMPORTER");
我已调试代码并尝试查找根本原因,每次session.getAttribute(key)
返回 null 时,发生在 Chrome浏览器中。从这里发生了一个问题。
真的很难找到解决方案,感谢您的建议,这将帮助我找到更好的解决方案。
解决方法
我找到了对我有用的解决方案。我的网站位于属于第三方的iframe内,在我的情况下,此问题是由于iframe网站上的Cookie被阻止引起的。您可以将站点添加到白名单中并解决问题,尽管有趣的是,在Firefox和Edge中这不是必需的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。