java - 关于 JSP & servlet & MongoDB Mlab 的问题
问题描述
我是 MongoDB Mlab 的新手,这意味着不熟悉如何使用它以及如何将它与 DAO 文件连接。我在 SERVLET 上遇到了一个技术问题。首先,我尝试从 MongoDB mlab 中提取数据,以获取登录页面用户的电子邮件和密码。而且我还使用“request.getParameter("")”方法捕获用户在登录 JSP 页面上输入的电子邮件和密码。这两点很好用,因为我已经对它们进行了测试。关于我的问题的更多信息是,当我尝试从 MongoDB mlab 中提取电子邮件和密码时,我将这两个参数存储到用户对象中,并将用户对象存储到 ArrayList 中。然后将此 Arraylist 返回到登录 Servlet。使用 for-each 循环遍历这个列表。我把代码放在下面。
当我尝试在登录页面上输入电子邮件和密码时,这是我遇到的结果 如何解决
fdao.java
package Dao;
import static com.sun.corba.se.spi.presentation.rmi.StubAdapter.request;
import java.net.UnknownHostException;
import java.sql.*;
import java.util.*;
import javax.servlet.RequestDispatcher;
import model.Book;
import model.Staff;
import model.User;
import org.bson.Document;
public class FDao {
public List<User> checkLogin() throws UnknownHostException {
Iterator it = DB.getDB().getCollection("users").find().iterator();
List<User> aUser = new ArrayList();
while(it.hasNext()){
Document o = (Document) it.next();
aUser.add(new User(o.getString("email"), o.getString("password")));
}
return aUser;
}
}
LoginServlet.java(我从登录 JSP 页面捕获字符串电子邮件和字符串密码)
@WebServlet("/Login")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LoginServlet() {
super();
}
FDao userDao = new FDao();
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String email = request.getParameter("email");
String password = request.getParameter("pass");
List<User> users = new ArrayList();
users = userDao.checkLogin();
for (User user : users) {
if (email.equals(user.getEmail()) && password.equals(user.getPassword()) ) {
//HttpSession session = request.getSession();
//session.setAttribute("user", user);
request.getRequestDispatcher("/home.jsp").include(request, response); //the problem looks like appeared in this line of code
//out.println("Hello World");
} else {
//String message = "Your account does not exist in out database!";
//request.setAttribute("message", message); //message is object
request.getRequestDispatcher("/Login.jsp").include(request, response);//the problem looks like appeared in this line of code
//out.println("Nothing");
}
break;
}
}
}
解决方案
推荐阅读
- ios - 取消 WhatsApp Swift 之类的语音注释
- python - 根据列中的行值对每个组执行扣除
- node.js - 我想使用节点 js 将 mongodb 查询结果保存到 postgresql
- java - 我已经创建了 chrome 驱动程序对象,然后我得到了 java.lang.NullPointerException
- java - 在 Sceneform 中拍照时隐藏 PlaneRenderer
- scala - 在@FXML 变量绑定之前调用'initialize'
- python-3.x - 运行 OpenCV 和 imutils 的属性错误
- javascript - 在 javaScript 中使用 == 运算符时,如何证明布尔数据类型转换为数字
- angular - Angular 5 ngForm:无法验证表单提交时的选择框选项
- c++ - C++ 可以将基类转换回派生类吗?