在Servlet中使用getParameterValues时的ArrayIndexOutOfBoundsException

时间:2014-12-28 19:50:15

标签: java servlets indexoutofboundsexception

这是我的HTML .....

我接受一个输入来计算有多少输入..然后可以给出最高的四个输入....

 No Of Members: <select name="member" class="form-control">
          <option value="0">Select</option>
         <option value="1">1</option>
         <option value="2">2</option>
         <option value="3">3</option>
          <option value="4">4</option>


       </select>

 <table class="table table-bordered">

                <tbody>
                      <tr>
                        <td><input type="text" name="studentid" class="form-control" id="" placeholder="Enter Student ID"></td>
                        <td><input type="text" name="name" class="form-control" id="" placeholder="Enter Name"></td>
                        <td><input type="text" name="email" class="form-control" id="" placeholder="Enter Email"></td>
                        <td><input type="text" name="cgpa" class="form-control" id="" placeholder="Enter CGPA"></td>
                    <tr/>
                    <tr>
                        <td><input type="text" name="studentid" class="form-control" id="" placeholder="Enter Student ID"></td>
                        <td><input type="text" name="name" class="form-control" id="" placeholder="Enter Name"></td>
                        <td><input type="text" name="email" class="form-control" id="" placeholder="Enter Email"></td>
                        <td><input type="text" name="cgpa" class="form-control" id="" placeholder="Enter CGPA"></td>
                    <tr/>
                    <tr>
                        <td><input type="text" name="studentid" class="form-control" id="" placeholder="Enter Student ID"></td>
                        <td><input type="text" name="name" class="form-control" id="" placeholder="Enter Name"></td>
                        <td><input type="text" name="email3" class="form-control" id="" placeholder="Enter Email"></td>
                        <td><input type="text" name="cgpa" class="form-control" id="" placeholder="Enter CGPA"></td>
                    <tr/>
                    <tr>
                        <td><input type="text" name="studentid" class="form-control" id="" placeholder="Enter Student ID"></td>
                        <td><input type="text" name="name" class="form-control" id="" placeholder="Enter Name"></td>
                        <td><input type="text" name="email" class="form-control" id="" placeholder="Enter Email"></td>
                        <td><input type="text" name="cgpa" class="form-control" id="" placeholder="Enter CGPA"></td>
                    <tr/>


                </tbody>
            </table>

我的Servlet

首先,我在一个int类型变量中取成员no ..然后通过getParameterValues取四个不同数组中的所有四个字段。

  try{
            int member=Integer.parseInt(request.getParameter("member"));
            String stdID[]=request.getParameterValues("studentid");
            String name[]=request.getParameterValues("name");
            String email[]=request.getParameterValues("email");
            String cgpa[]=request.getParameterValues("cgpa");

            for(int i=0;i<=member;i++){

                System.out.println(stdID[i]+name[i]+email[i]+cgpa[i]);
            }


        }catch(Exception e){
            System.out.println(e);
            e.printStackTrace();

        }

当我运行此代码并选择No member(4)并填写所有字段然后按提交....

在我的控制台下面显示错误

enter image description here

我该如何解决这个问题?任何想法?

1 个答案:

答案 0 :(得分:3)

   for(int i=0;i<=member;i++){

   for(int i=0;i<member;i++){

为什么你在第三个条目中将电子邮件更改为email3?