ArrayIndexOutOfBoundsException in Tomcat Server HTML page Ti



当我尝试运行我的Tomcat服务器并在井字游戏网格中输入最底部,最右侧的最值时,我不断收到此错误:

java.lang.ArrayIndexOutOfBoundsException: 9
vejus.satya.tictactoe.Servlet.doGet(Servlet.java:33)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

这是我在表单中的 HTML 代码:

<tr>
<td><input type="radio" name="input" value="0"> </td>
<td><input type="radio" name="input" value="1"> </td>
<td><input type="radio" name="input" value="2"> </td>
</tr>
<tr>
<td><input type="radio" name="input" value="3"> </td>
<td><input type="radio" name="input" value="4"> </td>
<td><input type="radio" name="input" value="5"> </td>
</tr>
<tr>
<td><input type="radio" name="input" value="6"> </td>
<td><input type="radio" name="input" value="7"> </td>
<td><input type="radio" name="input" value="8"> </td>
</tr>

这是我的 Java 代码,它采用这个:

String[] board = new String[9];
for (int i = 0; i < 9; i ++) {
board[i] = "<input type="radio" name="input" value="" + i + "">";
}
int loc = Integer.parseInt(req.getParameter("input"));
board[loc] = "X";

我该如何解决这个问题?正如您在上面看到的,我得到的输入是 9,而我在 HTML 代码中将其设为 8,所以我不知道为什么我的输入值不起作用。这就是我收到此错误的原因。

好的,它现在可以工作了。我所做的只是从服务器中删除项目,然后再次添加它,然后运行服务器。简单的刷新分辨率

我无法重现此错误。实际上,从代码中无法识别出任何可能的错误。无论如何,我可以想到一个可能对您有所帮助的解决方案。

在 Servlet 中编码时,请确保在编辑后重新部署。


如果您使用的是 NetBeans,

窗口→项目→右键单击您的项目名称→然后单击部署。


在日食中,

  • 右键单击"包资源管理器"视图中的模型。
  • 选择导出...。
  • 选择"进程管理器向导">"部署进程模型"。
  • 单击下一步。
  • 在"部署"向导中,检查是否已选择您的流程模型。
  • 选择"完成"。

最新更新