_Everglow
2017-01-22 13:56
①String username = request.getParameter("username");
String password = request.getParameter("password");
if(username.equals("admin")&&password.equals("admin")){
response.sendRedirect(request.getContextPath()+"/login_seccess.jsp");
}else{
response.sendRedirect(request.getContextPath()+"/login_failed.jsp");
}
②Users u = new Users();
String username = request.getParameter("username");
String password = request.getParameter("password");
u.setUsername(username);
u.setPassword(password);
if(u.getUsername().equals("admin")&&u.getPassword().equals("admin")){
response.sendRedirect(request.getContextPath()+"/login_seccess.jsp");
}else{
response.sendRedirect(request.getContextPath()+"/login_failed.jsp");
}
}
第一种方法也可以判断用户名密码,教学里是第二种方法,为什么要实例化Users,用set和get方式来判断用户名密码呢?
直接request.getParameter()不就得了,老师的方法意义何在呢
其实这个问题比较简单,假如用户没有登录成功,那么你的这个方法效率更高,但是假如用户登录成功了那?明显还需要再去创建USER 再去get一次request值,再SET进USER对象,然后才能将这个USER对象放进SESSION,明显效率低一些,那么你觉得用户既然登录了,有那个不愿意一次登录成功喜欢失败几次那。当然这里情况特殊,由于只是实践基础应用,未对登录成功页面传递用户登录的信息,一般来说需要使用SESSION来传递,所以那么写多半还是出于写代码的习惯。
主要是这里没用到session,正常情况下都是要将user对象保存在sessionz中的,所以要新建User
比如说,你要在登陆成功后 获得用户信息,显然第一种方法是不行的
需要 request.getSession().setAttribute("loginUser", u);
第一种你没有用Users类,第二种新建了Users类,个人觉得没什么区别吧
JAVA遇见HTML——Servlet篇
160615 学习 · 1029 问题
相似问题
回答 4
回答 4