用户登陆功能
通过设计用户的登陆和注册,来学习jsp的MVC模式,熟练掌握MVC模式各部分的内容和功能,以及练习数据的操作。
1.实验内容
1.MVC的模式包括三个内容,Model,View和Control三个部分。
2.Model的设计是一个包含用户信息的JavaBean,User.java;
3.View的设计是一个用户登陆界面的jsp页面,login.jsp;
4.Control的设计是一个处理用户登陆的servlet类,LoginServlet类;
5.在处理登陆的时候,使用到了DBConn类,实现数据库的连接和关闭,UserService类处理登陆判断的具体细节;
2.实验步骤
1.编写User.java, 属性包含id,username,password,以及他们的get和set函数。
2.编写login.jsp,在页面中包含用户名和用户密码的输入框以及提交按钮,在action属性中填写跳转的servlet类的名字;
3.编写LoginServlet.java,继承HttpServlet类,各部分的实现如下:
(1)获取表单的值:
String uname = req.getParameter("username");
String pword = req.getParameter("password");
(2)创建用户登录对象
User uuser = new User();
uuser.setUsername(uname);
uuser.setPassword(pword);
(3) 用过调用UserService的登陆判断函数,实现登陆的判断,并做出登陆成功和失败的跳转,提示用户登陆的结果。若登陆成功,将用户的JavaBean保存的session中。
UserService uService = new UserService();
if(uService.checklogin(uuser))//用户名和密码正确;
{
HttpSession session = req.getSession();
session.setAttribute("user", uuser);
ArrayList<User> aUsers = new ShowAllUsers().showUsers();
session.setAttribute("Users", aUsers);
resp.sendRedirect("ok.jsp");
}
else//登录失败返回;
{
req.setAttribute("error", "用户名或者密码输入错误!");//显示错误提示
req.getRequestDispatcher("login.jsp").forward(req, resp);
}
4.在LoginServlet.java中的处理用户登录的业务类UserService的编写,通过数据库的查询,将用户输入的信息和数据的信息进行匹配,然后返回登陆成功和失败的判断。关键代码如下:
(1)查询语句;
String sql = "select * from user where username='"+u+"' and password='"+p+"'";//sql查询语句;
(2)查询的操作;
stmt = conn.createStatement();//创建查询语句;
rs = stmt.executeQuery(sql);//执行查询语句,返回结果集;
if(rs.next())//用户可以登录;
{
user.setId(rs.getInt(1));//设置用户的id;
return true;
}
else //用户不能登录;
return false;
(3)使用数据库都得有异常处理,要适当的做些异常处理,当出现异常时,也是登陆失败的。
5.数据库的连接类DBConn,实现数据库连接和删除的操作。
(1)数据库连接的共有属性,连接字段,用户名,密码。
String url="jdbc:mysql://localhost:3306/stu";//MySQL数据库的的url
String dbun = "root";//MySQL数据库的用户名;
String dbpw="310015";//MySQL数据库的密码;
(1)数据库连接;
Connection conn=null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection(url,dbun,dbpw);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
System.out.println("数据库连接失败1!");
}
return conn;//返回数据库连接对象;
3.实验结果
1.用户登界面,如图一:
图一
(2)用户登陆成功,如图二;
图二
(3)用户登陆失败,如图三
图三
(4)注册页面,如图四;
图四
(5)用户注册成功,如图五;
图五
(6)修改用户的信息,如图六;
(7)修改成功,如图七;
(8)用户的删除操作 ,结果如图八;
4.实验分析
本次的jap的实验,通过设计MVC模式的用户登陆的,实践了MVC的使用方法。通过创建用户User.java
作为MVC的model,在页面中起到传输数据的作用;通过设计login.jsp,实现用户界面的信息的显示和
提交,提交给相应的servlet;创建LoginServlet类,实现用户的登陆判断和返回页面;另外做了一些
辅助的类,简化重复的操作,比如,数据库的连接和删除操作,编写在DBConn类中,用户信息在
数据库中的查询操作和结果在UserService类。
资源下载:
https://pan.baidu.com/s/1nMaMpQW8VgrAx5OUmxUrbg