Java Post重定向Get似乎正在工作,但JSP结果什么也不显示

Java Post重定向Get似乎正在工作,但JSP结果什么也不显示,java,jsp,redirect,post,servlets,Java,Jsp,Redirect,Post,Servlets,要点:我有一个JSP表单(MyForm.JSP),它接受用户输入并将其传递给我的第一个servlet(“/myfirstservlet”) 此servlet将用户输入值的SQL插入myFruits表,然后将用户重定向到my results servlet(“/results”) My results servlet然后检查一个“ADD”参数,如果参数为“true”(即它等于“success”),它最终会将用户重定向到My results JSP(results.JSP),它存储在路径中:WEB-

要点:我有一个JSP表单(
MyForm.JSP
),它接受用户输入并将其传递给我的第一个servlet(
“/myfirstservlet”

此servlet将用户输入值的SQL插入my
Fruits
表,然后将用户重定向到my results servlet(
“/results”

My results servlet然后检查一个
“ADD”
参数,如果参数为“true”(即它等于
“success”
),它最终会将用户重定向到My results JSP(
results.JSP
),它存储在路径中:
WEB-INF/MyFolder/results.JSP

我的JSP表单(
MyForm.JSP
)也存储在路径中:
WEB-INF/MyFolder/MyForm.JSP

控制台上的一切运行都没有错误,但是为什么我的结果JSP(现在有URL:
“Results?ADD=success”
?)没有显示任何内容

我的JSP表单(
MyForm.JSP
):

我的结果servlet(
“/results”
):

我的结果JSP(
Results.JSP
):


结果JSP

因为这句话,你什么都看不到:

 if (request.getParameter("ADD").equals("SUCCESS"))
.equals()
区分大小写。您正在检查“SUCCESS”,但将“SUCCESS”作为值传递

这意味着这条线永远不会运行:

request.getRequestDispatcher("WEB-INF/MyFolder/Results.jsp").forward(request, response);
所以是空白页

您可以将值以大写形式发送,也可以将
.equals()
更改为
.contains()

第一个
“/myfirstservlet”
替换为
响应。发送重定向(“结果?添加=成功”);
更改为
响应。发送重定向(/results?添加=成功”);

“/results”
servlet方法中的第二个方法应该是
doGet
。您使用了
doPost
。在这个servlet中,不使用
if(request.getParameter(“ADD”).equals(“SUCCESS”)
use
if(request.getParameter(“ADD”).equalsIgnoreCase(“SUCCESS”))

我认为在
result.jsp
中是第三个

<% ArrayList<String> list = (ArrayList<String>) utilitySQL.sqlSelectAll("Select * FROM fruits;");

如果去掉参数,为什么会转到结果页,我不确定。但我猜这可能与空指针异常有关。(在计算equals()之前检查空值是值得的……否则会得到空指针异常)utilitySQL中有什么?您在sqlInsert中提交了数据吗?您应该添加sqlSelectAll和sqlInsert中使用的代码。是的,我确信我已经提交了插入,因为我可以使用PhpMyAdmin查看数据库本身。utilitySQL类中没有问题。新创建的列表没有引用select查询的输出。因此,si列表的大小将始终为零。
<body>
<h1>Results JSP</h1>


   <%ArrayList<String> list = (ArrayList<String>) 

   utilitySQL.sqlSelectAll("Select * FROM fruits;");

   for(int i=0; i<list.size(); i++)
   {%>
      <div><%=list.get(i)%></div>
   <%
   }%>

</body>
 if (request.getParameter("ADD").equals("SUCCESS"))
request.getRequestDispatcher("WEB-INF/MyFolder/Results.jsp").forward(request, response);
<% ArrayList<String> list = (ArrayList<String>) utilitySQL.sqlSelectAll("Select * FROM fruits;");
<% ArrayList<Your class name> list = (ArrayList<String>) utilitySQL.sqlSelectAll("Select * FROM fruits;");
for(int i=0; i<list.size(); i++)

       {%>
          <div><%=list.get(i)%></div>
       <%
       }%>