项目

一般

简介

应用运行中出现 jsp 的 java.lang.ArrayIndexOutOfBoundsException: null 的问题

由 黄 俊睿 在 大约 3 年 之前添加

异常信息:

Error rendering view [org.springframework.web.servlet.view.JstlView: name 'modules/sys/sysLogin'; URL [/WEB-INF/views/modules/sys/sysLogin.jsp]] in DispatcherServlet with name 'springServlet'
javax.servlet.ServletException: java.lang.ArrayIndexOutOfBoundsException
    at com.apusic.web.jsp.runtime.PageContextImpl.handlePageException(PageContextImpl.java:423)
    at _jspx._WEB_2dINF._views._modules._sys._sysLogin__jsp__1._jspService(_sysLogin__jsp.java:266)
    at com.apusic.web.jsp.runtime.HttpJspPageImpl.service(HttpJspPageImpl.java:40)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1171)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1039)
    at com.apusic.web.jsp.JspServlet.service(JspServlet.java:338)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1171)
    at com.apusic.web.container.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:105)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
    at com.apusic.web.container.ServletFilterWrapper.doFilter(ServletFilterWrapper.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:48)
    at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:290)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at com.minstone.gateway.filter.TifAuthenticationFilter.doFilter(TifAuthenticationFilter.java:135)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at com.minstone.platform.bdm.sys.filter.LoginFilter.doFilter(LoginFilter.java:53)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at com.minstone.platform.bdm.sys.filter.LoginAutoFilter.doFilter(LoginAutoFilter.java:87)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
    at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1166)
    at com.apusic.web.container.WebContainer.doProcessRequest(WebContainer.java:947)
    at com.apusic.web.container.WebContainer.processRequest(WebContainer.java:809)
    at com.apusic.web.http.VirtualHost.processRequest(VirtualHost.java:370)
    at com.apusic.web.http.HttpServer.processRequest(HttpServer.java:317)
    at com.apusic.web.http.HttpConnectionHandler.service(HttpConnectionHandler.java:26)
    at com.apusic.web.http.ConnectionHandler.processRequest(ConnectionHandler.java:360)
    at com.apusic.web.http.ConnectionHandler.processConnection(ConnectionHandler.java:138)
    at com.apusic.web.http.ConnectionHandler.run(ConnectionHandler.java:52)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ArrayIndexOutOfBoundsException: null
2021-11-04 16:52:11.106 DEBUG org.springframework.web.servlet.DispatcherServlet - Could not complete request
javax.servlet.ServletException: java.lang.ArrayIndexOutOfBoundsException
    at com.apusic.web.jsp.runtime.PageContextImpl.handlePageException(PageContextImpl.java:423)
    at _jspx._WEB_2dINF._views._modules._sys._sysLogin__jsp__1._jspService(_sysLogin__jsp.java:266)
    at com.apusic.web.jsp.runtime.HttpJspPageImpl.service(HttpJspPageImpl.java:40)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1171)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1039)
    at com.apusic.web.jsp.JspServlet.service(JspServlet.java:338)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1171)
    at com.apusic.web.container.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:105)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1221)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1005)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:952)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
    at com.apusic.web.container.ServletComponent.service(ServletComponent.java:87)
    at com.apusic.web.container.ServletFilterWrapper.doFilter(ServletFilterWrapper.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:48)
    at org.glassfish.tyrus.servlet.TyrusServletFilter.doFilter(TyrusServletFilter.java:290)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at com.minstone.gateway.filter.TifAuthenticationFilter.doFilter(TifAuthenticationFilter.java:135)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at com.minstone.platform.bdm.sys.filter.LoginFilter.doFilter(LoginFilter.java:53)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at com.minstone.platform.bdm.sys.filter.LoginAutoFilter.doFilter(LoginAutoFilter.java:87)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
    at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
    at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
    at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
    at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
    at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.FilterChainImpl.doFilter(FilterChainImpl.java:45)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at com.apusic.web.container.FilterComponent.doFilter(FilterComponent.java:65)
    at com.apusic.web.container.FilterChainImpl.performFilter(FilterChainImpl.java:38)
    at com.apusic.web.container.WebContainer.invoke(WebContainer.java:1166)
    at com.apusic.web.container.WebContainer.doProcessRequest(WebContainer.java:947)
    at com.apusic.web.container.WebContainer.processRequest(WebContainer.java:809)
    at com.apusic.web.http.VirtualHost.processRequest(VirtualHost.java:370)
    at com.apusic.web.http.HttpServer.processRequest(HttpServer.java:317)
    at com.apusic.web.http.HttpConnectionHandler.service(HttpConnectionHandler.java:26)
    at com.apusic.web.http.ConnectionHandler.processRequest(ConnectionHandler.java:360)
    at com.apusic.web.http.ConnectionHandler.processConnection(ConnectionHandler.java:138)
    at com.apusic.web.http.ConnectionHandler.run(ConnectionHandler.java:52)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ArrayIndexOutOfBoundsException: null

版本号:

解决时间:2021-11-4

解决方案:通过查看报错中的_sysLogin__jsp.java (附件)编译文件,报错出错行是 out.write(_jspx_tt, 13347, 21); 估计是缓存问题,清空deploy 目录下的缓存后,重新部署恢复正常

界面现象:

日志截图:

解决操作: