jsp的MVC模式设计用户登陆注册

用户登陆功能

通过设计用户的登陆和注册,来学习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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章