登录和注册Servlet

时间:2019-07-22 00:31:59

标签: java mysql authentication hibernate-mapping registration

我正在尝试使用首次登录的注册进行servlet。所以我有登录表单的问题。有人可以告诉我如何匹配两个servlet中的数据吗?

如果可以的话,我一直在想这样的事情,所以我尝试了所有想到的事情。我不知道这是否完全错误。

if ((super.equals(ul.getEmail())) && (super.equals(ul.getPassword()))) { 

if(u.getEmail().equals(ul.getEmail()))....{

//( u is User u;)

登录

 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    int Id;
    String email= request.getParameter("email");
    String password= request.getParameter("password");
    UserLog ul = new UserLog(email, password);

    Session session= HibernateUtil.getSessionFactory().openSession();
    Query query = session.createQuery("from UserLog");
    List users = query.list();
    Transaction t = session.beginTransaction();

    Id = (int) session.save(ul);
    t.commit();
    session.close();
    response.sendRedirect("index.jsp");

注册

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    int user_id;
    String name= request.getParameter("name");
    String lname= request.getParameter("lname");
    String username= request.getParameter("username");
    String email = request.getParameter("email");
    String password = request.getParameter("password");
    String password2 = request.getParameter("password2");

    User u = new User(name, lname, username, email, password, password2);

    Session session= HibernateUtil.getSessionFactory().openSession();
    Query query = session.createQuery("from User");
    List users = query.list();

    Transaction t = session.beginTransaction();
    user_id = (int) session.save(u);
    session.save(u);
    t.commit();
    session.close();
    response.sendRedirect("index.jsp");

1 个答案:

答案 0 :(得分:0)

首先,在登录状态

Query query = session.createQuery("from UserLog");

将返回UserLog中的所有记录。也许您应该使用PreparedStatement并通过使用where子句来缩小查询范围。

此外,在Login中,为什么要创建事务并保存记录?

第二,在Registration中是否再次需要查询所有记录?也许是否要在添加记录之前检查记录的存在?但是再次使用where子句。