教师管理平台-----servlet+html登陆注册以及通过json在前端显示

第一个功能,就是教师与学生的登陆和注册,废话少说,开撸
数据表(暂定):

在这里插入图片描述

目录结构:

在这里插入图片描述

代码略多,但大多数逻辑相同每个就举一个例子

Dao:

package Dao.Impl;

import Dao.UserDao;
import Domain.User;
import Utils.JDBCUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;

import java.sql.SQLException;

public class UserDaoImpl implements UserDao {
    //    创建jdbcUtils
    QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource());

    public boolean register(User user) throws SQLException {
//        注册前判断是否已经存在,包括手机号和类型
        String sql2="select * from user where phone = ? and IDType = ?";
        User query = queryRunner.query(sql2, new BeanHandler<User>(User.class), user.getPhone(),user.getIDtype());
//        不存在
        if (query==null) {
            String sql = "insert into user values(?,?,?,?,?,?,?,?,?)";
            int result = queryRunner.update(sql,
                    user.getId(),
                    user.getNickname(),
                    user.getUsernumber(),
                    user.getPhone(),
                    user.getPassword(),
                    user.getPicture(),
                    user.getSex(),
                    user.getSignature(),
                    user.getIDtype());
            if (result > 0) {
                return true;//注册成功
            } else {
                return false;//注册失败
            }
//            账号已存在
        }else{
            return false;
        }

    }

    @Override
    public User login(String phone, String password, String IDType) throws SQLException {
        String sql="select * from user where phone=? and password = ? and IDType= ?";
        User query = queryRunner.query(sql, new BeanHandler<User>(User.class),phone,password,IDType);
        return query;
    }

    @Override
    public User select(String id ) throws SQLException {
        String sql="select * from user where id = ?";
        User query = queryRunner.query(sql, new BeanHandler<User>(User.class),id);
        if (query!=null){
            return query;
        }else{
            return null;
        }

    }

}

Domain

personStuJson(用于给前台传递json对象)
package Domain;

public class PersonStuJson {
    private String id;
    private String nickname;
    private String usernumber;
    private String phone;
    private int sex;

    @Override
    public String toString() {
        return "PersonStuJson{" +
                "id='" + id + '\'' +
                ", nickname='" + nickname + '\'' +
                ", usernumber='" + usernumber + '\'' +
                ", phone='" + phone + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getUsernumber() {
        return usernumber;
    }

    public void setUsernumber(String usernumber) {
        this.usernumber = usernumber;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public int getSex() {
        return sex;
    }

    public void setSex(int sex) {
        this.sex = sex;
    }
}

Service

UserService(接口)
public interface UserService {
//    注册
    public boolean register(User user) throws SQLException;
//    登陆
    public User login(String phone,String password,String IDType) throws SQLException;
    //    根据id查找
    public User select(String id) throws SQLException;
}

Servlet

RegisterServlet:
package Servlet;

import Domain.User;
import Service.Impl.UserServiceImpl;
import Service.UserService;
import Utils.CreateUUID;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;

@WebServlet(name = "RegisterServlet")
public class RegisterServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        设置编码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("gb2312");
//        设置输出

        PrintWriter out = response.getWriter();
//        获得值
        String nickname = request.getParameter("nickname");
        String phone = request.getParameter("phone");
        String password = request.getParameter("password");
        String person = request.getParameter("person");
//        System.out.println(nickname+"---"+usernumber+"---"+password+"---"+person);
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        CreateUUID uuid = new CreateUUID();
        System.out.println(df.format(new Date()));
//        封装JavaBean
        User user = new User();
        user.setId(uuid.createUUID());
        user.setNickname(nickname);
        user.setPhone(phone);
        user.setPassword(password);
        user.setPicture(null);
        user.setSex(2);
        user.setSignature(null);
        user.setIDtype(Integer.parseInt(person));
//        存入数据库
        UserService userService = new UserServiceImpl();
        boolean result = false;
        try {
            result = userService.register(user);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        if (result){
            out.print("注册成功");
        }
        else{
            out.print("注册失败");
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

前台html:

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-3.3.1.js"></script>
</head>
<script>
    window.onload=function () {
        // 通过后台传值判断页面显示登陆注册或者个人中心和注销
        $.getJSON(
            "person",
            function (result) {
                var json = eval(result);
                if (json.person.id != null) {
                    if (json.person.iDType == 0) {
                        $("#top").html(
                            "<a href='personStudent.html?id=" + json.person.id + "'>个人中心</a><br>" +
                            "<a href='destroy'>注销</a>"
                        )
                    } else if (json.person.iDType == 1) {
                        $("#top").html(
                            "<a href='personTeacher.html?id=" + json.person.id + "'>个人中心</a><br>"+
                            "<a href='destroy'>注销</a>"
                        )
                    } else if (json.person.iDType == 2) {
                        $("#top").html(
                            "<a href='personOther.html?id=" + json.person.id + "'>个人中心</a><br>" +
                            "<a href='destroy'>注销</a>"
                        )
                    }
                }
            }
        )
    }
</script>
<body>
<div id="top">
    <a href='register.html'>点此注册</a><br>
    <a href='login.html'>点此登陆</a><br>
</div>

</body>
</html>
personStu.html(显示学生个人信息)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-3.3.1.js"></script>
</head>
<script>

    window.onload = function () {
        // 获取url的id
        function getQueryString(name) {
            var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
            var r = window.location.search.substr(1).match(reg);
            if (r != null) {
                return unescape(r[2]);
            }
            return null;
        }
        // 获取id
        var id = getQueryString("id");
        // alert(id);
        $.getJSON(
            "PersonStu",
            // 传递id
            {"id":id},
            function (result) {
                var json = eval(result);
                $("#StuId").append(json.PersonStu.id);
                $("#StuNickname").append(json.PersonStu.nickname);
                $("#StuNumber").append(json.PersonStu.number);
                $("#StuPhone").append(json.PersonStu.phone);
                if (json.PersonStu.sex==2)
                $("#StuSex").append("保密");

            }

        )
    }
</script>
<body>
<div>
    <span>同学好</span><br>
    <span>您的id是: <span id="StuId"></span></span><br>
    <span>您的nickname是: <span id="StuNickname"></span></span><br>
    <span>您的usernumber是: <span id="StuNumber"></span></span><br>
    <span>您的phone是: <span id="StuPhone"></span></span><br>
    <span>您的sex是: <span id="StuSex"></span></span><br>
</div>
</body>
</html>

运行效果:

学生登陆和注册

在这里插入图片描述

教师登陆和注册

在这里插入图片描述

错误登陆(学生账号登陆教师)

在这里插入图片描述
代码大部分都大同小异,因为有三个角色(学生,教师,管理员),所以要写三个个人中心页面(学生查看课程,教师上传课程,管理员管理轮播图及推荐视频),index.html显示个人中心或者登陆注册时,用到了session域,登陆成功后,生成一个session,再传给另一个servlet,用于前台ajax获取,注销就是销毁session,显示个人中心通过js解析url,获得id值,再ajax传给servlet,返回json,用于显示。

注:所用jar包在前几篇博客中都有。

由于本人学生,可能有些部分可能不符合规范,欢迎各位前辈指出。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值