IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 用户登录 验证数据库 -> 正文阅读

[大数据]用户登录 验证数据库

?

?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;
    }

    @Override
    public 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+t
        try {
            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);
    }
}

数据库环境

界面展示

?

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:54:36  更:2021-10-07 13:56:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:26:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码