当前位置: 代码迷 >> Java Web开发 >> 登录账户及密码均为“admin”(直接在LoginServlet类中判断)代码小弟我已经写好了,求指点!
  详细解决方案

登录账户及密码均为“admin”(直接在LoginServlet类中判断)代码小弟我已经写好了,求指点!

热度:274   发布时间:2016-04-16 22:09:13.0
登录账户及密码均为“admin”(直接在LoginServlet类中判断)代码我已经写好了,求指点!!!
1.编程实现设备管理系统登录功能
要求:
①只设计并实现JSP页面与Servlet程序(连接地址:servlet/LoginServlet)
②登录账户及密码均为“admin”(直接在LoginServlet类中判断)
③如果账户及密码正确则跳转到“../ok.jsp”页面,否则跳转到“../error.jsp”
写出登录页面login.jsp主要代码(登录表单代码)
写出Servlet程序“LoginServlet.java”主要代码(doGet方法代码)


上面是题目的要求,下面是我作答的代码。但“登录账户及密码均为“admin”(直接在LoginServlet类中判断)”我不会写,求指点,谢谢!(我不想挂科



写出登录页面login.jsp主要代码(登录表单代码)
<form method="post" action="servlet/LoginServlet">
     账号:<input type="text" name="username" id="username" />
     密码:<input type="text" name="password" id="password" />
     <input type="submit" value="点击登陆" />
    </form>
写出Servlet程序“LoginServlet.java”主要代码(doGet方法代码)
//第1步:获取登陆页面上的账号和密码
String username = request.getParameter("username");
String password = request.getParameter("password");

//第2步:验证账号和密码是否在指定的数据表中存在
UserinfoDto userinfodto = new UserinfoDto();
userinfodto.setUsername(username);
userinfodto.setPassword(password);
UserinfoDao userinfodao = new UserinfoDao();
boolean flag= userinfodao.login(userinfodto);

//第3步:flag = true,表示验证通过,跳转到成功页面;否则,flag=false,表示验证不通过,跳转到错误页面
if(flag){
response.sendRedirect("../ok.jsp");
}else{
response.sendRedirect("../error.jsp");
}
------解决方案--------------------
具体思路我觉得应该是这样子:根据输入的用户名查找数据库,若用户对象为空则直接返回,用户对象不为空则验证密码,若密码正确则向下执行,不正确则直接返回。这是我的一个思路,当然如果楼主不满意或者我理解错误,则参考过后一笑而过就好。

    UserInfoDao dao = new UserInfoDao();
    User user  = dao.getUser(userName);
    if(user == null)
        return;
    if(user.getPassword() == null 
------解决方案--------------------
 (!password.equals(user.getPassword())))
        return;
    。。。
    。。。
    。。。。
------解决方案--------------------
当然,在查找数据库之前,最好再判断一下,从输入框中获取的userName和password是否为空,这样会更严谨
------解决方案--------------------
既然都是admin的话你直接
String username = request.getParameter("username");
String password = request.getParameter("password");
=》
String username ="admin";
String password ="admin";就行了
------解决方案--------------------
看不懂微软MVP说的什么。。
大概看了一下你的题目需求,这个是java web中最最基础的东西~ 基于MVC模式的一个登陆功能~
“登录账户及密码均为“admin”(直接在LoginServlet类中判断)”我不会写
我觉得你想多了,题目只需用判断用户名和密码是否为admin,还牵扯不到数据库的操作,没必要写DAO了。直接在servlet写这样的一个方法:

public boolen checkLogin(String username,String password){
    return username.equals("andmin") && password.equals("admin");
}

为了防止出现空指针异常,你在接收参数的时候这样写:

String username = request.getParameter("username")==null?"":request.getParameter("username");
String password = request.getParameter("password")==null?"":request.getParameter("password");
  相关解决方案