jsp的MVC模式设计用户登陆注册
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模式设计用户登陆注册相关推荐
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复 ...
- 【转载】 javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册 - 孤傲苍狼 - 博 http://www.cnblogs.com/xdp-gacl/
javaweb学习总结(二十二)--基于Servlet+JSP+JavaBean开发模式的用户登录注册 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+Ja ...
- 使用MVC模式设计用户验证码登陆界面
MVC: 模型(model)-视图(view)-控制器(Controller) 1.model : 处理数据逻辑部分,对数据库进行操作,业务逻辑 2.view : 数据显示部分,用户操作 3.cont ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结(二十二):基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- javaweb学习总结——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- jsp+servlet+mysql简单实现用户登陆注册
原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 功能描述 登陆,注册,用户一览表,修改,删除,添加,模糊查询和精确查询 采用的技术及环境 JSP:前端的信息展示 Servlet:业 ...
- javaweb开发3.基于Servlet+JSP+JavaBean开发模式的用户登录注册
转载孤傲苍狼博客http://www.cnblogs.com/xdp-gacl/p/3902537.html 1.层次比较分明的项目结构图 转载于:https://www.cnblogs.com/lv ...
- MVC框架实现用户登录注册功能(连接数据库)
目录 一.简单理解MVC框架 二.项目结构 三.项目源码 3.1 User 3.2 UserDao 3.3 RegisterDao 3.4 servletControll 3.5 servletCon ...
最新文章
- 关于line-height的一些理解
- python找字符串_Python如何实现查找字符串
- Shell变量命名规则
- 优秀案例:12个精美的设计工作室 设计公司网站
- Catalan Numbers 卡特兰数
- Koa2-下载-文件流
- 第二十二课php注入,php第二十三节课
- timequest静态时序分析学习笔记之工具使用
- MySql is marked as crashed and should be repaired问题
- UE4蓝图基础02-节点的基本知识
- iframe中某些网页无法打开
- Canonical Address
- dB单位与放大倍数关系
- The server time zone value ‘乱码‘ is unrecognized or represents more than one time zone.
- 编译原理2---A Power Tool 正则表达式
- 微信之父张小龙:怎样做简单的产品经理?八
- mysql定时任务 每日执行存储过程
- ffplay 内存优化
- Levenshtein 自动机(拼音纠错)
- 华为R5和linux版什么区别,荣耀MagicBook 15锐龙版r5第三方Linux版怎么样?上手跑分评测...