我还是不太懂,do.login.jsp到底是怎么引入两个类的,useBean对象的id就代表类名吗,参数为什么变成了loginUser
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> <jsp:useBean id="userDao" class="dao.UsersDao" scope="page"></jsp:useBean> <jsp:useBean id="loginUser" class="po.Users" scope="page"></jsp:useBean> <jsp:setProperty name="loginUser" property="*"></jsp:setProperty> <% request.setCharacterEncoding("utf-8");//防止中文乱码 //如果用户和密码都等于admin,则登录成功 if(userDao.usersLogin(loginUser)) { session.setAttribute("loginUser",loginUser.getUsername()); request.getRequestDispatcher("login_success.jsp").forward(request, response); } else{ response.sendRedirect("login_failure.jsp"); } %>
以上这是dologin.jsp中修改后的代码。
这一章的项目使用了jsp+javaBean的模型来写(没有用到数据库,账号密码用静态数据模拟了)
<jsp:useBean id="userDao" class="dao.UsersDao" scope="page"></jsp:useBean> <jsp:useBean id="loginUser" class="po.Users" scope="page"></jsp:useBean>
首先,这两句代码使用了jsp动作元素创建了两个javaBean,相当于java中new一个对象的操作,id属性的值就是对象名。(new一个对象出来就能使用这个对象的成员变量和成员方法,这个你应该知道吧?)
<jsp:setProperty name="loginUser" property="*"></jsp:setProperty>
然后这一句是将前台登陆页面提交的表单信息赋值给loginUser这个javaBean中的属性,这个jsp动作元素不知道的话建议你再看下这个视频http://www.imooc.com/video/3965
if(userDao.usersLogin(loginUser)) { session.setAttribute("loginUser",loginUser.getUsername()); request.getRequestDispatcher("login_success.jsp").forward(request, response); }
这个就是对表单提交的账号密码的判断了,其中“userDao.usersLogin(loginUser)”这个方法来自UserDao这个类。上面已经用<jsp:userBean>这个动作元素new出来了,对象名是userDao。
接下来就是些重定向的操作,看懂了吗?