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

  • 用户登陆功能
    • 1.实验内容
    • 2.实验步骤
    • 3.实验结果
    • 4.实验分析

用户登陆功能

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

jsp的MVC模式设计用户登陆注册相关推荐

  1. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...

  2. 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/

    javaweb学习总结(二十二)--基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+Ja ...

  3. 使用MVC模式设计用户验证码登陆界面

    MVC: 模型(model)-视图(view)-控制器(Controller) 1.model : 处理数据逻辑部分,对数据库进行操作,业务逻辑 2.view : 数据显示部分,用户操作 3.cont ...

  4. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  5. javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  6. javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. jsp+servlet+mysql简单实现用户登陆注册

    原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 功能描述 登陆,注册,用户一览表,修改,删除,添加,模糊查询和精确查询 采用的技术及环境 JSP:前端的信息展示 Servlet:业 ...

  8. javaweb开发3.基于Servlet+JSP+JavaBean开发模式的用户登录注册

    转载孤傲苍狼博客http://www.cnblogs.com/xdp-gacl/p/3902537.html 1.层次比较分明的项目结构图 转载于:https://www.cnblogs.com/lv ...

  9. MVC框架实现用户登录注册功能(连接数据库)

    目录 一.简单理解MVC框架 二.项目结构 三.项目源码 3.1 User 3.2 UserDao 3.3 RegisterDao 3.4 servletControll 3.5 servletCon ...

最新文章

  1. 关于line-height的一些理解
  2. python找字符串_Python如何实现查找字符串
  3. Shell变量命名规则
  4. 优秀案例:12个精美的设计工作室 设计公司网站
  5. Catalan Numbers 卡特兰数
  6. Koa2-下载-文件流
  7. 第二十二课php注入,php第二十三节课
  8. timequest静态时序分析学习笔记之工具使用
  9. MySql is marked as crashed and should be repaired问题
  10. UE4蓝图基础02-节点的基本知识
  11. iframe中某些网页无法打开
  12. Canonical Address
  13. dB单位与放大倍数关系
  14. The server time zone value ‘乱码‘ is unrecognized or represents more than one time zone.
  15. 编译原理2---A Power Tool 正则表达式
  16. 微信之父张小龙:怎样做简单的产品经理?八
  17. mysql定时任务 每日执行存储过程
  18. ffplay 内存优化
  19. Levenshtein 自动机(拼音纠错)
  20. 华为R5和linux版什么区别,荣耀MagicBook 15锐龙版r5第三方Linux版怎么样?上手跑分评测...

热门文章

  1. file Android close,file close是什么意思
  2. 解除工商银行15分钟限制
  3. 永磁同步电机——矢量控制(基于PI调节器)
  4. 开源堡垒机Guacamole二次开发记录之一
  5. 好用的个人项目管理软件,从工作到生活,两个模式,一款软件
  6. hp6531s闪屏门 6531s闪屏
  7. 2020年中,已知本年中的第几天求解改天是2020年的几月几日星期几
  8. waitpid()函数详解
  9. php定时计划任务介绍
  10. 神奇的python系列5:python基础数据类型三(字典)