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");