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>   </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.重新下载一个新的驱动包: 连接步骤:
- 先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();
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
线程安全和非线程安全