今日打卡——昨天的练习

简单地实现了一下系统用户登录的功能和教师、学生登录后填写基本信息的功能。

这是登陆的页面,没有添加任何样式:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>login</title>
    <script type="text/css">
        form{
            align-self: center;
        }

    </script>
</head>
<body>
<form action="http://localhost:8080/web_09/userServlet?method=login" method="post" align = "center">
    <table align="center">
        <tr>
            <td>用户名:<input name="username" type="text">
        </tr>
        <tr>
            <td>
                密码:<input name = "pwd" type="password">
            </td>
        </tr>
        <tr>
            <td>
                <select name="identy">
                    <option value="0">请输入你的身份</option>
                    <option value="学生">学生</option>
                    <option value="教师">教师</option>
                </select>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" value="登录">&nbsp
            </td>
            <td>
                <a href="./zhuce.html">注册</a>
            </td>
        </tr>
    </table>
</form>
</body>
</html>
复制代码

这是学生和教师添加基本信息得页面:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>学生信息登记</title>
    <script type="text/css">
        tr{

        }
    </script>
</head>
<body>
<form align="center" action="http://localhost:8080/web_09/stuServlet?method=register" method="post">
    <table>
        <tr>
            <td>姓名:<input type="text" name = "stuName"></td>
        </tr>
        <tr>
            <td>班级:<input type="text" name="stuClass"></td>
        </tr>
        <tr>
            <td>年龄:<input type="text" name="stuAge"></td>
        </tr>
        <tr>
            <td>专业:<input type="text" name="stuMajor"></td>
        </tr>
        <tr>
            <td>学号:<input type="text" name="stuNo"></td>
        </tr>
        <tr>
            <td><input type="submit" value="提交"></td>
            <td><input type="reset" value="重填"></td>
        </tr>
    </table>
</form>
</body>
</html>
复制代码
复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form align="center" action="http://localhost:8080/web_09/teaServlet?method=register" method="post">
    <table>
        <tr>
            <td>姓名:<input type="text" name = "teaName"></td>
        </tr>
        <tr>
            <td>工号:<input type="text" name="teaNo"></td>
        </tr>
        <tr>
            <td>职位:<input type="text" name="teaPosition"></td>
        </tr>
        <tr>
            <td>年龄:<input type="text" name="teaAge"></td>
        </tr>
        <tr>
            <td><input type="submit" value="提交"></td>
            <td><input type="reset" value="重填"></td>
        </tr>
    </table>
</form>
</body>
</html>
复制代码

这分别是学生、老师、还有系统管理员用户的servlet:

复制代码
package com.web_09.servlet;

import com.web_09.bean.User;
import com.web_09.dao.Rootdao;
import com.web_09.dao.Studao;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

public class UserServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
        if(method.equals("zhuce")){
            try {
                zhuce(req,resp);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }else if(method.equals("login")){
            login(req,resp);
        }else if(method.equals("resetpd")){
            resetpd(req,resp);
        }else if(method.equals("deleteUser")){
            deleteUser(req,resp);
        }
    }

    private void deleteUser(HttpServletRequest req, HttpServletResponse resp) {

    }

    private void resetpd(HttpServletRequest req, HttpServletResponse resp) {

    }

    private void login(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        req.setCharacterEncoding("utf-8");
        String username = req.getParameter("username");
        String pwd = req.getParameter("pwd");
        String identy = req.getParameter("identy");
        System.out.println("用户名:"+username+"\n"+"密码:"+pwd);
        User user = new User(username,pwd);
        int flag = Rootdao.login(user);
        if(flag == 1 && identy.equals("学生")){
            resp.sendRedirect("stumenu.html");
        }else if(flag == 1 && identy.equals("教师")){
            resp.sendRedirect("teamenu.html");
        }else {
            resp.sendRedirect("login.html");
        }
    }

    private void zhuce(HttpServletRequest req, HttpServletResponse resp) throws Exception {
        req.setCharacterEncoding("utf-8");
        String username = req.getParameter("username");
        String pwd = req.getParameter("pwd");
        String identy = req.getParameter("identy");
        System.out.println("用户名:"+username+"\n"+"密码:"+pwd+"\n"+"用户身份:"+identy);
        Rootdao.zhuce(username,pwd);
        System.out.println("注册成功");
        if(identy.equals("教师")){
            resp.sendRedirect("registerTea.html");
        }else if(identy.equals("学生")){
            resp.sendRedirect("registerStu.html");
        }
    }
}
复制代码
复制代码
package com.web_09.servlet;

import com.web_09.bean.Student;
import com.web_09.dao.Studao;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

public class StuServlet extends HttpServlet {


    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
        if(method.equals("updatepd")){
            updatepd(req,resp);
        }else if(method.equals("retrieveCourse")){
            retrieveCourse(req,resp);
        }else if(method.equals("selectCourse")){
            selectCourse(req,resp);
        }else if(method.equals("quitCourse")){
            quitCourse(req,resp);
        }else if(method.equals("register")){
            register(req,resp);
        }
    }

    private void register(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {
        req.setCharacterEncoding("utf-8");
        String stuName = req.getParameter("stuName");
        String stuClass = req.getParameter("stuClass");
        String stuAge = req.getParameter("stuAge");
        String stuMajor = req.getParameter("stuMajor");
        String stuNo = req.getParameter("stuNo");
        int age = Integer.parseInt(stuAge);
        System.out.println("姓名:"+stuName+"\n"+"班级:"+stuClass+"\n"+"学号:"+stuNo+"\n"+"专业:"+stuMajor+"\n"+"年龄:"+stuAge);
        Student student = new Student(stuName,age,stuNo,stuMajor,stuClass);
        Studao.register(student);
        System.out.println("信息登记成功");
    }

    private void quitCourse(HttpServletRequest req, HttpServletResponse resp) {

    }

    private void selectCourse(HttpServletRequest req, HttpServletResponse resp) {

    }

    private void retrieveCourse(HttpServletRequest req, HttpServletResponse resp) {

    }

    private void updatepd(HttpServletRequest req, HttpServletResponse resp) {

    }


}
复制代码
复制代码
package com.web_09.servlet;

import com.web_09.bean.Teacher;
import com.web_09.dao.Teadao;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

public class TeaServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        String method = req.getParameter("method");
        System.out.println(method);
        if(method.equals("updatepd")){
            updatepd(req,resp);
        }else if(method.equals("retrieve")){
            retrieve(req,resp);
        }else if(method.equals("register")){
            register(req,resp);
        }
    }

    private void retrieve(HttpServletRequest req, HttpServletResponse resp) {

    }

    private void register(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException {
        req.setCharacterEncoding("utf-8");
        String teaName = req.getParameter("teaName");
        String teaNo = req.getParameter("teaNo");
        String teaPosition = req.getParameter("teaPosition");
        String teaAge = req.getParameter("teaAge");
        int age = Integer.parseInt(teaAge);
        System.out.println("教师姓名:"+teaName+"\n"+"教师工号:"+teaNo+"\n"+"教师职位:"+teaPosition+"\n"+"教师年龄:"+age);
        Teacher teacher = new Teacher(teaName,teaNo,teaPosition,age);
        Teadao.register(teacher);
        System.out.println("信息登记成功");
    }

    private void updatepd(HttpServletRequest req, HttpServletResponse resp) {

    }


}
复制代码

后台的数据库工具类

复制代码
package com.web_09.JDBC;

import com.web_09.bean.User;

import java.lang.reflect.Field;
import java.sql.*;
import java.util.ArrayList;

public class JDBC {

    //获取数据库连接
    public static Connection getConnection(){
        Connection conn = null;
        PreparedStatement pre = null;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("数据路驱动类加载成功");

            String url = "jdbc:mysql://localhost:3306/courseselect_database";
            String user = "root";
            String password = "041765rsh";

            conn = DriverManager.getConnection(url,user,password);
            System.out.println("连接成功");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    //关闭数据库连接1
    public static void close1(Connection conn, Statement state){
        try {
            if(state != null)
                state.close();
            if(conn != null)
                conn.close();
            System.out.println("连接已关闭");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    //关闭数据库连接2
    public static void close2(Connection conn,Statement state,ResultSet resultSet){
        try {
            if(state != null)
                state.close();

            if(conn != null)
                conn.close();

            if(resultSet != null)
                resultSet.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    //增删改数据
    public static void cudsql(String sql,Object ...args){
        Connection conn = null;
        PreparedStatement pre = null;
        try {
            //获取链接
            conn = JDBC.getConnection();
            //预编译sql语句
            pre = conn.prepareStatement(sql);
            //填充占位符
            for(int i = 0; i< args.length;i++){
                pre.setObject(i+1,args[i]);
            }
            //执行语句
            pre.execute();

        } catch (SQLException e) {
            e.printStackTrace();
        }
        JDBC.close1(conn,pre);
    }

    public static ArrayList<User> retrieve(User user){
        ArrayList<User>arrayList = new ArrayList<>();
        Connection conn = null;
        PreparedStatement pre = null;
        ResultSet resultSet = null;
        String sql = "select * from systemuser where username = ? and userpassword= ?";
        try {
            conn = JDBC.getConnection();
            pre = conn.prepareStatement(sql);
            pre.setString(1,user.getUserName());
            pre.setString(2,user.getUserPassword());
            System.out.println(123);
            resultSet = pre.executeQuery();
            System.out.println(1);
            while (resultSet.next()){
                String username = resultSet.getString("username");
                String password = resultSet.getString("userpassword");
                User user1 = new User(username,password);
                arrayList.add(user1);
            }
            System.out.println("查询成功");
        } catch (SQLException e) {
            System.out.println("查询失败");
        }finally {
            JDBC.close2(conn,pre,resultSet);
        }

        return arrayList;
    }
}
复制代码

学生操作studentdao、教师dao、用户dao

复制代码
package com.web_09.dao;

import com.web_09.JDBC.JDBC;
import com.web_09.bean.User;

import java.sql.Connection;
import java.util.ArrayList;

public class Rootdao {
    //注册账号
    public static void zhuce(String username,String password) throws Exception {
        Connection conn = null;
        conn = JDBC.getConnection();
        String sql = "insert into systemuser(username,userpassword)values(?,?)";
        JDBC.cudsql(sql,username,password);
    }
    //用户登录
    public static int login(User user){
        ArrayList<User>arrayList = JDBC.retrieve(user);
        System.out.println(arrayList);
        if(arrayList.size()==1){
            return 1;
        }else return 0;
    }
}
复制代码
复制代码
package com.web_09.dao;

import com.web_09.JDBC.JDBC;
import com.web_09.bean.Teacher;

import java.sql.Connection;

public class Teadao {

    //填写教师用户信息
    public static void register(Teacher tea){
        Connection conn = null;
        conn = JDBC.getConnection();
        String sql = "insert into teacher(teaname,teano,teaposition,teage)values(?,?,?,?)";
        JDBC.cudsql(sql,tea.getTeaName(),tea.getTeaNo(),tea.getTeaPosition(),tea.getTeaAge());
    }
}
复制代码
复制代码
package com.web_09.dao;

import com.web_09.JDBC.JDBC;
import com.web_09.bean.Student;


import java.sql.Connection;

public class Studao {

    //填写学生用户信息
    public static void register(Student stu){
        Connection conn = null;
        conn = JDBC.getConnection();
        String sql = "insert into student(stuame,stuage,stuno,stuclass,stumajor)values(?,?,?,?,?)";
        JDBC.cudsql(sql,stu.getStuName(),stu.getStuAge(),stu.getStuNo(),stu.getStuClass(),stu.getStuMajor());
    }
    //修改密码
    public static void updatepd(String username,String password,String newpassword){
        Connection conn = null;
        conn = JDBC.getConnection();
        String sql = "update systemuser set userpassword = ? where username = ?,userpassword = ?";
        JDBC.cudsql(sql,newpassword,username,password);
    }
    //查看所有课程信息
    //选课

}
复制代码

这是今天完成部分工作,明天争取将所有功能实现完毕。

posted @   几人著眼到青衫  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示