从Ajax请求过滤NullPointerException



我最近从Apache迁移到NGINX作为web服务器。从那以后,我得到一个NPE错误与我的过滤器在一些AJAX请求:

java.lang.NullPointerException
at org.ulpmm.eev.web.administration.ModifyEleveDossierUtilisateur.VerificationDateEntree(ModifyEleveDossierUtilisateur.java:340)
at org.ulpmm.eev.web.administration.ModifyEleveDossierUtilisateur.modifyUser(ModifyEleveDossierUtilisateur.java:175)
at org.ulpmm.eev.web.administration.ModifyEleveDossierUtilisateur.doProcess(ModifyEleveDossierUtilisateur.java:142)
at org.ulpmm.eev.web.administration.ModifyEleveDossierUtilisateur.doPost(ModifyEleveDossierUtilisateur.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.ulpmm.eev.utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.ulpmm.eev.filter.RealIPFilter.doFilter(RealIPFilter.java:19)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

这是我的realpfilter .java:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        if (chain != null) {
            if (request instanceof HttpServletRequest) {
                RealIPRequestWrapper rirw = new RealIPRequestWrapper((HttpServletRequest) request);
                chain.doFilter(rirw, response);
            } else {
                chain.doFilter(request, response);
            }
        }
    }

第19行是chain.doFilter(rirw, response);

和SetCharacterEncodingFilter:

public void doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain)
        throws IOException, ServletException {
        // Conditionally select and set the character encoding to be used
        /*
        if (ignore || (request.getCharacterEncoding() == null)) {
            String encoding = selectEncoding(request);
            if (encoding != null)
                request.setCharacterEncoding(encoding);
        }
        */
        request.setCharacterEncoding("UTF-8");
        // Pass control on to the next filter
        if (chain != null) {
            chain.doFilter(request, response);
        }
    }

第125行也有chain.doFilter(request, response)

我认为NPE是在chain上,所以我增加了一个测试,但没有变化。

这似乎只发生在AJAX请求中。除了它们,我没有得到错误。

如果有人有线索就太好了:)

谢谢。Marc

正如@marthusson和@Seelenvirtuose所说,NPE被抛出在我的数据处理类中,而不是在过滤器中。

过滤器只是继电器。

通过修复类,一切都很好。

谢谢你

相关内容

最新更新