案例描述:jsp首页实现登录注册功能,登录进入学生管理系统,可以添加 修改 删除 选中删除数据,在修改 添加页面也有重置功能。
一. 在数据库中创建 登录表,用户表,学生表
id设置为自增长类型,往表里添加几条数据
IDEA中创建的包和类等
二.连接数据库
JDBC 就是用来连接关系型数据库的(MYSQL,sqlServer,Oracle)
Java如何连接数据库
需要先获取JDBC的驱动,前提是先有一个驱动架包
实现JDBC的步骤
1.加载Driver类,注册数据库驱动
2.通过DriverManager,使用url,用户名,密码跟数据库建立连接
3.通过Connection,获取sql语句,打开Statement对象
4.执行sql语句
5.处理结果集
6.释放资源
在mybatis-config。xml中配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--properties标签配置的整个文件都可以使用,在任何位置配置的值都可以引入进来--> <!--<properties resource="Mysql.properties"/>--> <!-- <properties url="Mysql.properties"/> 与上一行的配置一样,不能同时存在--> <!-- <!–扫描实体类–> <typeAliases> <!– <package name="com.hsd.entity"/>–> <typeAlias alias="User" type="com.hsd.entity.User"/> </typeAliases>--> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql:///pqf?useSSL=false&useServerPrepStmts=true"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!-- mapper映射器--> <mappers> <!-- 一个一个扫描--> <!-- <mapper resource="com.hsd.mapper.UserMapper"/> <mapper class="com.hsd.mapper.UserMapper"/>--> <!--2.扫描mapper,自动扫描mapper包中的接口与xml--> <!--package name="com.hsd.mapper"/--> <package name="com.hsd.mapper"/> </mappers> </configuration>
三.先在entity包中写student类
package com.hsd.entity; public class Student { private int id; private String name; private int age; private String sex; private String hobby; private String time; public Student() { } public Student(int id, String name, int age, String sex, String hobby, String time) { this.id = id; this.name = name; this.age = age; this.sex = sex; this.hobby = hobby; this.time = time; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } }
四.前端页面
<%--
Created by IntelliJ IDEA.
User: Huawei
Date: 2022/10/27
Time: 16:52
To change this template use File | Settings | File Templates.
--%>
<%--登录页面:user.jsp--%>
<%--登录的表单--%>
<%--1.创建form表单,创建账号和密码的输入框--%>
<%--2.给登录按钮绑定点击事件--%>
<%--3.获取用户名和密码的值--%>
<%--4.判断账号是否为空--%>
<%--如果为空就提示用户‘账号不能为空’(赋值给span标签)并return返回--%>
<%--5.判断密码是否为空--%>
<%--如果为空就提示用户‘密码不能为空’(赋值给span标签)并return返回--%>
<%--6.如果都不为空就提交表单,跳转到后端--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>登录</title>
</head>
<body>
<div style="text-align: center">
<h2>登录页面</h2>
<form action="UserServlet" method="get" id="userForm">
账号:<input type="text" name="username" id="username" value="${messageModel.object.username}"><br/>
密码:<input type="password" name="password" id="password" value="${messageModel.object.password}"><br/>
<div style="color: red" id="div" >${messageModel.msg}</div>
<%--
<input type="submit">
--%>
<button type="button" id="but">登录</button>
<button type="button"><a href="register.jsp" style="text-decoration: none">注册</a></button>
</form>
</div>
</body>
<%--引入jquery-3.4.1.js插件--%>
<script src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
<%-- 通过id选择器,给登录按钮绑定一个点击事件--%>
$("#but").click(function () {
//通过id选择器获取账号和密码
var username=$("#username").val();
var password=$("#password").val();
//判断是否为空,为空就返回true,不为空就返回false
function isEmpty(str) {
if(str ==null||str.trim()==""){
return true;//为空
}
return false;//不为空
}
//判断账号是否为空
if(isEmpty (username )){
// 如果为空就提示用户’账号不能为空‘(赋值给span标签)并return返回
$("#div").html("账号不能为空")
return;
}
//判断密码是否为空
if(isEmpty (password )){
// 如果为空就提示用户’密码不能为空‘(赋值给span标签)并return返回
$("#div").html("密码不能为空")
return;
}
// 6.如果都不为空,就提交表单,跳转到后端
$("#userForm").submit();
});
</script>
</html>
<%--
注册页面
Created by IntelliJ IDEA.
User: Huawei
Date: 2022/10/27
Time: 16:52
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<html>
<head>
<title>注册</title>
</head>
<body>
<div style="text-align: center">
<h2>注册页面</h2>
<form action="RegisterServlet" method="get" id="registerForm">
账号:<input type="text" name="username" id="username" value="${messageModel.object.username }"><br/>
密码:<input type="password" name="password" id="password" value="${messageModel.object.password}" ><br/>
重复密码:<input type="password" name="password2" id="password2" ><br/>
<div style="color: red" id="div" >${messageModel.msg}</div>