Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
使用servlet和JSP创建一个示例登录页面?_Jsp_Servlets - Fatal编程技术网

使用servlet和JSP创建一个示例登录页面?

使用servlet和JSP创建一个示例登录页面?,jsp,servlets,Jsp,Servlets,我开发了一个用于验证用户名和密码的示例登录页面。如果用户提供了正确的凭据,页面将导航到其他页面,否则将从servlet向同一登录页面返回消息 我已将样本code附于此: FirstJSP.jsp 它工作正常,但在加载登录页面时,它会自动显示Null。然后,如果用户提供了错误的凭据,它将显示实际的消息。如何在运行时禁用Null消息?您实际上没有使用doGet()方法。当您打开页面时,它会发出GET请求,而不是POST 请尝试将doPost()改为service()。。。然后使用相同的方法处理GET

我开发了一个用于验证用户名和密码的示例登录页面。如果用户提供了正确的凭据,页面将导航到其他页面,否则将从
servlet
向同一登录页面返回消息

我已将样本
code
附于此:

FirstJSP.jsp
它工作正常,但在加载登录页面时,它会自动显示
Null
。然后,如果用户提供了错误的凭据,它将显示实际的消息。如何在运行时禁用
Null
消息?

您实际上没有使用doGet()方法。当您打开页面时,它会发出GET请求,而不是POST

请尝试将doPost()改为service()。。。然后使用相同的方法处理GET和POST请求


您正在使用
=
将消息与空字符串进行比较

首先,您的比较是错误的,因为消息将为null(而不是空字符串)

其次,这是错误的,因为对象必须与
equals()
进行比较,而不是与
=
进行比较

第三,这是错误的,因为您应该避免在JSP中使用Scriptlet,而是使用JSP EL、JSTL和其他自定义标记:

<c:id test="${!empty message}">
    <c:out value="${message}"/>
</c:if>

如我所见,您正在使用==将消息与空字符串进行比较

编写完整的代码非常困难,但我可以告诉您代码的流程- 首先,在将返回连接的对象中创建db类和方法。 其次,创建一个servlet(exlogin.java)&将该db类导入到该servlet中。 第三,在新操作符的帮助下创建导入的db类的实例&调用该db类的连接方法。 第四,creaet prepared语句&execute语句&将此代码放入try-catch块进行异常处理。在try块中使用if-else条件根据成功或失败来导航登录页面

我希望,这会对你有所帮助。如果有任何问题,请回复


Nikhil Pahariya

Hi JB我使用了.equals()方法,但这也引发了一些异常,比如“NullPointerException”是的,因为正如我在第1点中所说:消息将为null。不是空字符串。您的测试应该是
if(request.getAttribute(“message”)!=null
。如果必须将其与空字符串进行比较,则应该使用
equals()
package com.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Login extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    public Login() {
        super();
    }
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("Name");
        String password = request.getParameter("Pass");
        response.setContentType("text/html");
        if(username.equals("sugan") && password.equals("raj")) {
            response.getWriter().println("<html><body><Marquee>Welcome to JSP!!!</marquee></body></html>");                
        } 
        else {                
            String message = "OOps!!! Invalid Username/Password";
            request.setAttribute("message", message);
            request.getRequestDispatcher("/FirstJSP.jsp").forward(request, response);                
        }
    }
}
<c:id test="${!empty message}">
    <c:out value="${message}"/>
</c:if>