java.lang.IndexOutOfBoundsException: Index: 12, Size: 12 如题

fz198871 2011-03-15 08:29:29
首先我知道是越界,关键怎么解决,跪求高手!在线等
严重: Servlet.service() for servlet jsp threw exception
java.lang.IndexOutOfBoundsException: Index: 12, Size: 12
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.apache.jsp.NewProducts_jsp._jspService(NewProducts_jsp.java:335)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.fz.control.productsClServlet.doGet(productsClServlet.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
2011-3-15 12:28:58 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet productsClServlet threw exception
java.lang.IndexOutOfBoundsException: Index: 12, Size: 12
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.apache.jsp.NewProducts_jsp._jspService(NewProducts_jsp.java:335)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.fz.control.productsClServlet.doGet(productsClServlet.java:47)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
...全文
3951 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeacool 2011-11-30
  • 打赏
  • 举报
回复
1楼跟2楼都对,1楼指出本质,2楼指出修改方法,我刚好遇到,谢谢了
fz198871 2011-03-16
  • 打赏
  • 举报
回复
出错的servlet代码:二楼说我越界Arraylist怎么越界的,我更本没有用数组 而且打印出Arraylist里面的结果是对的,没有十三个数据,只有十二个
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String operate=request.getParameter("operate");
if(operate.equals("Details"))
{
String productsId=request.getParameter("id");
productBean pb=new productBean();
productsBeanBO pbbo=new productsBeanBO();
pb=pbbo.getProductBean(productsId);
request.setAttribute("productDetails", pb);
request.getRequestDispatcher("ProductDetails.jsp").forward(request, response);
}else if(operate.equals("moreNew"))
{

String s_pageNow=request.getParameter("pageNow");
System.out.println(s_pageNow);
request.setAttribute("pageNow", s_pageNow);
request.getRequestDispatcher("NewProducts.jsp").forward(request, response);


}
qingyuan18 2011-03-16
  • 打赏
  • 举报
回复
com.fz.control.productsClServlet.doGet(productsClServlet.java:47)
debug你这个servlet的47行代码
colachens 2011-03-16
  • 打赏
  • 举报
回复
java.lang.IndexOutOfBoundsException: Index: 12, Size: 12

下标啊,越界了,下标最大11
UPC_思念 2011-03-16
  • 打赏
  • 举报
回复
debug调试,看哪里写的有问题
licip 2011-03-16
  • 打赏
  • 举报
回复
+1[Quote=引用 1 楼 bao110908 的回复:]
size 为 12 的话,那 index 最多只能是 11,要是强行访问 12 的话就会抛出这个数组越界的异常。
[/Quote]
zhouluok007 2011-03-16
  • 打赏
  • 举报
回复
要么改 循环的最大参数, 要么就将运算符由<=改为< 上面说的都是对的
ituuz 2011-03-16
  • 打赏
  • 举报
回复
恩 数组length和下标要弄清
whut_lcy 2011-03-16
  • 打赏
  • 举报
回复
1L right
fz198871 2011-03-16
  • 打赏
  • 举报
回复
问题解决了 谢谢大家
zhb200621 2011-03-15
  • 打赏
  • 举报
回复
NewProducts_jsp.java:335
看这个,仔细检查下代码,数组的应该不多,不急,细心点
andyniuandyniu 2011-03-15
  • 打赏
  • 举报
回复
二楼对
alongines 2011-03-15
  • 打赏
  • 举报
回复
下标是从 0 到 11 的。
liuchao1989 2011-03-15
  • 打赏
  • 举报
回复 1
[Quote=引用 1 楼 bao110908 的回复:]
size 为 12 的话,那 index 最多只能是 11,要是强行访问 12 的话就会抛出这个数组越界的异常。
[/Quote]+1
runer 2011-03-15
  • 打赏
  • 举报
回复 2
要是用循环访问数组的话,把“<=”改成“<”
  • 打赏
  • 举报
回复 1
size 为 12 的话,那 index 最多只能是 11,要是强行访问 12 的话就会抛出这个数组越界的异常。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧