for (Cookie cookie : ServletActionContext.getRequest().getCookies()) {
以上一行给了我
java.lang.NullPointerException
at interceptors.RemembermeInterceptor.intercept(RemembermeInterceptor.java:35)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
它曾经在struts2.1.8中正常工作我只是将我的POM.xml中的struts2版本升级到2.3.12并且它停止工作,给我上述错误。
答案 0 :(得分:2)
在这一行中有两件事可能导致NullPointerException:
for (Cookie cookie : ServletActionContext.getRequest().getCookies()) {
ServletActionContext.getRequest()
将返回null。由于您是从拦截器调用该行,这似乎不太可能。
ServletActionContext.getRequest().getCookies()
将返回null。尝试迭代空集合或数组将产生NPE。
尝试更改代码,如下所示:
Cookie[] cookies = ServletActionContext.getRequest().getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
// do something
}
}