JavaWeb登入窗口实现,连接数据库

1.学生界面前端代码

<body>
    <form  class="table_login" action="/web1/LoginServlet_student" method="post">//这里的action是当点击submit按钮是=时跳转到的servlet。
        <div class="login_windows">学生登入页面</div>

        <form>
            <span style="padding-left: 10px"><input type="button" class="text_login" name="teacherlogin"  value="教师登入" onclick="window.location.href=Teacher Login Windows .jsp"></span>

            <span style="padding-left: 50px"><input type="button" class="text_login" name="studentlogin" value="学生登入"></span><br><br>
            <label for="username">用户名:</label>
            <input type="text" class="td_text1" name="username" id="username" placeholder="请输入用户名"><br><br>
            <label for="username">密码:</label>
            <span>&nbsp&nbsp&nbsp</span><input type="password" class="td_text1" name="password" id="password" placeholder="请输入密码"><br><br>
            <span style="padding-left: 30px;"><input type="submit" class="text_login" name="login" id="login" value="登入"></span>
            <span style="padding-left: 50px"><input type="button" class="text_login" name="register" id="register" value="注册" onclick="window.location.href=register.jsp"></span>      
        </form>
    </form>
</body>

2.在连接数据库时,要到文件中修改url以及数据库的账号和密码

并且还需要添加文件的虚拟路径,在编写Java代码的路径时不加虚拟路径,因为会默认添加,但是在编写jsp代码时,需要加上前面的虚拟路径。

LoginServlet_student代码

在UserDao类中编写与数据库进行操作的代码

public class UserDao {
          
   

    //声明JDBCTemplate对象公用
    private JdbcTemplate template =new JdbcTemplate(JDBCUtil.getDataSource());

    public User login(User loginUser) {
          
   

        //编写sql
        try {
          
   
            String sql = "select * from user where username = ? and password = ?";
            //调用query  方法
            User user = template.queryForObject(sql,
                    new BeanPropertyRowMapper<User>(User.class),
                    loginUser.getUsername(), loginUser.getPassword());

            return user;
        } catch (DataAccessException e) {
          
   
            e.printStackTrace();
            return null;
        }
    }
}

eclipse连接数据库

1.刚开始一直连接不上,原因有可能是因为我的驱动包太久了。 2.重新下载一个新的驱动包: 连接步骤:

  1. 先build,mysql-connector-java驱动包 2.加载驱动 3.连接数据库
Class.forName("com.mysql.cj.jdbc.Driver");// 加载驱动
				String jdbc = "jdbc:mysql://localhost:3306/person?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";;
				Connection conn = DriverManager.getConnection(jdbc, "root", "root");// 链接到数据库

				String sql = "select * from client where username=? and passwork=?";
				PreparedStatement state = conn.prepareStatement(sql);
				state.setString(1, usernameString);
				state.setString(2, passworkString);
				ResultSet resultSet = state.executeQuery();
				if (resultSet.next()) {
          
   
					System.out.println("登入成功" + resultSet.getString(1) + "欢迎你");
				} else {
          
   
					System.out.println("登入失败。账号或密码有误");
				}
				resultSet.close();
				conn.close();
经验分享 程序员 微信小程序 职场和发展