基于MySQL,Servlet和jsp的简陋的学生作业管理系统

简陋的学生作业管理系统

基本功能有:老师:添加学生,添加作业,查询作业
学生:根据已有作业进行提交
比较简陋,没有设置权限在这里插入图片描述上图是主界面,可点击相应连接进入对应界面
在这里插入图片描述
学生提交作业界面
在这里插入图片描述
作业查询界面
在这里插入图片描述
老师添加作业界面
在这里插入图片描述
老师添加学生界面

代码主要分为实体类,jdbc,servlet和jsp几部分,忽略test部分
在这里插入图片描述
主要展示一下jdbc,servlet和jsp部分

jdbc部分与MySQL连接,并传输数据:

学习jdbc可参照:https://www.runoob.com/w3cnote/jdbc-use-guide.html

public class Homeworkjdbc {
    public static void addHomework(Homework h){
        String url="jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        String driverName="com.mysql.jdbc.Driver";
        String insert_sql = "insert into school.s_homework (title,content,create_time,update_time) "
                + "VALUES (?,?,?,?)";
        try(Connection connection= DriverManager.getConnection(url,"root","123456")){
            PreparedStatement stat = connection.prepareStatement(insert_sql);
            stat.setString(1, h.getTitle());
            stat.setString(2, h.getContent());
            stat.setObject(3, h.getCreateTime());
            stat.setObject(4, h.getUpdateTime());
            int i = stat.executeUpdate();
        }catch (SQLException e) {
            e.printStackTrace();
        }
    }
}在这里插入代码片
public class StudentHomeworkjdbc {
    public static void addStudentHomework(Long studentid,Long homeworkid){
        String url="jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        String driverName="com.mysql.jdbc.Driver";
        String selects_sql="select * from school.s_student where id='"+studentid+"'";
        String selecth_sql="select * from school.s_homework where id='"+homeworkid+"'";

        boolean fs=false;
        boolean fh=false;
        StudentHomework sh=new StudentHomework();
        Student s=new Student();
        Homework h=new Homework();
        try{
            Connection connection= DriverManager.getConnection(url,"root","123456");
            Statement statement=connection.createStatement();
            ResultSet resultSet=statement.executeQuery(selects_sql);
            while(resultSet.next()){
                if(resultSet.getLong("id")==studentid){
                    s.setId(resultSet.getLong("id"));
                    s.setName(resultSet.getString("name"));
                    fs=true;
                }
            }
            ResultSet resultSet2=statement.executeQuery(selecth_sql);
            while(resultSet2.next()){
                if(resultSet2.getLong("id")==homeworkid){
                    h.setId(resultSet2.getLong("id"));
                    h.setTitle(resultSet2.getString("title"));
                    h.setContent(resultSet2.getString("content"));
                    fh=true;
                }
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }
        if(fs==true&&fh==true){
            sh.setStudentId(s.getId());
            sh.setHomeworkId(h.getId());
            sh.setHomeworkTitle(h.getTitle());
            sh.setHomeworkContent(h.getContent());
            Date date = new Date();
            sh.setCreateTime(date);
            sh.setUpdateTime(date);
            String insert_sql = "insert into school.s_student_homework (student_id,homework_id,homework_title" +
                    ",homework_content,create_time,update_time) VALUES (?,?,?,?,?,?)";
            try(Connection connection= DriverManager.getConnection(url,"root","123456")){
                PreparedStatement stat = connection.prepareStatement(insert_sql);
                stat.setLong(1,sh.getStudentId());
                stat.setLong(2,sh.getHomeworkId());
                stat.setString(3, sh.getHomeworkTitle());
                stat.setString(4, sh.getHomeworkContent());
                stat.setObject(5, sh.getCreateTime());
                stat.setObject(6, sh.getUpdateTime());
                int i = stat.executeUpdate();
            }catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }
    public static List<StudentHomework> selectAll(){
        String url="jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        String driverName="com.mysql.jdbc.Driver";
        String sqlString="select * from school.s_student_homework";
        try {
            Class.forName(driverName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        List<StudentHomework> list = new ArrayList<>();
        try(Connection connection= DriverManager.getConnection(url,"root","123456")){
            try(Statement statement=connection.createStatement()){
                try(ResultSet resultSet=statement.executeQuery(sqlString)){
                    while(resultSet.next()){
                        StudentHomework sh = new StudentHomework();
                        sh.setId(resultSet.getLong("id"));
                        sh.setStudentId(resultSet.getLong("student_id"));
                        sh.setHomeworkId(resultSet.getLong("id"));
                        sh.setHomeworkTitle(resultSet.getString("homework_title"));
                        sh.setHomeworkContent(resultSet.getString("homework_content"));
                        sh.setCreateTime(resultSet.getTimestamp("create_time"));
                        list.add(sh);
                    }
                }
            }
        }catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
}

public class Studentjdbc {
    public static void addStudent(Student s){
        String url="jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&characterEncoding=utf-8&useSSL=false";
        String driverName="com.mysql.jdbc.Driver";
        String insert_sql = "insert into school.s_student VALUES (?,?,?,?)";
        try(Connection connection= DriverManager.getConnection(url,"root","123456")){
            PreparedStatement stat = connection.prepareStatement(insert_sql);
            stat.setLong(1, s.getId());
            stat.setString(2, s.getName());
            stat.setObject(3, s.getCreateTime());
            stat.setObject(4, s.getUpdateTime());
            int i = stat.executeUpdate();
        }catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

servlet进行网页端和数据库的数据传输:


@WebServlet("/addHomework")
public class AddHomeworkServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Homework h = new Homework();

        h.setTitle(req.getParameter("title"));
        h.setContent(req.getParameter("content"));
        Date date = new Date();
        h.setCreateTime(date);
        h.setUpdateTime(date);

        Homeworkjdbc.addHomework(h);

    }

}
@WebServlet("/addStudentHomework")
public class AddStudentHomeworkServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Long studentid=(Long.valueOf(req.getParameter("student_id")));
        Long homeworkid=(Long.valueOf(req.getParameter("homework_id")));

        StudentHomeworkjdbc.addStudentHomework(studentid,homeworkid);

    }


}
@WebServlet("/addStudent")
public class AddStudentServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        Student s= new Student();
        s.setId(Long.valueOf(req.getParameter("id")));
        s.setName(req.getParameter("name"));
        Date date = new Date();
        s.setCreateTime(date);
        s.setUpdateTime(date);
        Studentjdbc.addStudent(s);
    }


}

@WebServlet("/list")
public class StudentHomeworkServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<StudentHomework> list = StudentHomeworkjdbc.selectAll();
        req.setAttribute("list",list);
        req.getRequestDispatcher("StudentHomework.jsp").forward(req,resp);

    }


}

jsp部分,展示和获取数据的网页:

<html>
<head>
    <title>Add Student</title>
</head>
<body>
<form action="addStudent" method="post">
    <label> ID:</label>
    <input type="text" name="id" placeholder="输入id" />
    <label> Name:</label>
    <input type="text" name="name" placeholder="输入name" />
    <input type="submit" value="确认"/>
</form>

</body>
</html>
<html>
<head>
    <title>Student Homework</title>
</head>
<body>
<table align="center" width="960" border="1" bgcolor="#ffebcd" cellpadding="1" cellspacing="1">
    <tr align="center" bgcolor="#cd5c5c" height="50">
        <td>ID</td>
        <td>学生学号</td>
        <td>作业编号</td>
        <td>作业标题</td>
        <td>作业内容</td>
        <td>创建时间</td>
    </tr>
    <%
        List<StudentHomework> list = (List<StudentHomework>) StudentHomeworkjdbc.selectAll();
        if(null==list||list.size()<=0){
            out.println("None data.");
        }else{
            for(StudentHomework sh:list){
    %>
    <tr align="center" height="30">
        <td><%=sh.getId()%></td>
        <td><%=sh.getStudentId()%></td>
        <td><%=sh.getHomeworkId()%></td>
        <td><%=sh.getHomeworkTitle()%></td>
        <td><%=sh.getHomeworkContent()%></td>
        <td><%=sh.getCreateTime()%></td>

    </tr>
    <%
            }
        }
    %>

</table>
</body>
</html>

通过完成这个小项目,掌握了一些知识点,比如jdbc中的插入语句,以及一些HTML中标签的使用,例如中的action应该为对应servlet的url值。

发布了3 篇原创文章 · 获赞 0 · 访问量 75

猜你喜欢

转载自blog.csdn.net/weixin_43748179/article/details/104829563