jsp 文件中的提交按钮何时会 return servlet 中的 "null" 值?

When will a submit button in a jsp file return a "null" value in the servlet?

我想知道我是否有一个 fill.jsp 格式如下的文件:

<form action="calculate" method="post">
    <input id="userName" type="text" name="userName">
    <input id="grossPay" type="number" name="grossPay">
    <input id="noOfDependents" type="number" name="noOfDependents">
    <input id="btn" type="submit" name="submit" value="Submit">
</form>

然后我有一个使用以下方法的 servlet:

protected void processRequest(HttpServletRequest request, 
                              HttpServletResponse response)
                              throws ServletException, IOException 
{
     response.setContentType("text/html;charset=UTF-8");
     String url = "/fill.jsp";
     String buttonValue = request.getParameter("submit");

     if(buttonValue != null)
     {
         // do something here
     }
}

我正在努力了解,buttonValue == null什么时候?每次单击按钮时,我都会得到值“Submit”。我无法理解什么时候才能获得按钮的“null”值?

一般情况下,你永远不会得到null的按钮值。

这是因为提交表单的唯一方法是单击“提交”按钮。

此外,考虑到它是一个 POST 请求,它确实是调用 servlet 的唯一方法。

但是,如果用户在控制台中修改了按钮名称,则有一种可能会 return null.

编辑: 可以调用 POST servlet 请求,如果有人试图进行 XSS 攻击,或者向 POST servlet 的方法。