login.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>登录</title><link rel="stylesheet" type="text/css" href="login.css">
</head>
<body background="1.jpg"><form action="/day14_login_war_exploded/loginServlet" method="post" class="box" name="form1"><h2 align="center">Login</h2><input class="ienp" type="text" name="username" placeholder="请输入用户名" ><input class="ienp" type="password" name="password" placeholder="请输入密码" ><input type="radio" name="permissions" value="管理员" checked>管理员<input type="radio" name="permissions" value="学生" >学生<input type="radio" name="permissions" value="教师" >教师<input type="submit" class="ienp"  value="登录"><input type="reset" class="ienp"  onclick="formReset()" value="重置"></form>
</body><script>function formReset(){document.getElementById("from1").reset()}</script>
</html>
JDBCUtils.java
public class JDBCUtils {private static DataSource dataSource;static {try {//加载配置文件Properties properties = new Properties();InputStream resourceAsStream = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");properties.load(resourceAsStream);//初始化连接池对象
//            ds=DruidDataSourceFactory.createDataSource(properties);dataSource = DruidDataSourceFactory.createDataSource(properties);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}public static DataSource getDataSource() {return dataSource;}public static Connection getConnection() throws SQLException{return dataSource.getConnection();}
}

User.java

public class User {private int id;private  String username;private  String password;private String permissions;public String getPermissions() {return permissions;}public void setPermissions(String permissions) {this.permissions = permissions;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", permissions='" + permissions + '\'' +'}';}
}
UserDao.java
public class UserDao {private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());public User login(User loginUser) {//ctrl+alt+ttry {System.out.println(loginUser.getPermissions());String sql = "select * from user where username=? and password=? and permissions=?";User user = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<User>(User.class), loginUser.getUsername(),loginUser.getPassword(),loginUser.getPermissions());return user;} catch (DataAccessException e) {
//            e.printStackTrace();return null;}}}
LoginServlet.java
@WebServlet( "/loginServlet")
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request,response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//设置编码request.setCharacterEncoding("utf-8");//获取请求参数
//        String username = request.getParameter("username");
//        String password = request.getParameter("password");
//        //封装user对象
//        User loginUser = new User();
//        loginUser.setUsername(username);
//        loginUser.setPassword(password);Map<String, String[]> parameterMap = request.getParameterMap();//创建User对象User loginUser = new User();try {BeanUtils.populate(loginUser,parameterMap);System.out.println(loginUser);} catch (IllegalAccessException | InvocationTargetException e) {e.printStackTrace();}//调用UserDao方法UserDao userDao = new UserDao();User user = userDao.login(loginUser);if(user==null){request.getRequestDispatcher("/failServlet").forward(request,response);}else {//存储数据request.setAttribute("user",user);request.getRequestDispatcher("/successServlet").forward(request,response);}}
}

SuccessServlet.java

@WebServlet("/successServlet")
public class SuccessServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//获取request域中共享的user对象User user = (User) request.getAttribute("user");if(user!=null) {response.setContentType("text/html;charset=utf-8");response.getWriter().write("登陆成功"+user.getUsername()+"欢迎您");}}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}
FailServlet.java
@WebServlet( "/failServlet")
public class FailServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");response.getWriter().write("登陆失败,用户名或者密码错误");}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}

数据库环境

界面展示

用户登录 验证数据库相关推荐

  1. 数据库用户登录验证及注册功能实现

    数据库用户登录验证及注册功能实现 1.mysql数据库安装 2.解决navicat连接mysql的密码错误问题 3.创建数据库.用户表.插入数据 (1)进入mysql数据库 (2) 创建数据库dnn_ ...

  2. 使用SSH框架实现用户登录验证

    今天,写一个非常简单的通过struts+hibernate+spring的集成来实现用户登录验证的例子,让大家了解一下三者是如何是整合的. 我们可以通过myeclipse的向导,生成相应的环境搭建,如 ...

  3. ajax登录验证的原理,ajax用户登录验证-get和post提交方式,与工作原理—2018-8-15...

    ajax用户登录验证: 实例 html> Ajax实战:表单验证 用户登录 邮箱: 密码: 提交 let btn = document.getElementsByTagName('button' ...

  4. php 语法验证_PHP用户登录验证模块

    这篇文章介绍的内容是关于PHP用户登录验证模块 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 实现用户登录 >>>1 创建登录表单 登录表单的HTML代码如下: U ...

  5. JavaWeb 实验 Servlet用户登录验证

    实验2.2 Servlet用户登录验证 实验内容: 编写JSP程序,实现用户提交登录表单给Servlet,由Servlet 查询数据库(模拟查询,不用真的连接数据库查询),对用户是否存在进行验证. 实 ...

  6. php链接mysql实例之用户登录验证以及使用cookie登录

    这篇博客实现用户登录验证以及使用cookie登录,它承接了前面的几个博客: 1. php连接mysql实例之新用户注册实现 2. php连接mysql实例之后台列表显示已注册的用户信息 3. php连 ...

  7. 数据库设计:用户登录系统数据库表设计

    用户登录系统数据库表设计 最近看了看公司后台用户登录系统的设计, 比较混乱, 主要还是因为URS和Oauth以及URS第三方这三个登录形式各不相同导致的. 下面着重介绍一下涉及到第三方登录中需要注意的 ...

  8. html登录验证功能,续:实现用户登录验证功能

    一.提纲 1.Previously前情提要 已经把Thymeleaf部署到项目中: 把前端开发的静态资源成功引入到项目中: 完成登录验证功能,登录成功跳转到success.html页面,登录失败跳转到 ...

  9. python登录验证程序_Python模拟用户登录验证

    本文实例为大家分享了Python模拟用户登录验证的具体代码,供大家参考,具体内容如下 1.功能简介 此程序模拟用户登录验证的过程,实现用户名输入.黑名单检测.用户有效性判别.密码输入及验证等.用户在3 ...

最新文章

  1. 9月Python开源项目Top10
  2. 3D人脸重建和人脸分析常用的数据集汇总
  3. php 數組重組,php數組的重組及多級下拉菜單
  4. 【基础算法-模拟-例题-*校长的问题】-C++
  5. 拼接字符串 新增数据方法
  6. malloc 源码_【C++学习笔记(九)】之 new运算符的使用/ new 与 malloc的异同(附代码,详细注释)...
  7. Spring Schedule配置及初始化
  8. 【推荐】技术人必看的音视频学习资源清单
  9. Centos7搭建Ngrok
  10. java水文模型,分布式水文模型.ppt
  11. How to get Intellisense for Web.config and App.config in Visual Studio .NET?(转载)
  12. 第二部分:开发简要指南-第六章 使用Fragments构建动态UI
  13. 为SAP列表设置新的打印格式
  14. 单片机音频谱曲软件_51单片机蜂鸣器音乐简谱转换工具
  15. 层次分析法软件操作步骤(yaahp)
  16. 【音乐可视化】音乐表演可视化软件分析
  17. 不使用imrotate 的图像旋转实现
  18. Oracle技巧之 desc+表名
  19. 【论文阅读】Extract Free Dense Labels from CLIP
  20. 每日一结(11.1)

热门文章

  1. 数据结构之数组及动态数组剖析
  2. 云超融合数据中心 CloudFabric
  3. Domino多瑙河EAP3以及Nomad Web 1.0.5
  4. JumpServer邮件设置
  5. 从3dMax导出供threeJS使用的带动作模型与加载(认真修改详尽版)
  6. python语法元素测试_基于python全局设置id 自动化测试元素定位过程解析
  7. 匿名飞控码STM32版代码整理之Ano_AttCtrl.c
  8. 如何实现只有一个路由器不同网段pc间的互通
  9. xcode和macos对应版本参考
  10. 我的世界我服务器注册密码大全,我的世界国际版账号密码大全2021