使用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 PahariyaHi 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>