我试图了解我是否有一个
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 的唯一方法。
但是,如果用户在控制台中修改按钮名称,那么它可能会返回
null
。
编辑: 如果有人尝试 XSS 攻击,或者向 servlet 的 POST 方法提交表单,则可以调用 POST servlet 请求。