Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在转发或重定向表单参数后获取null_Java_Http_Jsp_Servlets - Fatal编程技术网

Java 在转发或重定向表单参数后获取null

Java 在转发或重定向表单参数后获取null,java,http,jsp,servlets,Java,Http,Jsp,Servlets,我有一个非常简单的登录servlet,代码如下: userName = request.getParameter("username"); password = request.getParameter("password"); if ("xxx".equals(userName) && "xxx".equals(password)) { RequestDispatcher requestDisSecure = reque

我有一个非常简单的登录servlet,代码如下:

            userName = request.getParameter("username");
    password = request.getParameter("password");

    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    }
    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    }
    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    }
    if ("xxx".equals(userName) && "xxx".equals(password)) {
        RequestDispatcher requestDisSecure = request
                .getRequestDispatcher("VendorList_Secure.jsp");
        requestDisSecure.forward(request, response);
    } else {
        /**
         * Unauthenticated user
         */
        RequestDispatcher requestDisUnSecure = request
                .getRequestDispatcher("VendorLoginError.jsp");
        requestDisUnSecure.forward(request, response);
    }
我们从VendorLogin.jsp获得这个servlet逻辑,它具有username和password参数,如果登录正确,它将很好地转发到VendorList_Secure.jsp,如果不正确,它将转发到VendorLogin.jsp,但是在输入新的用户名和密码并点击上述servlet之后,我得到的用户名和密码参数都是null,而不是servlet中新更新的值

我尝试了重定向,但得到了相同的效果

我知道我可以通过保护web.xml中的资源来更好地实现登录,但我想知道为什么这个简单的示例不起作用

那么我做错了什么


非常感谢

您的登录jsp应该包含用户名和密码作为名称的元素

<input type="text" name="username" id="txtUserName" />

表单元素应与getParameter中给出的名称匹配

userName = request.getParameter("username");
password = request.getParameter("password");
那就像下面一样

<input type="text" name="username"  />
<input type="password" name="password"  />


也有相同的,我第一次向servlet请求正确的凭据时,就可以访问VendorList_Secure.jsp。但是,在发送错误的用户名和密码并转发到VendorLoginError.jsp后,我没有得到新的更新值,我得到的只是空值。我忘记在VendorLoginError.jsp中输入name属性,这是一个多么愚蠢的错误;)有时候会发生的