单击提交按钮后报500错误

单击提交按钮后报500错误

HTTP Status 500 – Internal Server Error

Type 异常报告

消息 Request processing failed; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

描述 服务器遇到一个意外的情况,阻止它完成请求。

Exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
com.oa.global.EncodingFilter.doFilter(EncodingFilter.java:24)

Root Cause

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
java.util.ArrayList.rangeCheck(ArrayList.java:657)
java.util.ArrayList.get(ArrayList.java:433)
com.oa.biz.impl.ClaimVoucherBizImpl.submit(ClaimVoucherBizImpl.java:94)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212)
com.sun.proxy.$Proxy29.submit(Unknown Source)
com.oa.controller.ClaimVoucherController.submit(ClaimVoucherController.java:76)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:879)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
com.oa.global.EncodingFilter.doFilter(EncodingFilter.java:24)


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小班 2020-08-23 16:17:41

同学你好,这是正常现象呢,因为只有同一个部门的部门经理才能审核该部门员工的报销单,而在数据库中并没有1001和1002这两个员工所在部门的部门经理,只有1003和1004所在部门的部门经理。

http://img1.sycdn.imooc.com//climg/5f4225ee091aaa2d03600117.jpg

同学可能会好奇这里的财务和总经理都具有通过报销单审核的职能,他们的报销单要提交给谁处理~这里同学其实可以忽略这个问题,因为它们的程序可能会与普通员工的程序不同,可能不同的公司会有不同的操作流程,所以同学这里只需要搞明白一个员工提交的编写流程,那么根据实际的需求去编写财务和总经理的报销单流转原理是一样的。

    一个企业级的oa系统业务是很多的,还需要根据公司的实际情况来编写。课程中更多的是演示整个流程的操作。对于业务并不是很完善。略有疏忽,还望同学海涵~

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕小班 2020-08-20 16:56:51

同学你好,java.lang.StringIndexOutOfBoundsException是字符串索引越界异常。

同学可以检查一下自己的字符串截取是不是有异常,比如:

http://img1.sycdn.imooc.com//climg/5f3e3a9e09e2529107200213.jpg

继续加油  祝:学习愉快~

  • 提问者 慕容0129426 #1
    我用总经理提交才有这个错误,换个员工提交不报错,是为什么
    2020-08-23 15:23:12
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师