null和""有什么区别?

时间:2014-08-19 06:31:29

标签: html jsp if-statement

我目前正在尝试了解其他人的jsp代码,但我遇到以下代码时出现问题:

    if( request.getParameter("username")!=null &&
        !request.getParameter("username").equals(""))

用户名是用户填写HTML表单的字段。这些代码之后的代码将用户填写的数据保存到字符串中,这些字符串稍后将用于其他目的。

我的问题是上面!request.getParameter("username").equals("")代码部分的目的是什么?

是否有request.getParameter("username")!=null部分代码尚未经过测试,用户是否将信息输入HTML表单的输入字段?

此致

2 个答案:

答案 0 :(得分:1)

如果你发现了像

这样的请求
http://.../yourservlet

然后参数值将为null,因为根本没有传递名为username的参数。

如果你发现了像

这样的请求
http://.../yourservlet?username=

然后参数值将是空字符串,因为传递了参数,但它的值是空字符串。

您将收到的内容取决于HTML以及用户实际执行的操作(例如,他可以在地址栏中手动键入URL)。代码确保两个案例都以相同的方式处理。让我们假设页面中的某些JavaScript禁用了输入字段,或者在选中某个复选框时将其从DOM中删除。在这种情况下,根本不会发送参数。

答案 1 :(得分:0)

  

请求.getParameter("用户名")!= null尚未测试的部分代码是否用户是否在HTML表单的输入字段中输入信息?

没有。 HTML表单中的文本输入将始终发送值。如果没有输入任何内容,那么该值将为""