用servlet验证用户名密码

来源:1-14 阶段案例

_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()不就得了,老师的方法意义何在呢


写回答 关注

3回答

  • qq_这是只仓鼠_0
    2017-03-07 13:05:26

    其实这个问题比较简单,假如用户没有登录成功,那么你的这个方法效率更高,但是假如用户登录成功了那?明显还需要再去创建USER 再去get一次request值,再SET进USER对象,然后才能将这个USER对象放进SESSION,明显效率低一些,那么你觉得用户既然登录了,有那个不愿意一次登录成功喜欢失败几次那。当然这里情况特殊,由于只是实践基础应用,未对登录成功页面传递用户登录的信息,一般来说需要使用SESSION来传递,所以那么写多半还是出于写代码的习惯。

  • 单行道上
    2017-02-15 12:49:24

    主要是这里没用到session,正常情况下都是要将user对象保存在sessionz中的,所以要新建User

    比如说,你要在登陆成功后 获得用户信息,显然第一种方法是不行的

    需要 request.getSession().setAttribute("loginUser", u); 

  • qq__3590
    2017-01-23 17:43:30

    第一种你没有用Users类,第二种新建了Users类,个人觉得没什么区别吧

JAVA遇见HTML——Servlet篇

本门课程在JSP课程的基础上,深入介绍Servlet的基础知识

160615 学习 · 1029 问题

查看课程

相似问题