代码:
<HTML>
<HEAD><TITLE>my first jsp</TITLE></HEAD>
<BODY>
<%!int angles[]={0,30,45,75,90}; %>
<%!int i;%>
<TABLE BORDER="2" ALIGN="center">
<TH>Angle</TH><TH>sine of Angel</TH>
<%for(i=0;i<5;i++)%>
<TR><TD><%=angles[i]%></TD>
<TD><%=Math.sin(Math.toRadians(angles[i]))%></TD>
</TR>
<%//end for loop%>
</TABLE>
</BODY>
</HTML> 
错误提示:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: 5
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.ArrayIndexOutOfBoundsException: 5
org.apache.jsp._2_4_jsp._jspService(_2_4_jsp.java:48)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.不知什么原因?谢谢各位大侠!

解决方案 »

  1.   

    ArrayIndexOutOfBoundsException: 5很明显 你的程序中有一个数组的length<=5但是你要取它的第六个的值,自己看看代码看哪里有数组的操作
      

  2.   

    <%for(i=0;i<5;i++)%>
    <TR><TD><%=angles[i]%></TD>
    <TD><%=Math.sin(Math.toRadians(angles[i]))%></TD>
    </TR>
    <%//end for loop%>
    -------------------------------------------------------------
    楼主想写成
    for(i=0;i<5;i++)
    {
     <%=angles[i]%>
     <%=Math.sin(Math.toRadians(angles[i]))%>
    }
    吧?
    是不是少加了"{}"? 
      

  3.   

    提示的确实是数组越界,只不过引起的原因就是由于你的FOR循环不对。