我在web.xml
部署描述符中添加了一個過濾器。但是隻要有請求來服務器,過濾器會拋出一個NullPointerException
FilterChain doFilter中的java.lang.NullPointerException方法
java.lang.NullPointerException
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:427)
org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340)
org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:664)
org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884)
org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
下面給出的代碼段,其中的例外occures。
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
boolean isAjax = "XMLHttpRequest".equals(httpRequest.getHeader("x-requested-with"));
HttpSession httpSession = httpRequest.getSession(false);
if(isAjax){
if(isValidRequest(httpRequest, httpSession)){
chain.doFilter(request, response);
}else{
returnInvalidMessage(httpRequest, httpResponse);
}
}else{
chain.doFilter(request, response); /* Here is the exception occures */
}
}
異常在下面的線
chain.doFilter(request, response);
是任何一個有這個想法發生?
這不是拋出'NullPointerException'的行。你必須瞭解堆棧跟蹤的內容。請發佈整個堆棧跟蹤。 –
@LuiggiMendoza我再次檢查它。但是我在'com.incitesys.common.controller.SessionHandlingFilterAjax.doFilter(SessionHandlingFilterAjax.java:94)'中發現了NPE。行號94包含chain.doFilter(request,response); –