我正在尝试使用首次登录的注册进行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");
答案 0 :(得分:0)
首先,在登录状态
Query query = session.createQuery("from UserLog");
将返回UserLog
中的所有记录。也许您应该使用PreparedStatement
并通过使用where
子句来缩小查询范围。
此外,在Login
中,为什么要创建事务并保存记录?
第二,在Registration
中是否再次需要查询所有记录?也许是否要在添加记录之前检查记录的存在?但是再次使用where
子句。